LAN Turtle – HAK5
Een van de oudste HAK5 tools is de LAN Turtle en toch hebben we deze nog nooit besproken. De LAN Turtle heeft wel een paar overeenkomsten met de Packet Squirrel in de zin dat het apparaat in het netwerk geplaatst wordt en remote toegang kan geven tot het netwerk of tot het uitvoeren van reconnaissance taken of man-in-the-middle aanvallen. De LAN Turtle is een relatief klein apparaatje welke gemakkelijk verborgen kan worden in de bundel van draden die achter de meeste PC’s liggen. De LAN Tutle heeft namelijk het uiterlijk van een USB Ethernetadapter en valt dus helemaal niet op achter een PC. Hoe je met de LAN Turtle werkt en wat je ermee kunt lees je in deze post.
Soms is het leuk om een device later te reviewen want dan zijn alle bugs eruit en zijn er diverse improvements t.o.v. het origineel. Zo ook bij de LAN Turtle. De eerste LAN Turtle zag het levenslicht in 2015. Ik zeg bewust “de eerste LAN Turtle” want ondertussen zijn er een aantal nieuwe varianten uitgekomen, namelijk de LAN Turtle 3G welke gebruik maakt van een 3G simkaart zodat deze overal remote benaderd kan worden, en de LAN Turtle SD waarin een SD kaart kan om zo meer opslagruimte te krijgen. De LAN Turtle 3G is relatief prijzig maar geeft wel als enige LAN Turtle remote toegang. De andere varianten moeten geplaatst worden en na een bepaalde periode weer opgehaald worden.
De nieuwe (3G en SD) modellen zien er iets anders uit dan de oudere LAN Turtle in de zin dat ze geen directe USB plug hebben zoals de meeste USB Ethernet adapters, maar dat de USB aansluiting via een klein kabeltje gaat. Dit is op zich beter omdat hij op deze manier in vrijwel alle USB sloten past. De oude variant werkte vanwege zijn breedte niet in een computer waar er weinig ruimte was tussen alle andere USB aansluitingen.
Gedurende deze post gebruik ik de Lan Turtle SD welke dus ideaal is voor data exfiltration. Laten we eerst eens kijken hoe we de LAN Turtle aan kunnen sturen, hoe hij werkt en welke data exfiltration payload we gaan gebruiken voor de volgende “hack”.
Aansluiten LAN Turtle
Het aansluiten van de LAN Turtle is zeer eenvoudig. De USB plug gaat in de target computer en in de Ethernet connector moet een RJ45 kabel. Nadat je de LAN Turtle in je computer geplugd hebt zal deze geïnstalleerd worden als een Ethernet USB Network Adapter:
Op de LAN Turtle verkrijgt de NIC (WAN) een werkende IP range van de DHCP server van het netwerk en voorziet de computer vervolgens van een IP adres middels een eigen DHCP server. Dit is een IP adres in de 172.16.84.x/24 range. De LAN Turtle staat dus by default in NAT modus.
De LAN Turtle zelf is te benaderen op: 172.16.84.1 via SSH. Op Windows kun je hiervoor Putty gebruiken. Voor de beste performance is het belangrijk om ISO-8859-1:1998 (Latin-1, West Europe) te gebruiken als character set:
Als we vervolgens verbinden met 172.16.84.1 dan loggen we in met de gegevens:
Gebruikersnaam: root
Wachtwoord: sh3llz
Het eerste wat gevraagd wordt na het inloggen is om het default wachtwoord te veranderen.
Nadat het default wachtwoord veranderd hebben zitten we in de LAN Turtle:
De LAN Turtle wordt beheerd via de “Turtle Shell”. De Turtle Shell is een tekst-menu-based GUI. Je kunt gemakkelijk door de menu’s navigeren d.m.v. de pijltjestoetsen, TAB, ESC en diverse andere toetsen.
Zoals je in bovenstaande afbeelding kunt zien kunnen we vanuit het hoofdmenu 2 belangrijke zaken regelen, namelijk het configureren van de LAN Turtle en het configureren van de modules. De LAN Turtle gebruikt een modulair systeem voor het beheren van diverse tools en diensten. De eigenschappen en het gedrag van de LAN Turtle kan via deze modules getweakt en beheerd worden.
Maar first things first…
Lan Turtle Configureren
Via de bovenste optie in het menu kunnen we de LAN Turtle configureren. Zo kunnen we, indien de LAN Turtle aangesloten is op een werkende internetverbinding de LAN Turtle automatisch updaten. Als dat niet het geval is kan de LAN Turtle firmware offline gedownload worden via de HAK5 documentatiepagina: https://www.hak5.org/gear/lan-turtle/docs. Laten we maar eens beginnen met het updaten van de LAN Turtle.
Tijdens het updaten van de LAN Turtle wordt alle lokale data van de LAN Turtle gewist en wordt deze terug geplaatst naar zijn factory defaults. Na het updaten zal de LAN Turtle rebooten. Dit hele proces duurt ongeveer 3-5 minuten.
Verder kunnen we in het configuratiemenu niet heel veel doen. We kunnen de SD kaart formatteren (alleen in de SD versie van de LAN Turtle), we kunnen ons wachtwoord veranderen, we kunnen het MAC adres van de WAN (ethernet) kant veranderen evenals de IP settings en we kunnen de autoboot van de Turtle Shell bij een SSH verbinding uitschakelen zodat je meteen op de CLI uitkomt.
De echter kracht van de LAN Turtle zit hem namelijk in de modules. En daar gaan we nu naar kijken:
LAN Turtle Modules
Als we de “modules” optie selecteren vanuit het hoofdmenu en we gebruiken een blanco (nieuwe) LAN Turtle dan hebben we alleen toegang tot de Module Manager. Er staan default dus geen modules op.
Als we de module manager selecteren zien we dat deze gestopt is en dat ook de bootup status disabled is.
Willen we de module manager na het booten meteen starten dan schakelen we deze in door op enable te klikken. In ons geval doen we dat niet en gaan we de module manager configureren door naar “Configure” te gaan.
We kunnen hier de module directory van Lanturtle.com importeren, modules verwijderen, updaten en een module handmatig installeren. Het handmatig installeren van een module gebeurt via een URL. Laten we de Lanturtle.com directory opvragen (uiteraard moet je hiervoor verbonden zijn met het internet):
Op het moment van schrijven zijn er 25 modules aanwezig welke we kunnen installeren. We selecteren een aantal gewenste modules en klikken vervolgens op OK om deze te installeren:
Als we nu terug naar het module overzicht gaan vinden we naast de modulemanager ook de zojuist geïnstalleerde modules.
Door op een module te klikken kunnen we de module configureren. We kunnen er voor kiezen om de module te starten en om deze automatisch op te starten na een reboot.
Soms zullen er nog dependencies geïnstalleerd moeten worden om een module volledig te laten werken:
En er zijn modules die gevonden informatie (loot) opslaan in een specifieke directory:
Door in het hoofdmenu op “Exit” te klikken verlaat je de GUI van de LAN Turtle en heb je toegang tot de CLI van de LAN Turtle:
Zoals je ziet draait de LAN Turtle OpenWrt/Linaro wat een volledige, hetzij beperkte Linux distributie is welke vaar gebruikt wordt in routers. Zo kun je bijvoorbeeld naar opgegeven loot directories browsen:
Of je kunt bestanden benaderen / aanpassen en modules activeren.
Je kunt overigens niet alleen via SSH bij de bestanden. Het is ook mogelijk om een SCP verbinding naar de LAN Turtle te starten en om op die manier bestanden te benaderen:
Om weer terug te keren naar de GUI type je:
turtle |
Information Gathering met de LAN Turtle
Nu we de LAN Turtle zo ver up-and-running hebben willen we deze gebruiken om systeemdata te achterhalen.
Een hele gave aanval is het verkrijgen van credentials via een locked machine.
We doen dit via de QuickCreds module. We installeren de module evenals de dependencies. QuickCreds bewaard opgeslagen gegevens in “/root/loot”. Er is geen verdere configuratie nodig. De omschrijving verteld dat de LED van de LAN Turtle snel knippert terwijl QuickCreds actief is en de LED brand continue als de NTLM hash ontvangen is.
Het enige wat nog moet gebeuren is het inschakelen van de module tijdens het booten van de LAN Turtle.
Vervolgens moet er nog een module geactiveerd worden en dat is “Responder”. Allereerst moet je op de CLI een 2-tal commando’s draaien om de module te laten functioneren. Namelijk:
opkg update
opkg install python-openssl screen |
Vervolgens moet de symlink naar /tmp/ verwijderd worden zodat logs niet verwijderd worden:
rm -rf /overlay/etc/turtle/Responder/logs |
Daarna configureer je de module en stel je deze ook in om automatisch te starten na een reboot.
De QuickCreds module schakelt de DHCP LED Blinking functie van de LAN Turtle tijdelijk uit. Het enige wat er nu nog moet gebeuren is het inpluggen van de LAN Turtle op een computer die locked is (niet uitgelogd). Er hoeft geen netwerkkabel in de LAN Turtle te zitten. De LAN Turtle zal opstarten en de LED zal snel knipperen. Als de LED continue gaat branden is de NTLM Hash opgeslagen en is de attack klaar.
De manier waarop deze aanval werkt is als volgt. De Windows computer ziet een netwerkadapter. De netwerkadapter wordt geïnstalleerd (no harm right?!). Windows vertrouwt default zijn eigen LAN netwerk evenals HTTP en SMB authenticatie. De DHCP server zorgt er op dat moment voor dat de LAN Turtle als default route wordt ingesteld zodat al het verkeer primair over de LAN Turtle gaat. Het responder script spooft een aantal services zoals LDAP, SMB, HTTPS en WPAD. WPAD is het Web Proxy Auto-Discovery Protocol en handelt o.a. NetBIOS (NBNS), Link-Local Multicast Name Resolution (LLMNR) en Domain Name System (DNS) requests af. Elke request die de computer doet gaat dus over de LAN Turtle. Wanneer een request authenticatie vraagt zal de NTLM hash worden verstuurd. Moderne computers werken op NTLMv2 welke in principe nog veilig is. We onderscheppen dus geen plain-tekst credentials. NTLM + NTLMv1 kunnen gekraakt worden. NTLMv2 kan alleen middels brute-force gekraakt worden maar kan ook worden gebruikt om een request (van b.v. een server) te beantwoorden met de onderschepte hash (vereist wel wat re-hashing) om jezelf zo alsnog voor te doen als de authentieke user welke toegang had tot de server.
Een lang wachtwoord is dus een prima bescherming tegen dit soort aanvallen.
Om meer systeeminformatie te achterhalen kunnen we een NMAP scan uitvoeren. NMAP is immers fantastisch voor OS fingerprinting.
Tijdens de setup van NMAP moeten we een target instellen, en kiezen we een profiel. Er zijn verschillende soorten profielen.
Echter wil ik graag een OS detection scan uitvoeren en dat is geen default optie. Ook is het geen optie om handmatig NMap parameters op te geven. Om dit voor elkaar te krijgen bewerken we het bestand:
nano /etc/turtle/modules/nmap-scan |
Hier passen we de volgende regels aan:
Vervolgens is het ineens een prima optie:
Tenslotte moeten we een log locatie opgeven. Deze functie werkte echter niet omdat mijn default Putty venster 80×24 lijnen is en het nieuwe pop-up venster is daar te groot voor is. Vergroot dus je Putty venster of pas je nmap config file handmatig aan:
nano /etc/config/nmap |
En voeg toe (als je loglocatie /root/loot moet worden:
config /root/loot ‘log’ |
Als alles is ingesteld kun je de scan starten of instellen om automatisch te starten.
Conclusie
Tot zover de Lan Turtle. De LAN Turtle is een van de simpelere HAK5 devices maar zeker niet de minste. De LAN Turtle is veelzijdig, stealthy en krachtig. Schrijf je eigen modules in Bash of Python of gebruik gewoon de vele modules die al aanwezig zijn. Als je eenmaal gewend bent aan de LAN Turtle zul je merken dat je hem steeds vaker gaat gebruiken en dat je deze schildpad steeds meer taken laat automatiseren!