>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Python

Interaktywna mapa sieci i skaner podatności oparty na L0p4Map

Gdy przybywasz do nowej lokalizacji lub łączysz się z nieznaną podsiecią biurową, standardowa procedura jest zawsze taka sama. Otwierasz terminal, uruchamiasz nmap -sP lub arp-scan, a następnie próbujesz złożyć ogólny obraz z setek linii wyników. Gdzie jest brama? Gdzie jest ten zapomniany drukarka z niezabezpieczonym interfejsem webowym? Kto podłączył swój domowy router do panelu krosowego?

Traffic Analyzer

Zazwyczaj do wizualizacji trzeba albo rysować diagramy ręcznie w Draw.io, albo konfigurować rozbudowane systemy inwentaryzacji jak Zabbix. Ostatnio natknąłem się na repozytorium L0p4Map, stworzone przez dewelopera HaxL0p4. To aplikacja desktopowa w Pythonie i PyQt6, która zajmuje się całą podstawową pracą: szybko odkrywa hosty przez ARP, odpytuje je przez Nmap i SNMP, a następnie natychmiast renderuje intuicyjny wykres topologii.


Co pod maską w L0p4Map

Główna idea projektu jest prosta: połączyć sprawdzone narzędzia sieciowe pod eleganckim interfejsem w ciemnym motywie. Zamiast wymyślać na nowo skanowanie portów, autor opakował wywołania Nmap, Scapy i pcap w wielowątkową aplikację z interaktywnym silnikiem opartym na vis.js.

Home

Program działa wieloplatformowo na Linuksie (Debian, Arch), Windows 10/11 i macOS. Praca z pakietami niskiego poziomu wymaga uprawnień superużytkownika lub administratora, ponieważ skanowanie ARP i przechwytywanie surowego ruchu nie będą działać bez nich.


Jak działają operacje sieciowe

Zamiast monotonnie czekać na pełne skanowanie zakresu, L0p4Map dzieli proces na kilka logicznych etapów.

1. Szybkie wykrywanie i fingerprinting

Najpierw narzędzie wysyła szybkie żądania ARP w obrębie maski podsieci wybranej przez interfejs. Nazwy producentów pobierane są bezpośrednio z lokalnej lokalnej bazy danych IEEE OUI.

Następnie program próbuje określić role odkrytych węzłów. Wykorzystuje do tego cztery źródła danych:

  • Wartości TTL w odpowiedziach do rozróżniania Linux/macOS od Windows lub sprzętu sieciowego.
  • Reverse DNS, NetBIOS i mDNS/Avahi do znajdowania rzeczywistych nazw sieciowych.
  • Bezpośrednie zapytania SNMP przez sysDescr bez ciężkich bibliotek zewnętrznych.
  • Szybkie sondowanie typowych portów charakterystycznych dla sprzętu infrastrukturalnego.

W rezultacie host jest natychmiast oznaczony ikoną: brama, switch, punkt dostępowy, PC, telefon lub maszyna wirtualna. Wbudowane serwery zarządzania i drukarki (iLO, SATO, Zebra, XPort), które administratorzy często zostawiają z domyślnymi poświadczeniami, są wykrywane osobno.

2. Żywa topologia sieci

Najbardziej wizualną częścią programu jest interaktywna mapa. Silnik buduje drzewo połączeń, umieszczając bramę na górze, switche i routery na drugim poziomie, a końcowych klientów grupując pod ich węzłami nadrzędnymi.

Network Topology Graph | Hierarchical

Wykres ma dwa tryby wyświetlania: ścisła hierarchia (Hierarchical) i algorytm sprężynowy (Force Atlas). Jeśli sieć ma wiele skonfigurowanych podsieci, program wyróżnia je przerywanymi obramowaniami bezpośrednio na kanwie.

Network Topology Graph | Force Atlas

Połączenia między węzłami również mają swoje własne typy: uplink do sieci zewnętrznej, trunk między switchami i połączenie klienta. Każdy węzeł można zmienić nazwę przez podwójne kliknięcie, a końcowy diagram można wyeksportować do PNG lub CSV.

3. Ocena powierzchni ataku i CVE

Gdy podstawowa struktura sieci jest jasna, można przejść do szczegółowego audytu konkretnego IP. W sekcji Attack Surface program uruchamia pełny Nmap ze skryptami do pobierania banerów dla HTTP, SMB, FTP, SSH i SSL.

Port Scan

Wyniki są krzyżowo sprawdzane z bazą danych podatności przez skrypty vulners. L0p4Map wyświetla znalezione CVE bezpośrednio w tabeli z ocenami CVSS i klikalnymi linkami do National Vulnerability Database.

Attack surface section

4. Wbudowany analizator ruchu i pasywny monitoring

Jeśli nie chcesz stale hałasować aktywnymi skanowaniami w segmencie, możesz włączyć demona działającego w tle. Nasłuchuje on pasywnie pakietów ARP i mDNS. Gdy tylko pojawi się nowe nieautoryzowane urządzenie w podsieci, aplikacja natychmiast wysyła powiadomienie.

Traffic Analyzer

Zakładka Traffic Analyzer działa jak miniaturowa wersja Wireshark: pokazuje strumień pakietów w czasie rzeczywistym, koloruje różne protokoły i grupuje statystyki według hosta. Zauważyłeś podejrzany ruch z nieznanego adresu — dwuklik i natychmiast wyślij go do skanowania portów.


Instalacja i szybki start

Będziesz potrzebować Pythona 3.11+, zainstalowanego Nmap oraz bibliotek do przechwytywania pakietów (libpcap na Linuksie/macOS lub Npcap na Windows).

Instalacja na Linuksie

Użytkownicy Arch Linuksa mogą zainstalować pakiet bezpośrednio z AUR:

yay -S l0p4map

Na Ubuntu, Debianie lub innych dystrybucjach, sklonuj repozytorium ręcznie:

git clone https://github.com/HaxL0p4/L0p4Map.git
cd L0p4Map
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
chmod +x L0p4Map.sh

Uruchomienie wymaga uprawnień root:

sudo ./L0p4Map.sh

Uruchomienie na Windows

Na Windows upewnij się, że Npcap jest zainstalowany w trybie kompatybilności z WinPcap API.

git clone https://github.com/HaxL0p4/L0p4Map.git
cd L0p4Map
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

Uruchom terminal jako Administrator, a następnie uruchom skrypt:

python L0p4Map.py

Praktyczny scenariusz pracy

Typowy proces audytu lokalnego segmentu w L0p4Map wygląda tak:

  1. Wybierz działający interfejs z rozwijanej listy na pasku narzędzi.
  2. Kliknij przycisk Scan, aby szybko wykryć sąsiadów przez ARP.
  3. Otwórz zakładkę Graph i przeglądaj wynikowy diagram. Jeśli topologia jest złożona, przełączaj się między Hierarchical a Force Atlas.
  4. Wybierz podejrzane węzły i użyj zakładki Attack Surface, aby wyszukać otwarte usługi i CVE.
  5. Włącz przełącznik Live lub Continuous Monitoring, aby aplikacja obserwowała nowe hosty podczas twojej pracy.

Wrażenia i wnioski

L0p4Map zyskuje uznanie tym, że nie próbuje być rozwiązaniem typu all-in-one jak korporacyjne systemy SIEM, ale rozwiązuje konkretny praktyczny problem dla pentesterów lub inżynierów sieciowych. Program łączy wywołania narzędzi konsolowych, analizuje ich wyniki i porządkuje wszystko elegancko na interaktywnej mapie.

Kto znajdzie ten projekt przydatny:

  • Administratorzy systemów do szybkiej inwentaryzacji małych sieci biurowych.
  • Specjaliści bezpieczeństwa podczas wstępnego rozpoznania w trakcie audytów.
  • Entuzjaści laboratoriów domowych, którzy chcą wizualizować swoje zoo serwerów i urządzeń IoT.

Jednym niuansem do odnotowania jest wymóg uruchamiania jako root, ale dla oprogramowania tej klasy to standardowe wymaganie. Kod źródłowy jest otwarty na licencji GPLv3, projekt jest aktywnie rozwijany, więc forkowanie i dostosowywanie logiki parsowania do własnych potrzeb nie będzie trudne.

Powiązane projekty