Jakiś czas temu pisałem o , ale trochę skromne i chaotyczne. Następnie zdecydowałem się rozszerzyć listę narzędzi w recenzji, nadać artykułowi strukturę i uwzględnić krytykę (wielkie dzięki o radę) i wysłałem go na konkurs w SecLab (i opublikowałem , ale z oczywistych powodów nikt jej nie widział). Konkurs się zakończył, wyniki zostały ogłoszone i z czystym sumieniem mogę go (artykuł) opublikować na łamach Habré.
Bezpłatne narzędzia Pentestera do aplikacji internetowych
W tym artykule omówię najpopularniejsze narzędzia do pentestingu (testów penetracyjnych) aplikacji internetowych wykorzystujących strategię „czarnej skrzynki”.
Aby to zrobić, przyjrzymy się narzędziom, które pomogą w tego typu testach. Rozważ następujące kategorie produktów:
- Skanery sieciowe
- Skanery naruszeń skryptów internetowych
- Eksploatacja
- Automatyzacja wtrysków
- Debuggery (sniffery, lokalne serwery proxy itp.)
Niektóre produkty mają uniwersalny „charakter”, dlatego będę je klasyfikować w kategorii, w której mająоlepszy wynik (subiektywna opinia).
Skanery sieciowe.
Głównym zadaniem jest wykrycie dostępnych usług sieciowych, zainstalowanie ich wersji, określenie systemu operacyjnego itp.
Nmap
to bezpłatne narzędzie typu open source do analizy sieci i audytu bezpieczeństwa systemu. Agresywni przeciwnicy konsoli mogą korzystać z Zenmap, czyli GUI dla Nmapa.
To nie jest tylko „inteligentny” skaner, to poważne, rozszerzalne narzędzie (jedną z „niezwykłych funkcji” jest obecność skryptu sprawdzającego węzeł pod kątem obecności robaka „" (wspomniany ). Typowy przykład użycia:
nmap -A -T4 localhost
-A do wykrywania wersji systemu operacyjnego, skanowania i śledzenia skryptów
-Ustawienie kontroli czasu T4 (im więcej, tym szybciej, od 0 do 5)
localhost – host docelowy
Coś mocniejszego?
nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost
Jest to zestaw opcji z profilu „powolne kompleksowe skanowanie” w Zenmap. Jego ukończenie zajmuje dość dużo czasu, ale ostatecznie zapewnia bardziej szczegółowe informacje, które można znaleźć na temat systemu docelowego. , jeśli zdecydujesz się zejść głębiej, polecam również przetłumaczenie artykułu .
Nmap otrzymał tytuł „Produktu Bezpieczeństwa Roku” od takich czasopism i stowarzyszeń jak Linux Czasopismo, Info World, LinuxQuestions.Org i Codetalker Digest.
Co ciekawe, Nmap można zobaczyć w filmach „Matrix Reaktywacja”, „Szklana pułapka 4”, „Ultimatum Bourne’a”, „Hottabych” i .
IP-Tools
- rodzaj zestawu różnych narzędzi sieciowych, wyposażony w GUI, „dedykowany” użytkownikom systemu Windows.
Skaner portów, współdzielone zasoby (współdzielone drukarki/foldery), WhoIs/Finger/Lookup, klient telnet i wiele więcej. Po prostu wygodne, szybkie i funkcjonalne narzędzie.
Nie ma szczególnego sensu rozważanie innych produktów, ponieważ w tym obszarze jest wiele narzędzi i wszystkie mają podobne zasady działania i funkcjonalność. Mimo to nmap pozostaje najczęściej używanym.
Skanery naruszeń skryptów internetowych
Próba znalezienia popularnych luk w zabezpieczeniach (SQL inj, XSS, LFI/RFI itp.) lub błędów (nie usunięte pliki tymczasowe, indeksowanie katalogów itp.)
Skaner podatności sieci Acunetix
— z linku widać, że jest to skaner xss, ale nie jest to do końca prawdą. Wersja darmowa, dostępna tutaj, zapewnia całkiem sporo funkcjonalności. Zazwyczaj osoba, która uruchamia ten skaner po raz pierwszy i po raz pierwszy otrzymuje raport na temat swoich zasobów, doświadcza lekkiego szoku, a kiedy to zrobisz, zrozumiesz dlaczego. Jest to bardzo potężny produkt do analizy wszelkiego rodzaju podatności na stronie internetowej i działa nie tylko ze zwykłymi stronami PHP, ale także w innych językach (chociaż różnica w języku nie jest wskaźnikiem). Nie ma sensu opisywać instrukcji, ponieważ skaner po prostu „wychwytuje” działania użytkownika. Coś podobnego do „dalej, dalej, dalej, gotowe” w typowej instalacji oprogramowania.
Nikt
To jest przeszukiwacz sieciowy Open Source (GPL). Eliminuje rutynową pracę ręczną. Przeszukuje witrynę docelową pod kątem nieusuniętych skryptów (niektóre test.php, indeks_.php itp.), narzędzi do administrowania bazami danych (/phpmyadmin/, /pma i tym podobne) itp., czyli sprawdza zasób pod kątem najczęstszych błędów zwykle spowodowane czynnikami ludzkimi.
Dodatkowo, jeśli znajdzie jakiś popularny skrypt, sprawdza go pod kątem udostępnionych exploitów (które znajdują się w bazie danych).
W raportach dostępne są „niechciane” metody, takie jak PUT i TRACE
I tak dalej. Jest to bardzo wygodne, jeśli na co dzień pracujesz jako audytor i analizujesz strony internetowe.
Z minusów chciałbym zwrócić uwagę na wysoki odsetek fałszywych alarmów. Na przykład, jeśli Twoja witryna zawsze wyświetla błąd główny zamiast błędu 404 (kiedy powinien wystąpić), skaner powie, że Twoja witryna zawiera wszystkie skrypty i wszystkie luki w swojej bazie danych. W praktyce nie zdarza się to tak często, ale tak naprawdę wiele zależy od struktury Twojej witryny.
Klasyczne użycie:
./nikto.pl -host localhost
Jeśli potrzebujesz autoryzacji na stronie, możesz ustawić plik cookie w pliku nikto.conf, zmienną STATIC-COOKIE.
Wiki
- Nikto under Windows, ale z pewnymi dodatkami, takimi jak logika rozmyta do sprawdzania błędów, użycie GHDB, pobieranie linków do zasobów i folderów oraz monitorowanie żądań/odpowiedzi HTTP w czasie rzeczywistym. Wikto jest napisany w języku C# i wymaga platformy .NET.
Skifisz
- skaner podatności sieci z (znany jako lcamtuf). Napisany w C, wieloplatformowy (Win wymaga Cygwin). Rekurencyjnie (i przez bardzo długi czas, około 20 ~ 40 godzin, chociaż ostatni raz zadziałało w moim przypadku 96 godzin) przeszukuje całą witrynę i znajduje wszelkiego rodzaju luki w zabezpieczeniach. Generuje również duży ruch (kilka GB przychodzącego/wychodzącego). Ale wszystkie środki są dobre, zwłaszcza jeśli masz czas i zasoby.
Typowe zastosowanie:
./skipfish -o /home/reports www.example.com
W folderze „raporty” będzie raport w formacie html, .
w3af 
— Web Application Attack and Audit Framework, skaner podatności sieciowej typu open source. Ma GUI, ale możesz pracować z konsoli. Dokładniej jest to framework z .
Mogłabym bez końca opowiadać o jego zaletach, ale lepiej samemu spróbować :]
Typowa praca z nim polega na wybraniu profilu, określeniu celu i, faktycznie, uruchomieniu go.
Ramy bezpieczeństwa Mantry
to marzenie, które się spełniło. Zbiór bezpłatnych i otwartych narzędzi bezpieczeństwa informacji wbudowanych w przeglądarkę internetową.
Bardzo przydatne podczas testowania aplikacji webowych na wszystkich etapach.
Użytkowanie sprowadza się do zainstalowania i uruchomienia przeglądarki.
Tak naprawdę w tej kategorii jest wiele narzędzi i dość trudno jest wybrać z nich konkretną listę. Najczęściej każdy pentester sam określa zestaw narzędzi, których potrzebuje.
Eksploatacja
W celu zautomatyzowanego i wygodniejszego wykorzystania luk w zabezpieczeniach zapisywane są exploity w oprogramowaniu i skryptach, którym wystarczy przekazać parametry, aby wykorzystać lukę w zabezpieczeniach. Istnieją również produkty, które eliminują potrzebę ręcznego wyszukiwania exploitów, a nawet stosowania ich w locie. Kategoria ta zostanie teraz omówiona.
Framework Metasploit 
- rodzaj potwora w naszym biznesie. Potrafi tak wiele, że instrukcja obejmie kilka artykułów. Przyjrzymy się automatycznej eksploatacji (nmap + metasploit). Konkluzja jest taka: Nmap przeanalizuje potrzebny nam port, zainstaluje usługę, a metasploit spróbuje zastosować do niego exploity w oparciu o klasę usługi (ftp, ssh itp.). Zamiast instrukcji tekstowych wstawię filmik, dość popularny na temat autopwn

Lub możemy po prostu zautomatyzować działanie potrzebnego exploita. Np:
msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP]
msf auxiliary(vpn_3000_ftp_bypass) > run
Tak naprawdę możliwości tego frameworka są bardzo rozbudowane, więc jeśli zdecydujesz się zejść głębiej, przejdź do
Armitage'a
— OVA GUI gatunku cyberpunk dla Metasploit. Wizualizuje cel, rekomenduje exploity i zapewnia zaawansowane funkcje frameworka. Ogólnie dla tych, którzy lubią, żeby wszystko wyglądało pięknie i efektownie.
Screencast:

Tenable Nessus®
- może zrobić wiele rzeczy, ale jedną z możliwości, których potrzebujemy, jest określenie, które usługi zawierają exploity. Darmowa wersja produktu „tylko dla domu”
Użycie:
- Pobrany (dla Twojego systemu), zainstalowany, zarejestrowany (klucz zostanie wysłany na Twój e-mail).
- Uruchomiłem serwer, dodałem użytkownika do Nessus Server Manager (przycisk Zarządzaj użytkownikami)
- Idziemy pod wskazany adres
https://localhost:8834/
i pobierz klienta flash w przeglądarce
- Skany -> Dodaj -> uzupełnij pola (wybierając odpowiadający nam profil skanowania) i kliknij Skanuj
Po pewnym czasie raport ze skanowania pojawi się w zakładce Raporty
Aby sprawdzić praktyczną podatność usług na exploity, możesz skorzystać z opisanego powyżej Metasploit Framework lub spróbować znaleźć exploita (np. , , itp.) i użyj go ręcznie przeciwko jego systemu
IMHO: zbyt obszerne. Sprowadziłem go jako jednego z liderów w tym kierunku branży oprogramowania.
Automatyzacja wtrysków
Wiele skanerów aplikacji internetowych wyszukuje zastrzyki, ale nadal są to tylko skanery ogólne. Istnieją narzędzia, które zajmują się konkretnie wyszukiwaniem i wykorzystywaniem zastrzyków. Porozmawiamy o nich teraz.
sqlmap
— narzędzie typu open source do wyszukiwania i wykorzystywania zastrzyków SQL. Obsługuje serwery baz danych takie jak: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Typowe użycie sprowadza się do linii:
python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Podręczników jest wystarczająco dużo, w tym w języku rosyjskim. Oprogramowanie znacznie ułatwia pracę pentesterowi podczas pracy na tym obszarze.
Dodam oficjalną demonstrację wideo:

bsqlbf-v2
— skrypt Perla, brute-forcer do „ślepych” zastrzyków SQL. Działa zarówno z wartościami całkowitymi w adresie URL, jak i z wartościami łańcuchowymi.
Obsługiwana baza danych:
- MS-SQL
- MySQL
- PostgreSQL
- wyrocznia
Przykład użycia:
./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1
-adres URL — Link z parametrami
-ślepy ty — parametr do wstrzykiwania (domyślnie ostatni pobierany jest z paska adresu)
-sql "wybierz nazwę_tabeli z imformation_schema.tables limit 1 offset 0" — nasze dowolne żądanie do bazy danych
-baza danych 1 — serwer bazy danych: MSSQL
-typ 1 — rodzaj ataku, „ślepy” wstrzyknięcie, oparty na odpowiedziach „Prawda” i „Błąd” (np. błędy składniowe).
Debugery
Z narzędzi tych korzystają głównie programiści, gdy mają problemy z wynikami wykonania swojego kodu. Ale ten kierunek jest również przydatny w przypadku pentestingu, kiedy możemy na bieżąco zastępować potrzebne nam dane, analizować, co przychodzi w odpowiedzi na nasze parametry wejściowe (na przykład podczas fuzzingu) itp.
Apartament Burp
— zestaw narzędzi pomagających w przeprowadzaniu testów penetracyjnych. To jest w Internecie w języku rosyjskim z Raz0r (choć na rok 2008).
Darmowa wersja zawiera:
- Burp Proxy to lokalny serwer proxy, który pozwala modyfikować już wygenerowane żądania z przeglądarki
- Burp Spider - pająk, wyszukuje istniejące pliki i katalogi
- Burp Repeater - ręczne wysyłanie żądań HTTP
- Burp Sequencer - analizowanie losowych wartości w formularzach
- Burp Decoder to standardowy koder-dekoder (html, base64, hex itp.), którego są tysiące, które można szybko zapisać w dowolnym języku
- Porównywarka Burp — komponent do porównywania ciągów
W zasadzie pakiet ten rozwiązuje prawie wszystkie problemy związane z tym obszarem.
skrzypek
— Fiddler to debugujący serwer proxy, który rejestruje cały ruch HTTP(S). Pozwala badać ten ruch, ustawiać punkty przerwania i „bawić się” danymi przychodzącymi lub wychodzącymi.
Istnieje również , potwór i inne, wybór należy do użytkownika.
wniosek
Oczywiście każdy pentester ma swój własny arsenał i własny zestaw narzędzi, ponieważ jest ich po prostu dużo. Starałem się wymienić te najwygodniejsze i najbardziej popularne. Aby jednak każdy mógł zapoznać się z innymi narzędziami w tym kierunku, podam linki poniżej.
Różne topy/listy skanerów i narzędzi
- .
Dystrybucje Linuxktóre zawierają już wiele różnych narzędzi do testów penetracyjnych
Aktualizuj: w języku rosyjskim od zespołu „Hack4Sec” (dodano )
PS Nie możemy milczeć na temat XSpidera. Nie bierze udziału w recenzji, choć jest to shareware (dowiedziałem się wysyłając artykuł do SecLab, a właściwie z tego powodu (nie wiedza i brak najnowszej wersji 7.8) i nie umieściłem go w artykule). I teoretycznie planowana była jego recenzja (przygotowałem dla niej trudne testy), ale nie wiem, czy świat to zobaczy.
PPS Część materiału z artykułu zostanie wykorzystana zgodnie z przeznaczeniem w nadchodzącym raporcie o godz 2012 w dziale QA, który będzie zawierał niewymienione tutaj narzędzia (oczywiście darmowe), a także algorytm, w jakiej kolejności używać, jakich rezultatów się spodziewać, jakich konfiguracji użyć i wszelkiego rodzaju wskazówki i triki, kiedy działa (myślę o raporcie prawie codziennie, postaram się jak najlepiej opowiedzieć o temacie)
Nawiasem mówiąc, była lekcja na temat tego artykułu o godz Otwarte dni InfoSec (, ), Móc okradać krowy spójrz .
Źródło: www.habr.com
