NFsec Logo

O statycznej analizie plików Microsoft Office słów kilka albo i więcej cz. II

30/11/2021 w Bezpieczeństwo Możliwość komentowania O statycznej analizie plików Microsoft Office słów kilka albo i więcej cz. II została wyłączona

W

tej części będziemy kontynuować statyczną analizę przykładowego dokumentu, ale postaramy się zajrzeć trochę głębiej i znaleźć jakie akcje ma za zadanie przeprowadzić makro zawarte w dokumencie. Wspomożemy się tutaj świetnym zestawem narzędzi autorstwa Didiera Stevensa, tutaj warto, a nawet trzeba wspomnieć o narzędziach innego autora – Philippe Lagadeca, które znacząco ułatwiają analizę dokumentów MS Office. Obydwa zestawy narzędzi często nachodzą na siebie funkcjonalnością i często są używane wymiennie (często, aby zweryfikować rezultaty). Nie będę wchodził w szczegóły, kto jest autorem dokładnie, którego (to pozostawiam jako zadanie domowe dla Czytelnika). Dodatkowo zaznaczę, że nawet zaprezentowane narzędzia to tylko specyficzny wycinek (np. analiza obiektów OLE) wszystkich zasobów opublikowanych przez tych badaczy.
[ czytaj całość… ]

O statycznej analizie plików Microsoft Office słów kilka albo i więcej cz.I

12/11/2021 w Bezpieczeństwo Możliwość komentowania O statycznej analizie plików Microsoft Office słów kilka albo i więcej cz.I została wyłączona

Bardzo często jesteśmy zmuszeni szybko ocenić potencjalną szkodliwość pliku MS Office, aby zobaczyć czy dany plik należy dalej analizować, czy też możemy od razu stwierdzić, że zawiera on potencjalnie złośliwy kod. Często otrzymujemy różnego rodzaju wiadomości na nasze skrzynki e-mail i czasem nawet wiadomości od znanych nam osób wyglądają dziwnie lub zupełnie nie poruszają tematu naszych dotychczasowych konwersacji, a nie chcemy wysyłać plików od razu do sandboksów typu Virustotal. Tu przechodzimy do meritum tytułu. Statyczna analiza jest próbą określenia potencjalnych oznak złośliwego kodu bez uruchamiania tego pliku.
[ czytaj całość… ]

ioc2rpz – gdzie wywiad ds. zagrożeń spotyka się z DNS

13/10/2021 w Bezpieczeństwo Możliwość komentowania ioc2rpz – gdzie wywiad ds. zagrożeń spotyka się z DNS została wyłączona

W

zależności od przeczytanego raportu możemy dowiedzieć się, że szkodliwe oprogramowanie (ang. malware) w 8090% przypadków używa systemu DNS (ang. Domain Name System) do prowadzenia swoich kampanii. Z kolei 68% (stan na 2016 rok) organizacji nie monitoruje swoich rekursywnych systemów DNS. Jakiś czas temu pokazałem jak łatwo zaimplementować mechanizm RPZ (ang. Response Policy Zones) w serwerze ISC BIND, aby automatycznie blokować domeny pochodzące z projektu CERT Polska. Co w przypadku, gdybyśmy chcieli mieć więcej takich źródeł?
[ czytaj całość… ]

Kilka przydatnych jednolinijkowców dla informatyki śledczej Linuksa

12/08/2021 w Bezpieczeństwo, CmdLineFu Możliwość komentowania Kilka przydatnych jednolinijkowców dla informatyki śledczej Linuksa została wyłączona

sudo grep -F '(deleted)' /proc/*/maps | grep -E '\s[r\-][w\-]x[sp\-]\s'

– znajdź działające procesy z usuniętymi plikami wykonalnymi.

sudo find /tmp -executable -not -empty -type b,c,f,l,p

– znajdź pliki wykonalne w katalogu /tmp.

sudo grep -a -E '^.{,5}\[' /proc/[0-9]*/cmdline

– znajdź procesy z nawiasami kwadratowymi (używane przez złośliwe oprogramowanie, aby wyglądały jak procesy jądra).

sudo grep -E '\s[r\-][w\-]x[sp\-]\s' /proc/*/maps | awk -F ' ' '{if(length($6)==0){split($1, arr, "/");print arr[3]}}' \
| sort | uniq | xargs -I {} -n 1 bash -c 'cat /proc/{}/cmdline; echo'

– znajdź i wyświetl procesy mające niezmapowane sekcje wykonalne.

Więcej informacji: Ściągawka z informatyki śledczej w wykrywaniu włamań za pomocą linii poleceń Linuksa, Thread with one-liners bash commands to search for malware in a Linux host

Badanie szkodliwych procesów za pomocą deskryptorów plików

22/03/2021 w Bezpieczeństwo Możliwość komentowania Badanie szkodliwych procesów za pomocą deskryptorów plików została wyłączona

O

d samego początku Uniksa (na którym oparty jest Linux) wszystko jest plikiem. Możemy spierać się o szczegóły, ale w większości przypadków jest to prawda. W dodatku w systemach Unix i pokrewnych systemach operacyjnych istnieje taki obiekt, jak deskryptor pliku (ang. file descriptorFD, rzadziej fildes), który jest abstrakcyjnym wskaźnikiem / uchwytem (ang. handle) używanym do uzyskiwania dostępu do pliku lub innego zasobu wejścia / wyjścia, takiego jak potok (ang. pipe) lub gniazdo sieciowe (ang. network socket). Deskryptory plików stanowią część interfejsu programowania aplikacji POSIX – są nieujemną liczbą całkowitą, zwykle reprezentowaną w języku programowania C jako typ int (ang. integer) (wartości ujemne są zarezerwowane, aby wskazać „brak wartości” lub stan błędu).
[ czytaj całość… ]

Wykrywanie szkodliwego oprogramowania stworzonego przez memfd_create()

20/02/2021 w Bezpieczeństwo Możliwość komentowania Wykrywanie szkodliwego oprogramowania stworzonego przez memfd_create() została wyłączona

Z

memfd_create() spotkaliśmy się przy okazji omawiania obchodzenia flagi montowania noexec. Nie jest to jedyny przypadek, gdzie pomysł bezplikowej metody jest stosowany. Złośliwe oprogramowanie również stosuje bezplikową technikę do wstrzykiwania się w ramach działającego systemu Linux, aby nie pozostawić żadnych śladów na dysku. Przypomnijmy szybko, co robi wywołanie memfd_create(): pozwala na utworzenie pliku, który rezyduje w części pamięci RAM. Strona manualna opisuje to jako:
[ czytaj całość… ]

RPZ z listą od CERT Polska

11/11/2020 w Bezpieczeństwo Możliwość komentowania RPZ z listą od CERT Polska została wyłączona

O

d wersji 9.8.1 serwera BIND dostępny jest mechanizm DNS RPZ (ang. Domain Name Service Response Policy Zones). Główną motywacją do stworzenia tej funkcji była ochrona użytkowników przed zagrożeniami w internecie związanymi z złośliwymi domenami, nazwami hostów lub innymi serwerami nazw. Cyberprzestępcy zwykle używają tych samych domen na wielu ofiarach, dopóki nie zostaną im odebrane. Niestety zdolność branży bezpieczeństwa internetowego w kwestii likwidacji infrastruktury przestępczej u rejestratorów domen, dostawcach hostingu lub dostawcach usług internetowych z różnych czynników nie zawsze jest możliwa. Korzystając z RPZ administrator sieci może wdrożyć własne zasady ochrony przed niebezpiecznymi domenami w oparciu o reputację zebraną od dostawców usług bezpieczeństwa niemal w czasie rzeczywistym.
[ czytaj całość… ]

YAYA – Yet Another Yara Automaton

11/10/2020 w Bezpieczeństwo Możliwość komentowania YAYA – Yet Another Yara Automaton została wyłączona

E

FF Threat Lab spędza dużo czasu na szukaniu złośliwego oprogramowania, które atakuje podatne grupy, ale również klasyfikuje próbki złośliwego oprogramowania, z którymi się spotykają. Jednym z narzędzi, którego używają jest YARA opisana jako szwajcarski nóż dla badaczy złośliwego oprogramowania. Społeczność badaczy malware zgromadziła przez lata wiele przydatnych reguł YARA i wiele z nich wykorzystywanych jest w różnych badaniach. Jednym z takich repozytoriów reguł YARA jest przewodnik Awesome YARA, który zawiera odnośniki do dziesiątek wysokiej jakości repozytoriów YARA.
[ czytaj całość… ]

Odzyskiwanie skasowanej binarki z aktywnego procesu szkodliwego oprogramowania

17/06/2020 w Bezpieczeństwo Możliwość komentowania Odzyskiwanie skasowanej binarki z aktywnego procesu szkodliwego oprogramowania została wyłączona

S

zkodliwe oprogramowanie na systemach Linux bardzo często usuwa swoje pliki binarne po uruchomieniu. Ma to na celu oszukanie skanerów oraz systemów kontroli integralności, które bazują na analizie plików. Dla przykładu takiego zachowania posłużymy się kopią polecenia sleep:

cd /tmp
cp /bin/sleep x
./x 3600 &
rm x

Możemy teraz sprawdzić, czy rzeczywiście plik już nie istnieje:

root@darkstar:~# ls -al /tmp/x
ls: cannot access /tmp/x: No such file or directory

Spójrzmy teraz na listę procesów:

root      1437  0.0  0.0   6176   780 pts/1    S    21:11   0:00 ./x 3600

Idąc tropem PID możemy sprawdzić informacje w /proc

root@darkstar:/tmp# ls -al /proc/1437/exe
lrwxrwxrwx 1 root root 0 Jun 17 21:15 /proc/1437/exe -> '/tmp/x (deleted)'

System pokazuje nam skasowany obiekt w podanej ścieżce, ale system plików Linuksa tak naprawdę nie usunie tego pliku, dopóki uruchomiony proces ma go w stanie otwartym. Plik tam jest, ale po prostu nie jest nam pokazywany. Link symboliczny /proc/1437/exe z łatwością jest nam w stanie dostarczyć plik binarny, który uruchomił dany proces. Po prostu możemy go skopiować w dowolne miejsce, aby poddać go dalszej analizie:

root@darkstar:/tmp# cp /proc/1437/exe /tmp/y
root@darkstar:/tmp# sha1sum /tmp/y
bebcce23072c4d831ce8e2822a0858d6aa813067  /tmp/y
root@darkstar:/tmp# sha1sum /bin/sleep
bebcce23072c4d831ce8e2822a0858d6aa813067  /bin/sleep

Więcej informacji: How To Recover A Deleted Binary From Active Linux Malware

Złudne bezpieczeństwo na systemie stacjonarnym

15/06/2020 w Bezpieczeństwo Możliwość komentowania Złudne bezpieczeństwo na systemie stacjonarnym została wyłączona

C

zasami użytkownicy systemów stacjonarnych wychodzą z błędnego założenia, że jeśli dla kluczowych plików (typu: .bashrc, .bash_profile, .profile) w swoim katalogu domowym zmienią właściciela na administratora (root) – będzie to znaczne utrudnienie dla atakującego, aby zmusić użytkownika do uruchomienia szkodliwego skryptu lub pliku, a tym samym osiągnąć eskalację uprawnień na systemie. Nic bardziej mylnego. Należy pamiętać, że jeśli nasz użytkownik posiada prawa zapisu do katalogu, w którym znajdują się pliki nie z jego prawami to nadal może je usunąć:

agresor@darkstar:~$ ls -la
total 36
drwxr-xr-x 5 agresor agresor 4096 Jun 14 21:09 .
drwxr-xr-x 3 root    root    4096 Dec  1  2019 ..
-rw------- 1 agresor agresor 2214 Jun 14 20:59 .bash_history
-rw-r--r-- 1 root    root     220 Apr  4  2018 .bash_logout
-rw-r--r-- 1 root    root    3771 Apr  4  2018 .bashrc
drwx------ 2 agresor agresor 4096 Dec  1  2019 .cache
drwx------ 3 agresor agresor 4096 Dec  1  2019 .gnupg
drwxrwxr-x 3 agresor agresor 4096 Dec  6  2019 .local
-rw-r--r-- 1 agresor agresor  807 Apr  4  2018 .profile
-rw-r--r-- 1 agresor agresor    0 Dec  1  2019 .sudo_as_admin_successful
agresor@darkstar:~$ chmod 777 .bashrc
chmod: changing permissions of '.bashrc': Operation not permitted
agresor@darkstar:~$ echo "# Malware code" >> .bashrc
-bash: .bashrc: Permission denied
agresor@darkstar:~$ cat .bashrc > /tmp/foo && rm -f .bashrc && cat /tmp/foo > .bashrc
agresor@darkstar:~$ echo "# Malware code" >> .bashrc
agresor@darkstar:~$ tail -1 .bashrc
# Malware code

Dlatego jeśli dojdzie do sytuacji, w której dana aplikacja pozwoli na wykonanie polecenia na systemie – ochrona plików poprzez zmianę ich właściciela będzie nieskuteczna – ze względu na możliwość ich usunięcia i odtworzenia pierwotnego właścicielstwa. W celu umożliwienia takiego „zabezpieczenia” należy zmienić właściciela katalogu $HOME na konto administratora oraz nadanie bezpiecznego atrybutu tekstu (ang. save-text attribute / sticky bit) na ten katalog – ale taki ruch może mieć jeszcze gorsze konsekwencje niż pozostawienie standardowych uprawnień. Bardziej rozsądnym rozwiązaniem, które nie bazuje na prawach dostępu – jest nałożenie (chattr +i .bashrc) atrybutu niezmienności (ang. immutable) na w/w pliki z poziomu administratora.