NFsec Logo

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.

Wykrywanie pozorowania procesów jądra za pomocą linii poleceń

06/06/2020 w Bezpieczeństwo Możliwość komentowania Wykrywanie pozorowania procesów jądra za pomocą linii poleceń została wyłączona

W

nawiązaniu do „Ściągawki z informatyki śledczej w wykrywaniu włamań za pomocą linii poleceń Linuksa” dzisiaj zajmiemy się maskowaniem procesów, które czasem jest wykorzystywane przez złośliwe oprogramowanie. Z pomocą ponownie przyjdzie nam magia linii poleceń Linuksa, która umożliwi nam zdemaskowanie prawdziwego intruza w systemie. Na początku odpowiedzmy sobie na pytanie: czym jest maskarada procesów jądra Linux? Otóż w systemie Linux jądro posiada wiele własnych wątków utworzonych w celu ułatwienia wykonywania zadań systemowych. Wątki te mogą służyć do planowania obsługi zadań (ang. scheduling), operacji I/O na urządzeniach blokowych, wykonać transakcje księgowania dla systemów plików, okresowej synchronizacji zmodyfikowanych stron pamięci itd.
[ czytaj całość… ]

TicketTrick w praktyce, czyli przejmowanie Slack zespołu Chromium

24/05/2020 w Bezpieczeństwo Możliwość komentowania TicketTrick w praktyce, czyli przejmowanie Slack zespołu Chromium została wyłączona

J

ak możemy sobie przypomnieć atak typu TicketTrick II polega na wykorzystaniu źle skonfigurowanych grup Google. W celu praktycznego przykładu posłużę się jednym ze zgłoszeń, które powędrowało do zespołu Chromium. Żadne wielkie tajemnice nie zostały poznane, ani żadne wielkie restrykcje nie zostały złamane ponieważ:

To join Chromium’s Slack, the organization or person needs to be listed in Chromium’s AUTHOR file. If you have ever contributed a change or belong to one of the active contributor organizations you will be there. Anyone with a @chromium.org address can join directly. Others will have to follow an invite link that you get by mailing a request to chromium-slack-invites (at) chromium.org.

[ czytaj całość… ]

Mozilla Observatory

02/05/2020 w Bezpieczeństwo Możliwość komentowania Mozilla Observatory została wyłączona

P

odczas słuchania Rozmowy Kontrolowanej z udziałem Michała Purzyńskiego padło narzędzie Observatory od Mozilli. Okazuje się, że w jednym miejscu jesteśmy w stanie sprawdzić konfigurację kilku mechanizmów bezpieczeństwa naszej strony. Od nagłówków HTTP (w tym szczególnie ustawień polityki CSP) poprzez konfigurację TLS, a na opcjonalnych testach dla SSH kończąc. Dodatkowo jeśli interesuje nas wygenerowanie bezpiecznych konfiguracji dla najpopularniejszych serwerów możemy wykorzystać narzędzie Mozilla SSL Configuration Generator.

Więcej informacji: Konfiguracja nagłówków bezpieczeństwa na A+, HTTP Strict Transport Security – wymuszamy SSL na przeglądarkach, Konfiguracja SSL dla Apache na 5+, Konfiguracja SSL dla nginx na 5+, Audytujemy algorytmy szyfrowania SSH

Bezpieczna skracarka i wklejarka

01/05/2020 w Bezpieczeństwo Możliwość komentowania Bezpieczna skracarka i wklejarka została wyłączona

J

eśli interesuje nas stworzenie w naszej sieci firmowej usługi do skracania adresów lub wklejania i udostępniania kawałków teksu – aby nasi użytkownicy nie korzystali z zewnętrznych serwisów i tym samym doprowadzali do wycieków wrażliwych informacji – możemy zainteresować się dwoma projektami. Pierwszy z nich to skracarka anoni.sh, który nie loguje żadnych interakcji użytkownika (tylko anonimowa analityka za pomocą znaczników czasu umożliwiająca śledzenie ogólnego wykorzystania) oraz umożliwia ustawienie własnego (czytaj: odpowiednio długiego i skomplikowanego) klucza. Jego kod dostępny jest na serwisie github, co umożliwia nam własną instalację. Drugim jest minimalistyczny projekt wzorowany na wklejarce pastebin o otwartym kodzie źródłowym, w którym serwer nie posiada wiedzy o wklejanych danych (dane są szyfrowane i deszyfrowane w przeglądarce przy użyciu 256-bitowego AES GCM). Ponadto mamy możliwość ustawienia czasowej retencji, hasła oraz możliwości zniszczenia zawartości od razu po przeczytaniu.

Gdzie entropia tam szkodliwe oprogramowanie

24/04/2020 w Bezpieczeństwo Możliwość komentowania Gdzie entropia tam szkodliwe oprogramowanie została wyłączona

E

ntropia może być wykorzystywana jako miara stopnia losowości. Wiele plików wykonywalnych złośliwego oprogramowania jest spakowana, aby uniknąć wykrycia i utrudnić inżynierię wsteczną (ang. reverse engineering). Twórcy szkodliwego oprogramowania często wykorzystują pakowanie lub zaciemnianie, aby utrudnić wykrycie lub analizę plików. Większość standardowych plików binarnych systemu Linux nie jest spakowanych, ponieważ nie próbują ukryć tego, czym są. Wyszukiwanie plików wykonywalnych o wysokiej entropii to dobry sposób na znalezienie programów, które mogą być złośliwe. Dla danych binarnych wskaźnik 0.0 określa nielosowość, a 8.0 pokazuje zupełną losowość. Dobre szyfrowanie wygląda jak losowy biały szum i będzie bliskie wskaźnika 8.0. Dobra kompresja usuwa zbędne dane sprawiając, że wydają się bardziej losowe niż gdyby kompresja nie miała miejsca i zwykle wynoszą 7.7 lub więcej.
[ czytaj całość… ]

Ściągawka z informatyki śledczej w wykrywaniu włamań za pomocą linii poleceń Linuksa

16/04/2020 w Bezpieczeństwo Możliwość komentowania Ściągawka z informatyki śledczej w wykrywaniu włamań za pomocą linii poleceń Linuksa została wyłączona

C

raig H. Rowland na konferencji Purplecon 2018 opowiedział o szybkiej ocenie kompromitacji systemu Linux. Jak zauważył, 90% wdrożeń opartych na publicznych chmurach obliczeniowych odbywa się na systemie operacyjnym Linux. Nawet jeśli nie mamy z nim bezpośrednio do czynienia z powodu wysokich poziomowo abstrakcji i wywołań (np. API) – prędzej czy później natchniemy się na niego, a jako przyszły administrator dobrze posiadać wiedzę o jego działaniu oraz czy jego zachowanie nie budzi jakiś zastrzeżeń. Jeśli posiadamy podejrzenie, że doszło do naruszenia jego bezpieczeństwa – nie panikujmy. Podstępując pochopnie możemy tylko pogorszyć sytuację poprzez zniszczenie krytycznej informacji z punktu widzenia analizy pozwalającej ustalić główną przyczynę włamania.
[ czytaj całość… ]

AppArmor – Zbroja dla (web)aplikacji

10/04/2020 w Bezpieczeństwo Możliwość komentowania AppArmor – Zbroja dla (web)aplikacji została wyłączona

A

ppArmor to system obowiązkowej kontroli dostępu (ang. Mandatory Access ControlMAC), który jest rozszerzeniem jądra (ang. Linux Security ModulesLSM) w celu ograniczenia programów do określonego zestawu zasobów. Model bezpieczeństwa AppArmor polega na przywiązywaniu atrybutów kontroli dostępów z programami, a nie z użytkownikami. Ograniczenia są obsługiwane za pomocą profili ładowanych do jądra – najczęściej podczas rozruchu systemu. Profile posiadają zazwyczaj dwa tryby pracy: egzekwowania (ang. enforcement) oraz uskarżania (ang. complain). Profile załadowane w trybie egzekwowania zasad spowodują wymuszanie ograniczeń zdefiniowanych w profilu, a także zgłaszanie prób ich naruszenia za pomocą daemona syslog lub auditd. Profile w trybie składania skarg nie będą egzekwować zasad tylko raportować próby ich naruszenia. Istnieje jeszcze trzeci tryb – audytu (ang. audit), w którym logowane są wszystkie sukcesy i niepowodzenia stosowania zasad z profilu.
[ czytaj całość… ]

Tsurugi Linux

01/03/2020 w Bezpieczeństwo Możliwość komentowania Tsurugi Linux została wyłączona

T

surugi Linux jest dystrybucją typu DFIR (ang. Digital Forensic in Incident Response), czyli coś dla specjalistów informatyki śledczej zajmujących się wsparciem reakcji na incydenty. Został stworzony przez weteranów takich dystrybucji, jak Deft oraz Blacktrack jako w pełni darmowy, niezależny od komercyjnych marek projekt. Jego głównym celem jest dzielenie się wiedzą i „oddawanie jej społeczności”. Jego nazwa – Tsurugi (剣) – oznacza legendarny japoński miecz z podwójnym ostrzem używany przez starożytnych japońskich mnichów. Został podzielony na trzy typy:
[ czytaj całość… ]