„Praktyczna analiza powłamaniowa. Aplikacja webowa w środowisku Linux”
Adam Ziaja • Wydawnictwo Naukowe PWN • ISBN 9788301193478 (ISBN-10: 8301193476)
W dzisiejszych czasach bezpieczeństwo aplikacji webowych jest jednym z najważniejszych elementów bezpieczeństwa Internetu, w tym serwerów udostępniających usługi w sieci. Włamania na serwery HTTP niosą jednak za sobą o wiele większe ryzyko niż podmiana zawartości strony. Cyberprzestępcy mogą uzyskać dostęp nie tylko do poświadczeń logowania użytkowników danej witryny ale również plików serwera co niesie za sobą o wiele szersze konsekwencje.
Książka o tematyce DFIR (Digital Forensics and Incident Response) z jednej strony pokazuje tradycyjne podejście informatyki śledczej, a z drugiej reagowania na incydenty (Live Forensics). Tematem przewodnim jest analiza powłamaniowa aplikacji webowej w środowisku Linux. Szczegółowo ukazuje techniczne podejście w tym analizę logów serwera Apache2 i systemu plików Linux Debian oraz zwraca uwagę na możliwości anti-forensics. Z książki czytelnicy dowiedzą się jak przeanalizować incydent związany z włamaniem na stronę, w tym jakie operacje przeprowadzał atakujący dzięki analizie osi czasu czy pamięci procesu backdoora. Poruszone zostały też tematy pokrewne takie jak pisanie jednolinijkowych skryptów w powłoce bash czy wykorzystywanie narzędzi anti-forensics do analizy.
Pozycja ta polecana jest osobom związanym z bezpieczeństwem informatycznym. Zawiera informacje przydatne szczególnie w pracy na stanowiskach technicznych wliczając w to informatyków śledczych, specjalistów bezpieczeństwa w SOC oraz CERT jak również biegłych sądowych z zakresu informatyki. Książka może być również z powodzeniem wykorzystywana do nauki przez studentów kierunków szczególnie związanych z informatyką śledczą czy samym bezpieczeństwem komputerowym.
Pobierz fragment: PDF, MOBI, ePUB.
Przykładowy fragment został udostępniony przez Wydawnictwo Naukowe PWN i nie oddaje rzeczywistego stanu książki ponieważ zawiera jedynie opisowy wstęp, a prawie cała reszta książka jest mocno praktyczna (na poziomie średniozaawansowanym).
Adam Ziaja <adam@adamziaja.com> ( adamziaja adamziaja) jest związany z bezpieczeństwem IT od kilkunastu lat, swoją karierę zawodową zaczynał od administracji systemami Linux w największym polskim portalu internetowym. Następnie pracował jako informatyk śledczy, tworząc ekspertyzy dla organów ścigania oraz wymiaru sprawiedliwości. Zajmował się przy tym głównie cyberprzestępczością i brał udział w zabezpieczaniu sprzętu komputerowego na miejscu przestępstw. Kolejnym krokiem w karierze była praca w zespole CSIRT (Computer Security Incident Response Team), gdzie zajmował się reagowaniem na incydenty naruszenia bezpieczeństwa oraz CTI (Cyber Threat Intelligence).
Był członkiem zwycięskiej drużyny na największych europejskich cywilnych ćwiczeniach z zakresu ochrony cyberprzestrzeni Cyber Europe 2014. Jest współautorem materiałów dydaktycznych Europejskiej Agencji ds. Bezpieczeństwa Sieci i Informacji (ENISA) dla zespołów CERT poświęconych m.in. informatyce śledczej oraz wykrywaniu i zwalczaniu cyberprzestępczości. Regularnie, od paru lat jest prelegentem na międzynarodowej konferencji naukowej Techniczne Aspekty Przestępczości Teleinformatycznej (TAPT) organizowanej przez Wyższą Szkołę Policji w Szczytnie.
Od kilku lat zajmuje się przede wszystkim ofensywnym bezpieczeństwem teleinformatycznym, przeprowadzając legalne, autoryzowane ataki w postaci testów penetracyjnych oraz red teamingu głównie dla podmiotów wchodzących w skład infrastruktury krytycznej. Pracował jako tester penetracyjny w międzynarodowej grupie bankowej oraz starszy konsultant cyberbezpieczeństwa w firmie wchodzącej w skład tzw. „wielkiej czwórki”.
Prywatnie zajmuje się bug huntingiem, za co otrzymał dziesiątki podziękowań od instytucji z całego świata, m.in. Adobe, Apple, BlackBerry, Deutsche Telekom, eBay, Harvard University, Nokia, VMware, Yahoo, Yandex, jak również polskich, takich jak Onet, Interia, Wirtualna Polska oraz Empik. Posiada certyfikaty z zakresu praktycznych sieciowych ataków, m.in. Offensive Security Certified Professional (OSCP), Offensive Security Wireless Professional (OSWP) oraz eLearnSecurity Web application Penetration Tester (eWPT).
Jest członkiem grupy non-profit MMD zrzeszającej osoby aktywnie zwalczające internetowe zagrożenia oraz biegłym sądowym z listy Sądu Okręgowego w Warszawie z zakresu informatyki, a szczególnie informatyki śledczej, analizy powłamaniowej, hackingu i cyberprzestępczości. Aktualnie prowadzi firmę Red Team zajmującą się szeroko pojętym bezpieczeństwem teleinformatycznym.
1. Wstęp Strona internetowa, błędy oraz errata O autorze Podziękowania 2. Zabezpieczanie danych 3. Podstawowe informacje o systemie Linux 4. Przyspieszony kurs pisania one-linerów 5. Analiza włamania na aplikację webową 5.1. Informacje o konfiguracji Apache2 5.2. Zapytania HTTP 5.3. Format logów 5.4. Najczęściej występujące ataki 5.4.1. SQL Injection (SQLi) 5.4.2. Remote Code Execution (RCE) 5.4.3. Local File Inclusion (LFI) 5.4.4. Remote File Inclusion (RFI) 5.4.5. Cross-Site Scripting (XSS) 5.4.6. Cross-Site Request Forgery (CSRF) 5.4.7. Server-Side Request Forgery (SSRF) 5.4.8. Shellshock (CVE-2014-6271) 5.4.9. Denial-of-Service (DoS) 5.5. Odzyskiwanie skasowanych logów 5.6. Łączenie wielu plików logów 5.7. Selekcja względem czasu 5.8. Wstępne rozpoznanie za pomocą automatycznych narzędzi 5.8.1. Wykorzystanie apache-scalp z regułami PHP-IDS 5.9. Wizualizacja logów 5.10. Wykorzystanie osi czasu 5.11. Analiza z wykorzystaniem programów powłoki 5.11.1. Konfiguracja oprogramowania wtop (logrep) 5.11.2. Wykorzystanie programu logrep (wtop) 5.12. Wykrywanie anomalii w logach 5.13. Analiza z wykorzystaniem programu Splunk 5.14. Wykrywanie backdoorów 5.15. Studium przypadków 5.15.1. Włamanie przez CMS Joomla 5.15.2. Atak słownikowy na CMS Wordpress 5.15.3. Wykonanie kodu z wykorzystaniem podatności LFI 5.16. Pisanie własnych narzędzi do analizy logów 5.17. Podsumowanie 6. Powłamaniowa analiza systemu Linux 6.1. Wykonanie kopii dysku 6.1.1. Zdalne wykonywanie obrazu dysku 6.2. Praca z obrazem dysku 6.2.1. Różnice w systemie plików 6.2.2. Weryfikacja pakietów 6.2.3. Baza hashy 6.2.4. Oś czasu 6.2.5. Weryfikacja na podstawie inode 6.2.6. Jądro systemu (kernel) 6.2.7. Moduły kernela 6.2.8. Narzędzia do wyszukiwania złośliwego oprogramowania 6.2.9. Analiza initrd (RAM dysk) 6.2.10. Logi 6.2.11. Konta użytkowników 6.2.12. Bity SUID i SGID 6.2.13. „Ukryte” pliki i katalogi 6.2.14. Odzyskiwanie usuniętych plików 6.2.15. Słowa kluczowe 6.2.16. Analiza pliku known_hosts 6.3. Praca na działającym systemie (Live Forensics) 6.3.1. Sudoers 6.3.2. Wirtualny system plików /proc 6.3.3. Zmienne środowiskowe 6.3.4. Biblioteki 6.3.5. Pakiety 6.3.6. Wykrywanie rootkitów 6.3.7. Weryfikacja konfiguracji 6.3.8. Otwarte pliki 6.3.9. Otwarte porty 6.3.10. „Ukryte” procesy 6.3.11. Sysdig 6.3.12. Podstawowa analiza działania programów 6.3.13. Zewnętrzne źródła 6.4. Analiza pamięci RAM 6.4.1. Wykonanie zrzutu pamięci 6.4.2. Tworzenie profilu pamięci 6.4.3. Analiza pamięci 6.5. Wykorzystywanie narzędzi anti-forensics do analizy 6.6. Podsumowanie 7. Analiza behawioralna złośliwego oprogramowania 7.1. Reguły Yara 8. Podsumowanie
Wybrane fragmenty recenzji mł. insp. dr hab. inż. Jerzy Kosiński – profesor Wyższej Szkoły Policji w Szczytnie, biegły sądowy:
Książka jest bogato ilustrowana przykładami, można wręcz powiedzieć, że to praktyczne działania związane z analizą powłamaniową są komentowane i wyjaśniane.
Zaletą książki jest jej aktualność (co nie jest często spotykane w opisywanym obszarze).
Dodatkowym atutem publikacji jest połączenie prezentacji wykorzystywanych narzędzi niekomercyjnych, z wyraźną ich przewagą i narzędzi komercyjnych, ale preferowanie wskazania manualnie przeprowadzonych analiz (włącznie z pisaniem własnych skryptów).
Dzięki takim książkom, każdy zainteresowany tematem użytkownik Internetu jest w stanie samodzielnie wykonać działania, które wydają się nieosiągalne dla niespecjalisty.
Dodatkowo następujące osoby przyczyniły się do recenzji merytorycznej oraz poprawy niedociągnięć: Dawid Skomski, Artur Byszko, Paweł Wyleciał, Dawid Osojca, Kacper Szurek, Mateusz Krzywicki, Dorota Kulas, Błażej Kantak, dr inż. Krystian Mączka (biegły sądowy), Daniel Suchocki (biegły sądowy), Gynvael Coldwind oraz Adam Zabrocki.
Przede wszystkim jest to lektura „dwustronna”. Z jednej strony może być przeznaczona dla specjalistów związanych z bezpieczeństwem informatycznym, którzy chcą poszerzyć swoją wiedzę oraz warsztat odnośnie informatyki śledczej i reagowania na incydenty. Z drugiej – adresatem publikacji mogą być osoby zajmujące się autoryzowanymi atakami, którym zależy na zostawieniu jak najmniejszej ilości śladów swojej aktywności. Znajdziemy tutaj bardzo dużo ilości praktycznej wiedzy, która jest poparta wieloletnim doświadczeniem samego autora.
Jak najbardziej podzielam zdanie dr hab. inż. Jerzego Kosińskiego, że książka Adama Ziaji jest warta polecenia. Jedna z bardziej praktycznych publikacji polskiego autorstwa, z jakimi ostatnio miałem przyjemność się zaznajomić. W dodatku po zastanowieniu – myślę, że nie jest to tylko lektura dla osób zainteresowanych badaniami kryminalistycznymi systemu Linux. Oprócz (nie)bezpieczników bardzo wiele administratorów tego systemu znajdzie tutaj dla siebie garść przydatnych informacji. Szczególnie w kontekście umiejętności reagowania na różnego rodzaju incydenty i późniejsze prowadzenie dochodzenia z zabezpieczonymi dowodami.
Moja to już tak zmęczona, bo czytam ją od dechy do dechy. Liczę na kolejne <3 pic.twitter.com/tcAcuGsCWQ
— Ghosth0uze (@ghosthouze) 25 lipca 2018
@adamziaja nie ukrywam że odkąd ja dziś odebrałem, pochłonęła mnie. Świetnie napisane. Polecam innym.. pic.twitter.com/2CqVz8LW6l
— tick (@linuksozerca) 26 września 2017
@adamziaja Kończę wertować "Praktyczną analizę powłamaniową..." -- świetna książka, gratulacje!
— Jaroslav Nahorny (@JaroslavNahorny) 17 sierpnia 2017
W tym miejscu pojawią się erraty wraz z podziękowaniami, zachęcam do zgłaszania. Przez ten formularz proszę o zgłaszanie również niedziałających odnośników, które pojawiają się w książce.
Skrypty oraz grafika z książki (dla lepszej czytelności) znajdują się w repozytorium git.