BloodHound
Mapowanie ścieżek ataku
BloodHound to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ethical Hacking Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Czym jest BloodHound?
BloodHound to narzędzie, które odwzorowuje relacje w Active Directory w postaci grafu. Ujawnia ukryte ścieżki ataku prowadzące od użytkownika o niskich uprawnieniach do cennych celów, takich jak Domain Admin.
To, co ludzie przeoczają w złożonej sieci uprawnień, BloodHound odnajduje za pomocą teorii grafów.
Węzły i krawędzie
BloodHound modeluje AD jako węzły (użytkownicy, grupy, komputery, jednostki organizacyjne, obiekty GPO) połączone przez krawędzie (relacje).
Krawędzie reprezentują uprawnienia, takie jak MemberOf, AdminTo, HasSession lub GenericAll. Łańcuch krawędzi tworzy ścieżkę ataku.
Collector: SharpHound
SharpHound to collector danych. Uruchomiony w kontekście dołączonym do domeny, odpytuje LDAP i inne źródła, aby zebrać obiekty, członkostwa w grupach, sesje i listy ACL.
Generuje pliki JSON (spakowane), które następnie importuje się do interfejsu BloodHound.
SharpHound.exe -c All --zipfilename loot.zipMetody zbierania danych
SharpHound obsługuje kilka metod zbierania danych za pomocą -c:
- Group: członkostwa w grupach.
- Session: informacje o tym, kto i gdzie jest zalogowany.
- ACL: uprawnienia obiektów.
- All: wszystko (więcej szumu, ale pełniejsze dane).
Głośne zbieranie danych zwiększa ryzyko wykrycia, dlatego atakujący mogą rozkładać je w czasie lub ograniczać jego zakres.
Python i zdalne zbieranie danych
Jeśli nie można uruchomić SharpHound w systemie Windows, bloodhound-python zbiera dane zdalnie przez LDAP przy użyciu poświadczeń domenowych.
Jest to idealne rozwiązanie podczas testu assumed breach prowadzonego z linuksowej maszyny używanej do ataków.
bloodhound-python -u lowuser -p Password1 -d corp.local -ns 10.0.0.10 -c AllImportowanie danych
BloodHound używa grafowej bazy danych Neo4j jako backendu. Należy uruchomić Neo4j, zalogować się do GUI BloodHound, a następnie przeciągnąć zebrane archiwum zip do interfejsu, aby je zaimportować.
Po zaimportowaniu można uruchamiać gotowe zapytania lub pisać własne w języku Cypher.
Gotowe zapytania analityczne
BloodHound zawiera zaawansowane gotowe zapytania, takie jak:
- Shortest Paths to Domain Admins.
- Find Principals with DCSync Rights.
- Kerberoastable Accounts.
Oznaczenie bieżącego użytkownika jako „Owned” pozwala BloodHound obliczać ścieżki rozpoczynające się od zasobów znajdujących się pod kontrolą użytkownika.
Odczytywanie ścieżek ataku
Ścieżka ataku może wyglądać tak: użytkownik jest MemberOf grupy, która ma GenericAll wobec innego użytkownika, a ten użytkownik ma AdminTo wobec serwera, na którym sesję ma użytkownik Domain Admin.
Każda krawędź wskazuje dokładną technikę potrzebną do wykonania kolejnego kroku, przekształcając graf w plan działania krok po kroku.
Niebezpieczne krawędzie ACL
Do najczęściej wykorzystywanych krawędzi należą uprawnienia oparte na ACL:
- GenericAll / GenericWrite: pełne lub szerokie uprawnienia zapisu do obiektu.
- WriteDacl / WriteOwner: przejęcie kontroli nad uprawnieniami obiektu.
- ForceChangePassword: zresetowanie hasła celu.
Umożliwiają one eskalację bez konieczności łamania hasha.
Zapytania Cypher
Na potrzeby niestandardowej analizy można pisać zapytania w języku Cypher, czyli języku zapytań Neo4j. Pozwala to wyszukiwać określone warunki, których nie obejmują wbudowane zapytania.
Przykładem może być znalezienie wszystkich użytkowników mających ścieżkę do wrażliwego serwera.
MATCH p=shortestPath((u:User {owned:true})-[*1..]->(g:Group {name:'DOMAIN ADMINS@CORP.LOCAL'})) RETURN pZastosowanie defensywne
BloodHound nie jest wyłącznie narzędziem atakujących. Obrońcy uruchamiają go, aby kontrolować własne środowisko AD, znajdować niezamierzone ścieżki ataku i usuwać niebezpieczne uprawnienia, zanim wykorzystają je przeciwnicy.
Zaostrzenie reguł ACL, usunięcie nieaktualnych uprawnień administratora i ograniczenie ekspozycji sesji zmniejszają graf, który atakujący mógłby przemierzyć.
Szybkie sprawdzenie
Przypomnij sobie rolę SharpHound.
Podsumowanie
Rozumiesz już BloodHound:
- Modeluje AD jako graf węzłów i relacji reprezentowanych przez krawędzie.
- SharpHound (lub bloodhound-python) zbiera dane do GUI opartego na Neo4j.
- Gotowe zapytania i zapytania Cypher ujawniają najkrótsze ścieżki do Domain Admin.
- Krawędzie ACL, takie jak GenericAll i WriteDacl, umożliwiają eskalację bez łamania hashy.
Ukończył(a) Pan/Pani kurs Active Directory Attacks.
Często zadawane pytania
Czy lekcja „BloodHound” jest bezpłatna?
Tak — pełny tekst „BloodHound” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ethical Hacking Academy, przejdź na CoddyKit PRO. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „BloodHound”?
Mapowanie ścieżek ataku Ćwiczysz Ethical Hacking Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ethical Hacking Academy?
Nie wymagamy żadnego doświadczenia. Ethical Hacking Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „BloodHound”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ethical Hacking Academy?
Tak. Każda lekcja Ethical Hacking Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy AD
- Kerberoasting
- Pass-the-Hash
- BloodHound