Articles

Gromadzenie informacji [aktualizacja 2019]

Wprowadzenie do gromadzenia informacji

testy penetracyjne rozpoczynają się od fazy pre-engagement, w której pen tester zapoznaje się z klientem, celami, ograniczeniami i zakresem testu penetracyjnego. Następnie Tester długopisu rozpoczyna rzeczywisty test penetracyjny i zwykle kontynuuje proces zbierania informacji, w którym Tester długopisu lokalizuje publicznie dostępne informacje dotyczące klienta i szuka sposobów, które można wykorzystać, aby dostać się do systemów. W tej fazie pen tester korzysta również z narzędzi, takich jak skanery portów, które mogą pomóc mu w zrozumieniu systemów w sieci i oprogramowania, które się na nich znajduje. Korzystając z tych informacji, tester pen może wskazać, jaki wpływ mogą mieć różne ustalenia na klienta, a część analizy luk może kontynuować, gdy znalezione informacje są wykorzystywane do zlokalizowania możliwych luk w systemach i późniejszej fazy eksploatacji, w której próbuje się wykorzystać luki, aby dostać się do systemu. Tak więc, bez dobrego gromadzenia informacji-nie byłoby luk w zabezpieczeniach do znalezienia i wykorzystania.

nadszedł czas, aby dokonać ważnego rozróżnienia-między pasywnym i aktywnym gromadzeniem informacji. Pasywne gromadzenie informacji odnosi się do gromadzenia jak największej ilości informacji bez nawiązywania kontaktu między testerem pióra (Tobą) a celem, o którym zbierasz informacje. Aktywne zbieranie informacji wiąże się z kontaktem między testerem pióra a rzeczywistym celem. Kiedy aktywnie sprawdzasz systemy, aby uzyskać informacje, przechodzisz do ciemnej sytuacji prawnej, ponieważ większość krajów zakazuje prób włamania się do systemów bez niezbędnej zgody. Tak więc, jeśli nie masz uprawnień do testowania systemu (karta get-out-of-jail-free), nie jest dobrym pomysłem wykonywanie aktywnych zapytań przeciwko niemu. Na przykład, jeśli używasz Nmap do wyszukiwania otwartych portów i aplikacji w wybranym zdalnym systemie, aktywnie współpracujesz z tym systemem, próbując znaleźć słabe strony, a jeśli robisz wyszukiwanie whois, przeglądasz stronę internetową firmy lub wyszukujesz w wyszukiwarkach informacje o firmie, którą biernie zbierasz. Przykładem aktywnego gromadzenia informacji jest wywołanie pracowników firmy i próba oszukania ich w ujawnieniu poufnych informacji.

fazę przed atakiem można opisać w następujący sposób:

  1. pasywne zbieranie informacji w celu odkrycia wstępnych informacji o systemach, ich oprogramowaniu i ludziach zaangażowanych w cel.
  2. pasywne określanie zakresu sieci, aby znaleźć maszyny W Sieci, na których można się skupić.
  3. Tester długopisów aktywnie sprawdza, które z znajdujących się maszyn są żywe, aby wiedzieć, na co celować.
  4. Tester pen aktywnie szuka otwartych portów i aplikacji na nich dla każdej z maszyn w sieci, aby znaleźć optymalny sposób włamania.
  5. Tester długopisów wykorzystuje narzędzia takie jak traceroute i Cheops do odciskania palca systemu operacyjnego za każdą z maszyn.
  6. Tester pen mapuje sieć, zapisując i wizualizując wszystkie zebrane dane i rozpoczyna fazę ataku…

pasywne narzędzia do zbierania informacji

theHarvester

możemy użyć kombajnu do zbierania e-maili o docelowych domenach. Następnie możemy użyć tych e-maili do zainicjowania inżynierii społecznej lub przeprowadzenia innych ataków. Kombajn jest narzędziem zbudowanym w Pythonie, więc do jego uruchomienia potrzebny jest Python na komputerze i najlepiej dodany do zmiennej środowiskowej PATH. Możesz pobrać Pythona z https://www.python.org/downloads/. Jeśli masz git na swoim komputerze, możesz otworzyć Terminal, przejść do żądanego folderu i wpisać git clone https://github.com/laramies/theHarvester.git
, Aby pobrać narzędzie. W przeciwnym razie wystarczy otworzyć repozytorium GitHub, kliknąć „klon lub Pobierz” i pobrać kod źródłowy jako ZIP. Po zainstalowaniu możesz otworzyć wiersz poleceń/Terminal i przejść do folderu, w którym zainstalowałeś kombajn i wpisać python theHarvester.py aby uzyskać ekran pomocy.

Rysunek 1: Ekran pomocy kombajnu powinien wyglądać mniej więcej tak

teraz, jeśli chcemy szukać maili w domenie dimoff.biz możemy wykonać takie zapytanie:

python theHarvester.py -d dimoff.biz -l 100-B google

To będzie szukać e-maili w Google znajduje się w dimoff.biz i ograniczy wyszukiwanie do pierwszych 100 wyników zapytań w Google.

Rysunek 2: nie znaleziono e-maili w mojej domenie, ponieważ je zatuszowałem

spróbujmy wyszukać e-maile na stronie Instytutu InfoSec. Wpisujemy to samo zapytanie ale zmieniamy domenę: python theHarvester.py -d infosecinstitute.com -l 100-B google

Rysunek 3: Zapytanie o e-maile w InfoSec Institute wymyślił cztery e-maile, które możemy potencjalnie wykorzystać

aby poprawić nasze badania, możemy wypróbować wyszukiwanie za pomocą różnych wyszukiwarek. Jeśli wyszukamy e-maile w pierwszych 30 wynikach wyszukiwarki Yahoo, otrzymamy tylko jeden e-mail, ale różni się on od czterech, które zebraliśmy w Google. Wpisujemy python theHarvester.py -d infosecinstitute.com -l 20-B yahoo i kończy się następującym wyjściem:

Rysunek 4: Wyszukiwarka Harvester z Yahoo dała inny wynik

Jak mogłeś zauważyć, oprócz wypluwania wiadomości e-mail w tej domenie, Harvester wymienia wszystkie subdomeny, które udało mu się znaleźć związane z daną domeną i mapuje je na ich odpowiedni adres IP. Informacje te są przydatne, a także różne subdomeny mogą używać różnych programów serwerowych, RAM programistycznych, a nawet mogą być na różnych maszynach, co oznaczałoby, że te subdomeny mogą być podatne na różne luki i mogą mieć różne poziomy wykorzystania.

Netcraft

Netcraft to aplikacja internetowa, która pozwala nam zobaczyć szczegółowe informacje na temat oprogramowania, serwera WWW i hosta związanego z dowolną stroną internetową. Netcraft sprawia, że zbieranie tych informacji jest bezbolesne, ponieważ poznanie oprogramowania stojącego za stroną internetową zajmuje milisekundy. Na przykład wiedza o tym, kto jest dostawcą usług hostingowych witryny, może okazać się przydatna, jeśli zdecydujesz się na atak socjotechniczny. Następnie możesz napisać wiadomość e-mail do administratora, który wydaje się pochodzić od ich firmy hostingowej, prosząc go o otwarcie linku i zmianę Ustawienia. Co więcej, różne struktury tworzenia oprogramowania, których używa strona internetowa, które można znaleźć w Netcraft, mogą mieć własne luki, które można następnie spróbować wykorzystać. Poniższy obrazek pokazuje odnośnik do InfoSec Institute w http://www.netcraft.com/

Rysunek 5: Szukając informacji o InfoSec Institute w Netcraft

widzimy, że dostawcą hostingu InfoSec Institute jest Digital Ocean, więc możemy to gdzieś zauważyć. Możemy również zobaczyć, że strona korzysta z Systemu Zarządzania Treścią (CMS) o nazwie Expression Engine, framework programistyczny o nazwie CodeIgniter, że językiem zaplecza jest PHP i tak dalej. Możemy szukać wad w tych technologiach, które narażałyby witrynę na luki w zabezpieczeniach. Możemy również zauważyć, że oprogramowanie serwera www zostało niedawno zmienione z Apache/2.2.31. Znajomość dokładnej wersji oprogramowania serwera jest przydatna, ponieważ luki w oprogramowaniu różnych serwerów są regularnie publikowane online i łatane nowszymi wersjami oprogramowania, które często nie są wdrażane na czas przez większość stron internetowych. Ponadto znajomość oprogramowania serwerowego zawęża zakres badań. Jeśli wiemy, że na serwerze działa Apache, nie szukalibyśmy luk w zabezpieczeniach serwera Microsoft IIS. Czasami jednak informacje o serwerze dostarczane przez stronę internetową mogą być przynętą / honeypot.

Maltego

Maltego to narzędzie do eksploracji danych, które może pomóc nam uzyskać i wizualizować gromadzenie informacji. Ma kilka wersji, z których jedna jest darmowa. Darmową wersją jest tzw.” Community Edition”i można ją pobrać ze strony https://www.paterva.com/web7/downloads.php#tab-3. Wszystko, co musisz zrobić, aby go uruchomić, to zarejestrować konto w Paterva. Darmowa wersja ogranicza jednak liczbę wydobywanych wyników, które można pokazać.

Rysunek 6: Wstępnie zbudowane maszyny Maltego ograniczają wyniki do 12 podmiotów w darmowej wersji

Maltego Primer

Po zainstalowaniu Maltego, skonfigurowaniu konta i zalogowaniu się powinieneś zobaczyć ostatni krok, jak pokazano poniżej:

Rysunek 7: pomyślnie zainstalowano Maltego

kliknij „otwórz pusty wykres i pozwól mi się pobawić.”

w polu palety po lewej stronie możesz zobaczyć różne elementy, które możesz włączyć do wyszukiwania. Przeciągnij i upuść encję domeny w palecie na wykres. Powinieneś zobaczyć pojedynczą ikonę Ziemi ze stroną paterva.com jako etykieta.

Rysunek 8: dodawanie encji domeny do wykresu

teraz zmień nazwę domeny na domenę, dla której chcesz uzyskać nowe informacje. Aby to zrobić, musisz dwukrotnie kliknąć nazwę domeny i wpisać żądaną nazwę domeny.

Po przygotowaniu domeny do eksploracji możesz uruchomić transformacje lub zapytania o różne informacje dla domeny, klikając prawym przyciskiem myszy encję domeny i wybierając żądane zapytanie.

Rysunek 9: Fragment różnych przekształceń, które są dostępne w Maltego

aby zilustrować, jak działają te przekształcenia, jeśli zdecydujesz się przekształcić obiekt na numery telefonów za pomocą wyszukiwarek, otrzymasz kilka numerów telefonów dla InfoSec Institute. Możesz użyć tych numerów telefonów, aby twój atak socjotechniczny był bardziej przekonujący, zatrudnić vishing, pretekst i tak dalej.

Rysunek 10: transformacja na numery telefonów za pomocą wyszukiwarek jest stosowana w InfoSec Institute i wizualizowane jest pięć numerów telefonów.

teraz, jeśli zastosujemy kolejną transformację – nasze wyniki po prostu wzrosną. Co więcej, możemy zastosować nowe transformacje do wyników, które występują z naszych poprzednich transformacji.

aby to zilustrować, jeśli klikniemy prawym przyciskiem myszy na pierwszy zwrócony numer telefonu-otrzymamy różne transformacje, które możemy zastosować do niego. Powiedzmy, że zdecydujemy się przekształcić numer telefonu w adresy URL (co oznacza, że uzyskamy adresy URL, w których wymieniony jest numer telefonu). To zapewni nam głębszy poziom hierarchii / relacji wyników i pokaże nam kilka adresów URL, gdzie można ręcznie sprawdzić, kto odpowiada na numer telefonu i tak dalej.

Rysunek 11: przejście poziomu głębszego w Malcie. Pobieranie adresów URL, w których jest wymieniony jeden z numerów telefonów związanych z InfoSec Institute

Jak widać, istnieje sporo podmiotów i przekształceń do zbadania.

aktywne narzędzia do zbierania informacji

Nmap pozwala na uruchamianie skanów na wybranych maszynach, aby zobaczyć, jakie porty są na nich otwarte, a tym samym jakie aplikacje są na nich uruchomione. Różnica w stosunku do wyżej wymienionych narzędzi polega na tym, że aktywnie współdziałasz z daną maszyną, wysyłając do niej specjalnie spreparowane Pakiety. Poza tym, odkrywanie otwartych portów Nmap pozwala nam potencjalnie wykryć system operacyjny Maszyny i odkryć usługi, które działają na otwartych portach.

możesz pobrać Nmap zhttps://nmap.org/download.html lubhttp://nmap.en.softonic.com/. Możesz użyć Nmap z CLI lub z aplikacji GUI.

Po Instalacji, aby zobaczyć różne sposoby korzystania z nmap, wystarczy wpisać nmap i nacisnąć Enter.

Rysunek 12: Ekran pomocy Nmap

proste sprawdzenie otwartych portów i odpowiadających im usług to Nmap-sS-PN<adres IP>. Będzie to próba ukrycia i potraktowanie maszyny jako żywej.

aby wykryć system operacyjny, na którym działa komputer, Możesz użyć flagi-O i tak dalej.

Jeśli Nmap wydaje się narzędziem, które chcesz zgłębić, odwiedź artykuł Irfana Shakeela na temat Nmap.

podsumowanie

zademonstrowaliśmy podstawy procesu testów penetracyjnych, rolę gromadzenia informacji w tym procesie i zademonstrowaliśmy niektóre z najpopularniejszych narzędzi do gromadzenia informacji. Korzystanie z tych narzędzi może nie tylko pomóc w zebraniu informacji wystarczających do owocnego zbierania informacji, ale może również pomóc w zwiększeniu wydajności i skuteczności całego procesu testów penetracyjnych.