Lösenord

Hacka med Google

Publicerat: 
2016-08-05 16:15

Det kommer nog inte som en chock för många att Google är den mest populära sökplattformen idag. Trots det stora antalet användare är Googles fulla potential inte känd för alla.
Till skillnad från många andra sökmotorer kan en Google sökning utföras med avancerade parametrar i syfte att förfina sökningar och minska antalet oönskade resultat. Parametrarna är en del av Googles inbyggda funktioner och kräver därmed inte några externa installationer eller moduler för att fungera.

I denna artikel kommer vi ta en titt på grunderna för hur vi kan utnyttja Googles parametrar för att få fram intressanta resultat som kan användas vid penetrationstester eller säkerhetsgranskningar.

För de intresserade rekommenderas även boken Google Hacking For Penetration Testers av Johnny Long.

Vad kan vi använda Google hacking till?

Google hacking används främst inom penetrationstester där Google kan användas som ett verktyg för få fram information som annars inte är menat att exponeras ut mot internet. Inom webbapplikationstester kan Google hacking b.la användas för att visa delar av en hemsida som annars är oåtkomliga eller för att få åtkomst till filer som ligger uppladdade på hemsidan. Vid mer sofistikerade attacker kan Google hacking även användas för att identifiera delar av en hemsida som möjligtvis är sårbara för SQL eller XSS-injektioner.

Sökparametrar
Sökparametrarna i Google är strukturerade enligt formatet Parameter:Sökterm

Exempelvis skulle parametern site användas i följande format för att få fram alla underkategorier för www.simovits.com

site:www.simovits.com

Nedan följer några av de vanligaste parametrarna som används vid Google hacking.

Parameter

Förklaring

site

Begränsar sökresultaten till en specifik hemsida

intext

Söker efter ord eller begrepp på en hemsida

inurl

Söker efter ord eller begrepp i en URL

filetype

Söker efter specifika filer

intitle

Söker efter ord eller begrepp i en hemsidas titel

link

Söker efter länkar till en hemsida

 

Utöver parametrar kan vi även använda reguljära uttryck för att sådant sätt få ännu mer specifika resultat. Några vanliga reguljära uttryck är b.la

Parameter

Förklaring

.

Matchar en enstaka karaktär. Exempelvis skulle en sökning på .imovits bland annat kunna ge resultaten mimovits, simovits eller 8imovits

*

Matchar noll eller fler av den tidigare karaktären. Exempelvis skulle en sökning på s*imovits kunna ge resultaten sssimovits eller simovits

|

En ”Or”-funktion. Exempelvis skulle sökningen test|häst ge resultat med både test och häst

[]

Skapar en lista av föremål att matcha på. Exempelvis skulle sökningen [492] ge resultat för 4, 9 och 2. I samband med detta uttryck kan även ett bindestreck användas för att expandera listan. Exempelvis skulle sökningen [A-D] matcha med alla resultat som innehåller versaler mellan A och D

Och nu sätter vi ihop allt

Nu när vi har vi ett grundläggande hum om hur Google hacking fungerar så är det dags att pröva det i några riktiga scenarion.

I nedanstående exempel gör vi en sökning mot Microsofts hemsidor där vi letar efter exe-filer 

Resultatet av sökningen indikerar att Microsoft konfigurerat de flesta av deras hemsidor inte listar de tillgängliga exe-filerna istället får vi i detta fall enbart 16 resultat. Här använder vi parametern site för att enbart söka efter hemsidor med microsoft.com i länken och använder därefter parametern file för att välja att söka efter exe-filer.

 

I nästa exempel gör vi en lite bredare sökning. Här letar vi efter inloggningssidor för administratörer på diverse hemsidor. Här använder vi ”OR”-funktionen för att söka efter frasen ”admin” såväl som ”administrator”. Vi letar även efter ordet ”login” i titeln för att få fram mer relevanta resultat.

Här får vi fram en hel del mer resultat men märker fort att många av resultaten är ”falsk-positiva” det vill säga att Google har snappat upp sökorden men där de används i ett sammanhang som inte är relevant för vårt ändamål, exempelvis i guider.  Det finns dock även många exempel där vi lyckats identifiera inloggningssidor för administratörer.

I vårt sista exempel undersöker vi hur vi kan komma åt olika webbaserade resurser.

Som ni kommer märka är dessa sökningar ofta väldigt simpla och handlar främst om att kunna identifiera ett mönster på resursens hemsida eller gränssnitt.

Exempelvis kan vi lätt komma åt inställningsgränssnittet för SpeedStream routrar genom att använda parametern intitle:”speedstream router management” för att på sådant sätt söka efter gränssnitt som exponerats mot internet.

 

Vi kan också hitta öppna SQL-servrar genom att använda parametern intitle:phpmyadmin och texten ”welcome to phpmyadmin”. I båda fallen märker vi att denna typ av sökning ofta genererar förvånansvärt precisa resultat.

Det är även möjligt att filtrera ner resultaten till en specifik domän genom att använda site parametern.

 

Hur skyddar vi oss mot Google hacking?

Google hacking görs möjligt av det faktum att personer inte är medvetna om vilken information som exponeras mot internet därmed händer det att information läggs upp på delar av en hemsida eller server som aldrig tänkts exponeras ut mot internet men som istället fångas upp av Googles web-spindel.

Många av de tjänster som kan identifieras via Google har även svaga eller standardlösenord då tjänsten, likt ovan, aldrig var tänkt att exponeras ut mot internet.

Behandla istället all information som ligger på en server som om den skulle vara exponerad mot internet och se till att god kryptering, sunt förnuft och starka lösenord.

 

 

 

Skribent(er): 
Peter Hildeblom

Den fattige forensikern

Publicerat: 
2016-01-08 14:11

Forensik i alla dess former börjar bli allt mer vanligt förekommande.
Problemet är att det ofta är dyrt med både den mjukvara och hårdvara som behövs för att genomföra en forensisk undersökning.
I den här artikeln undersöker vi vad vi kan åstadkomma med en begränsad budget och när vi enbart använder oss av freeware.
 

Scenario:
Här kommer vi titta närmare på ett scenario där vi har en suspekt dator varifrån vi tror att företagshemligheter har spridits.
Vi har tagit reda på följande information om datorn:
⦁    Kör Windows 7 home edition
⦁    Kontot som informationen stulits ifrån är lösenordskyddad
⦁    Datorn är påslagen och användaren har tidigare loggat in och därefter låst kontot
⦁    Har en firewire-port

Till att börja med måste vi först logga in och hämta ut så mycket som möjligt av den volatila informationen, lagrad i datorns RAM-minne, innan vi undersöker hårddisken.  Lyckligtvis vet vi att datorn har en firewire-port samt att operativsystemet är Windows 7. Detta innebär att vi kan använda en side-channel attack (även kallad Firewire-attack) för att på sådant sätt ändra några värden i RAM-minnet och ta oss förbi hela inloggnings-processen. Vi använder oss här av en firewire till firewire sladd (kostnad: ca 60 kr på Webbhallen) för att koppla vår angreppsdator till måldatorn. Därefter kör vi programvaran Inception på vår angreppsdator som används för olika typer av side-channel angrepp som vi nu använder för att ändra parametrarna i RAM-minnet för att ta oss förbi inloggningsprocessen:

Efter att värderna ändrats kan du använda valfritt lösenord för att logga in

Väl inne på systemet monterar vi en USB-sticka som vi tidigare har förberett med verktyg som vi kan använda för att utvinna volatil information.
Vi kör alla kommandon från den kommandotolk som ligger på USB-minnet för att förminska kontaminering och undvika fällor som användaren kan ha lagt. Först upp kör vi netstat som är ett inbyggt program i Windows som listar alla öppna portar på datorn. Vi tar också en lista över körande processer med kommandot tasklist och hämtar nuvarande internet-inställningar med kommandot ipconfig.
När vi har hämtat ut den grundläggande informationen så är det dags att samla in lösenord.
Här kör vi programvaran Mimikatz som kan utvinna lösenord och annan känslig information från RAM-minnet.
 

I Mimikatz logfil ser vi lösenordet för användaren i klartext.

Nu har vi hämtat ut all volatil information vi behöver och även lösenord.
Lämpligtvis bör man som en forensisk utredare även ta en kopia av det volatila minnet på det undersökta systemet. Detta kan göras med hjälp av FTK Imager, men i detta fall anser utredaren att det är slöseri med tid och fortsätter utan att ta en avbild.
Vi kan nu stänga av datorn och gå vidare med att utvinna informationen ur hårddisken.

Vi monterar hårddisken på vår undersökningsdator med hjälp av en SATA till USB konverterare(kostnad: ca 190 kr på Webbhallen alternativt 50 dollar för en med writeblocker på Amazon) och kör därefter FTK imager för att ta en avbild på hårddisken.  Vi har nu en avbild på hårddisken som vi kör alla operationer mot. Nästa steg är att manuellt undersöka hårddisken efter ledtrådar som kan hjälpa oss i vår utredning.

Efter flera timmar intensivt letande hittar vi tillslut en ledtråd som kan hjälpa oss med vår utredning.

ZIP-filen är krypterad. Lyckligtvis glömmer vi inte bort att användare gillar att återanvända lösenord. Vi prövar några olika varianter av lösenordet med gemener och versaler på olika platser i lösenordet och med specialtecken och siffror och till slut lyckas vi dekryptera filen.
Det bör även noteras att denna process kan automatiseras genom att använda Jumbo patchen för John the ripper som inkluderar  zip2john, vilket är ett verktyg för att knäcka lösenord till zip-filer.

Bingo! Vi har nu bevis på att den misstänkta samlat hemlig information i en behållare, vilket är högst misstänksamt! Nästa steg är att ta reda på om filerna har skickats vidare till en annan part. Under den manuella undersökningen observerades en installation av Mozilla Thunderbird e-postklient. Med lite tur så är e-postklienten inställd på att spara meddelanden lokalt på hårddisken. För att undersöka detta använder vi programmet Mailviewer och navigerar därefter till Thunderbirds standardmapp för att spara e-postmeddelanden, vilket oftast är under C:\Users\"användarnamn"\AppData\Thunderbird på en Windows-installation.

Här hittar vi ett utgående mail som ger starka indikationer på att vår misstänkte har skickat de superhemliga filerna till en annan person. Utredaren anser nu att vi har tillräckligt med bevis för att påvisa ett brott och kan därmed börja skriva ihop vår rapport

Slutsats
Som slutsats kan vi konstatera att en forensisk undersökning med enbart freeware är fullt möjlig.
Det blir en del mer manuellt arbete och vi behöver använda en stor upplaga av olika verktyg för att täcka olika aspekter, vilket även sammanfaller med fördelen för kommersiella verktyg.
I exempelvis Encase eller FTK analyser så har vi alla verktyg på samma plats, de är mer lättanvända och tack vare indexeringsfunktioner blir större utredningar snabbare. Dock ska man inte utesluta freeware helt från en utredning bara för att man råkar sitta på en Encase/FTK-licens. Många av de program som nämndes ovan är anpassade för specialområden och har därmed ibland funktioner som försvinner i de större verktygslådorna.

Hårdvara
Firewire till firewire-sladd :
Webhallen
SATA till USB adapter:  Webhallen
SATA till USB adapter med writeblocker: Amazon

 

 

Skribent(er): 
Peter Hildeblom

Post Passwords 2015 Conference - Phraser release on Github

Publicerat: 
2015-12-17

 

Last week I held a tutorial talk on the Passwords 2015 Conference in Cambridge.

 

My talk was titled "Linguistic Cracking of  Pass Phrases using Markov Chains", and the work behind it is a continiuation of my master thesis made this spring/summer.

It was well received, and I got great feedback from some of the best of the best in the passwords area.

 

I also promised to share my work, and I am glad to announce that the code is now released as open source at Github.

It goes under the name of "Phraser", and is available via this link: https://github.com/Sparell/Phraser

 

The slides from the talk is available through this link.

An English writeup on the work is also available here.

One longer but older version (the original thesis) in swedish is available here. It includes some additional general info about passwords and cracking as well as a short intro on context-free grammars, an alternative method I considered for the pass phrase cracking.

 

If anyone is interested in contributing in optimizing the code, you are more than welcome.

Tips/suggestions are also welcome.

 

Throw me a mail at [firstname.lastname]@simovits.com with questions or if you need more info. (My name is Peder Sparell) 

 

Hope to also see you at the RSAConference in San Francisco this spring.

 

 
Skribent(er): 
Peder Sparell

Knäckning av lösenordsfraser på ISACA-dagen

Publicerat: 
2015-10-09 23:00
 
I veckan gick konferensen ”ISACA-dagen 2015” av stapeln på Münchenbryggeriet, och Simovits Consulting fanns representerade på plats.
Dagen var lyckad och intressant med många bra talare som tog upp en hel del intressanta ämnen inom mestadels IT-governance och auditing, och förutom närvaron representerade jag även Simovits Consulting, likväl som KTH, i programmet som en av talarna, då jag under eftermiddagen presenterade mitt examensarbete som slutfördes i somras. Examensarbetet blev nämligen tilldelat ISACA:s årliga stipendium för bästa examensarbete inom området IT-säkerhet, och på ISACA-dagen var det dags att officiellt erhålla stipendiet efter att arbetet presenterats.
 
Titeln på arbetet är ”Lingvistisk knäckning av lösenordsfraser”, och arbetet riktar in sig på knäckning av upp till 20 tecken långa språkriktiga lösenordsfraser eftersom allmänt tillgängliga effektiva metoder idag saknas för att knäcka så långa lösenord. Resultaten visar att den i arbetet använda metoden är relativt effektiv och den lyckas knäcka en hel del långa lösenord som med andra metoder inte skulle vara rimliga att knäcka, och ytterligare optimeringar är möjliga. Om någon har tips på andra relevanta effektiva metoder som riktar in sig på att knäcka långa lösenord så är jag intresserad och ni får gärna maila mig.
 
Lösenordsknäckning av långa lösenord kräver tid, oavsett effektivitet, och eftersom exjobbet hade en deadline fick vissa försök avbrytas som beräknades ta längre tid än några dagar. Men vi har nu fått några nya resultat sedan exjobbets inlämning, vilka kommer att presenteras i en ny rapport vid annat tillfälle under hösten.
 
Tanken är sedan att vi senare i höst/vinter ska dela med oss av tillämpningen, och koden är tänkt att läggas upp som ett open-sourceprojekt så att den som är intresserad kan hjälpa till att optimera och anpassa programmet. Så håll utkik här på bloggen i höst!
 
För den som är intresserad av att läsa mer innan dess, finns en direktlänk till rapporten här, och den finns även publicerad både via KTH, och snart även via ISACA:s stipendiumsida.
Presentationsbilderna från ISACA-dagen finns här.
 
 
Min mailadress följer mönstret [förnamn.efternamn] hos simovits.com
 
Skribent(er): 
Peder Sparell