Napisał: Patryk Krawaczyński
07/08/2023 w Bezpieczeństwo
P
odczas wykrywania różnego rodzaju szkodliwych procesów zazwyczaj używamy podstawowych poleceń systemowych, takich jak: ps, lsof oraz netstat (lub jego następcę ss). Dla przypomnienia: ps
– wyświetla aktualne procesy w systemie; netstat
– wyświetla połączenia sieciowe, tablice routingu i statystyki pakietów; lsof
– listuje otwarte deskryptory plików i procesy, które je otworzyły. Polecenia te opierają się na prostej koncepcji (w systemach *nix prawie wszystko jest reprezentowane jako deskryptor pliku: pliki, katalogi, połączenia sieciowe, potoki, zdarzenia itd.) i przydają się w wielu sytuacjach. W rezultacie polecenia te mogą zobaczyć wiele rzeczy i być użyte do odpowiedzi na wiele interesujących pytań.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
17/12/2022 w Pen Test
P
oniżej zaprezentuje, jak za pomocą polecenia mount ukryć dowolny proces w systemie przed takim poleceniem jak np. ps. Dokonamy tego dzięki funkcji bind. Klasyczne montowanie tworzy widok urządzenia pamięci masowej jako drzewa katalogów. Funkcja bind zamiast tego pobiera istniejące drzewo katalogów i replikuje je w innym punkcie. Montując katalog w ten sposób możemy myśleć o montowaniu jak o aliasie do innej ścieżki. Katalogi i pliki w są takie same jak w oryginale. Każda modyfikacja po jednej stronie jest natychmiast odzwierciedlana po drugiej stronie, ponieważ oba widoki przedstawiają te same dane. Na przykład, kiedy powiążemy katalog /tmp/narf
z /tmp/nfsec
, oba będą odwoływać się do tych samych danych:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
13/04/2021 w Bezpieczeństwo, Pen Test
W
yobraźmy sobie taki scenariusz – jesteś członkiem zespołu Red Team, który ma kompetencje w zakresie systemu Linux. Twoim zadaniem jest opracowanie ćwiczenia, w którym musisz zachować dostęp do skompromitowanego systemu przez jak najdłuższy czas. Posiadając uprawnienia administratora myślisz o dodaniu jakiegoś zadania w cron
lub innej klasycznej lokalizacji (np. rc.local
), ale wiesz że Blue Team je systematycznie sprawdza. Przez chwilę myślisz o doczepieniu tylnej furki jakieś binarce, tylko problem w tym, że dostęp ma być utrzymany jak najdłużej, a skompromitowana maszyna jest ustawiona na regularną aktualizację łatek bezpieczeństwa, więc wszelkie pliki wykonawcze lub inne krytyczne komponenty systemu mogą zostać nadpisane wersjami domyślnymi.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
28/05/2019 w Bezpieczeństwo, Pen Test
N
arzędzie to pozwala na podglądanie procesów bez konieczności posiadania uprawnień administratora. Pozwala zobaczyć polecenia uruchamiane przez innych użytkowników, zadania cron w trakcie ich wykonywania itp. Świetnie nadaje się do badania systemów podczas testów penetracyjnych oraz CTFach. Jak to możliwe, że widzimy polecenia innych użytkowników? Dopóki proces trwa wiele informacji jest widocznych w procfs. Jedynym problemem jest to, że trzeba czasem złapać te krótko żyjące procesy w bardzo krótkim czasie. Skanowanie katalogu /proc w poszukiwaniu nowych PIDów w nieskończonej pętli może zdać egzamin, ale tym samym będzie zużywać bardzo dużo zasobów procesora.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
10/04/2016 w CmdLineFu
Użycie polecenia timeout do uruchomienia wybranego polecenia na określony czas działania:
timeout 1h tcpdump -n -i eth0 -w network.pcap not host 192.168.1.5
lub
tcpdump -n -i eth0 -w & pid=$! ; (sleep 3600 ; kill $pid)
Napisał: Patryk Krawaczyński
11/04/2014 w Administracja
Jednym z sposobów uzyskania parent pid na przykład dla serwera nginx może być proste polecenie: ps -p `pidof -s nginx` -o ppid=
. Zwróci ono nam parent PID serwera nginx, który możemy dalej wykorzystać do przesłania sygnałów typu USR1
, QUIT
i innych… Do pewnego momentu jest to bezpieczne. Ponieważ wystarczy, że serwer nginx dostanie sygnał SIGHUP, a jego PPIDem według wymienionego polecenia nagle stanie się /sbin/init
aka PID 1
. Dalsze operowanie na wyniku tego polecenia (np. w skrypcie) może doprowadzić do dość drastycznych skutków: kill -INT 1
– restart systemu, kill -SEGV 1
, kill -ABRT 1
– kernel panic.
Napisał: Patryk Krawaczyński
15/03/2014 w Bezpieczeństwo
W
styczniu 2012 Vasiliy Kulikov zaproponował poprawkę do Linuksa, która poprzez dodanie frazy hidepid
do opcji montowania wirtualnego systemu plików procfs umożliwia ukrywanie procesów przed użytkownikami, do których dany proces nie należy. Patch został umieszczony w jądrze w wersji 3.3, a w między czasie backportowany do Debiana Wheezy i jego jądra w wersji 3.2 oraz RedHat Enterprise Linux 6.3 (2.6.32), jak i 5.9 (2.6.18).
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
22/05/2010 w Magazyny
D
la crackera włamującego się do cudzego systemu informatycznego najważniejsze jest… skuteczne zatarcie śladów po całej operacji. Nawet najbardziej spektakularne włamanie przy użyciu stworzonego przez siebie exploita nie przyniesie włamywaczowi wiele korzyści, jeśli nazajutrz pojawią się u niego agenci CBŚ.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
04/07/2009 w Debug
W
iększość z nas jest zaznajomiona z możliwościami typowego laptopa pod względem hibernacji. W tym trybie cała zawartość pamięci RAM zostaje zapisana na dysk naszej maszyny, a ona sama wyłączana. Przy ponownym uruchomieniu system jest odtwarzany dokładnie do tego samego stanu, przed którym został uśpiony, z wszystkimi programami, które były uruchomiony w taki sposób w jaki działały dotychczas.
[ czytaj całość… ]
Ostatni komentarz :