Articles

Informationsinsamling [uppdaterad 2019]

introduktion till informationsinsamling

penetrationstestning börjar med en pre-engagemangsfas där penntestaren blir bekant med klienten, målen, begränsningarna och omfattningen av penetrationstestet. Därefter börjar penntestaren det faktiska penetrationstestet och fortsätter vanligtvis med en informationsinsamling där penntestaren lokaliserar offentligt tillgänglig information relaterad till klienten och söker sätt som kan utnyttjas för att komma in i systemen. I denna fas använder penntestaren också verktyg som portskannrar som kan hjälpa honom/henne att få en förståelse för systemen i nätverket och programvaran som finns på dem. Med hjälp av den informationen kan penntestaren fastställa vilken inverkan de olika resultaten kan ha på klienten och sårbarhetsanalysdelen kan fortsätta där den hittade informationen används för att lokalisera möjliga sårbarheter i systemen och den efterföljande exploateringsfasen där sårbarheterna försöker utnyttjas för att komma in i systemet. Således, utan bra informationsinsamling – skulle det inte finnas några sårbarheter att hitta och utnyttja.

nu är det dags att göra en viktig skillnad – det mellan passiv och aktiv informationsinsamling. Passiv informationsinsamling avser att samla in så mycket information som möjligt utan att upprätta kontakt mellan penntestaren (dig själv) och målet som du samlar in information om. Aktiv informationsinsamling innebär kontakt mellan penntestaren och det faktiska målet. När du aktivt frågar system för att få informationen flyttar du till en mörk rättslig situation eftersom de flesta länder förbjuder försök att bryta sig in i system utan nödvändigt tillstånd. Således, om du inte har tillstånd att testa ett system (ett get-out-of-jail-free-kort) är det inte bra att utföra aktiva frågor mot det. Om du till exempel använder Nmap för att hitta öppna portar och applikationer på ett önskat fjärrsystem, interagerar du aktivt med det systemet i ett försök att hitta svagheter och om du gör en WHOIS-sökning, surfar på företagets webbplats eller frågar sökmotorerna för information om företaget du passivt samlar in information. Ett exempel på aktiv informationsinsamling är att ringa företagets personal och försöka lura dem att avslöja privilegierad information.

pre-attack-fasen kan beskrivas på följande sätt:

  1. passiv informationsinsamling för att upptäcka preliminär information om systemen, deras programvara och de personer som är involverade i målet.
  2. passivt bestämma nätverksområdet för att ta reda på maskinerna i nätverket som du kan fokusera på.
  3. penntestaren kontrollerar aktivt vilken av de lokaliserade maskinerna som lever för att veta vad man ska rikta in sig på.
  4. penntestaren letar aktivt efter öppna portar och applikationerna på dem för var och en av maskinerna i nätverket för att ta reda på det optimala sättet att bryta in.
  5. penntestaren använder verktyg som traceroute och Cheops för att fingeravtrycka operativsystemet bakom var och en av maskinerna.
  6. penntestaren kartlägger nätverket genom att skriva ner och visualisera all data som samlas in och börjar med attackfasen …

passiva Informationsinsamlingsverktyg

theHarvester

Vi kan använda skördaren för att samla in e-postmeddelanden om riktade domäner. Vi kan sedan använda dessa e-postmeddelanden för att initiera socialteknik eller starta andra attacker. Skördaren är ett verktyg inbyggt i Python, så för att köra det skulle du behöva Python på din maskin och helst läggas till din PATH-miljövariabel. Du kan ladda ner Python från https://www.python.org/downloads/. Om du har git på din maskin kan du öppna din Terminal, navigera till önskad mapp och skriva git clone https://github.com/laramies/theHarvester.git
för att ladda ner verktyget. Annars måste du bara öppna GitHub-förvaret, klicka på ”klon eller ladda ner” och ladda ner källkoden som en ZIP. När du har installerat det kan du öppna kommandoraden / terminalen och navigera till mappen där du har installerat skördaren och skriv python theHarvester.py för att få hjälpskärmen.

Figur 1: skördarens hjälpskärm ska se ut så här

Nu, om vi vill leta efter e-postmeddelanden i domänen dimoff.biz vi kan utföra en fråga så här:

python theHarvester.py -d dimoff.biz -l 100-B google

detta kommer att söka efter e-post i Google ligger i dimoff.biz och kommer att begränsa sökningen till de första 100 frågeresultaten i Google.

Figur 2: Inga e-postmeddelanden hittades i min domän eftersom jag har förvirrat dem

Låt oss försöka söka efter e-postmeddelanden på InfoSec-institutets webbplats. Vi skriver samma fråga men ändrar domänen: python theHarvester.py -d infosecinstitute.com -l 100-B google

Figur 3: Frågan för e-postmeddelanden i InfoSec Institute kom med fyra e-postmeddelanden som vi potentiellt kan dra nytta av

för att förbättra vår forskning kan vi prova sökningen med olika sökmotorer. Om vi söker efter e-postmeddelanden inom de första 30 resultaten från Yahoos sökmotor får vi bara ett e-postmeddelande, men det är annorlunda än de fyra som vi har samlat in med Google. Vi skriver python theHarvester.py -d infosecinstitute.com -L 20-B yahoo och sluta med följande utgång:

Figur 4: Harvester search med Yahoo gav ett annat resultat

som du kanske har märkt, förutom att spotta ut e-postmeddelandena inom den domänen, listar Harvester alla underdomäner som den lyckades hitta associerade med den givna domänen och kartlägger dem till deras respektive IP-adress. Denna information är användbar såväl som de olika underdomänerna kan använda olika serverprogramvara, mjukvaruutvecklingsramar och kan till och med vara på olika maskiner vilket skulle innebära att dessa underdomäner kan vara benägna att olika sårbarheter och kan ha olika nivåer av exploaterbarhet.

Netcraft

Netcraft är en webbapplikation som gör att vi kan se detaljerad information om programvaran, webbservern och webbhotell som är involverade i en godtycklig webbplats. Netcraft gör att samla in denna information smärtfri eftersom det tar millisekunder att lära känna programvaran bakom webbplatsen. Till exempel kan det vara användbart att veta vem webbhotellleverantören på webbplatsen är om du bestämmer dig för att starta en socialteknisk attack. Sedan kan du skriva ett e-postmeddelande till en administratör som verkar härröra från deras webbhotell, be honom/henne att öppna en länk och ändra en inställning. Dessutom kan de olika mjukvaruutvecklingsramarna som webbplatsen använder som du kan hitta med Netcraft ha sina egna sårbarheter som du sedan kan försöka utnyttja. Bilden nedan visar en sökning på InfoSec Institute i http://www.netcraft.com/

Figur 5: Söker efter information om InfoSec Institute i Netcraft

Vi kan se att InfoSec Institutes webbhotell är Digital Ocean så vi kan notera det någonstans. Vi kan också se att webbplatsen använder ett Content Management System (CMS) som heter Expression Engine, ett ramverk för mjukvaruutveckling som heter CodeIgniter, att back-end-språket är PHP och så vidare. Vi kan leta efter brister i de tekniker som skulle utsätta webbplatsen för sårbarheter. Vi kan också se att webbserverprogramvaran nyligen ändrades från Apache/2.2.31. Att veta den exakta versionen av serverprogramvaran är användbar eftersom sårbarheter för olika serverprogram publiceras regelbundet online och patchas med nyare versioner av programvaran som ofta inte implementeras i tid av de flesta webbplatser. Dessutom, att känna till serverprogramvaran begränsar omfattningen av forskning. Om vi vet att servern kör Apache, skulle vi inte söka efter sårbarheter för Microsoft IIS-servern. Men ibland kan serverinformationen från webbplatsen vara en bete / honeypot.

Maltego

Maltego är ett data mining verktyg som kan hjälpa oss att få och visualisera intelligensinsamling. Den har flera versioner, varav en är gratis att leka med. Den fria versionen är den så kallade ”Community Edition” och du kan ladda ner den från https://www.paterva.com/web7/downloads.php#tab-3. Allt du behöver göra för att köra det är att registrera ett konto hos Paterva. Den fria versionen begränsar dock antalet minskade resultat som kan visas för dig.

Figur 6: Maltegos förbyggda maskiner begränsar resultaten till 12 enheter i den fria versionen

Maltego Primer

När du har installerat Maltego, ställa in ditt konto och loggat in, bör du se ett sista steg som visas nedan:

Figur 7: framgångsrikt installerat Maltego

klicka på ”öppna en tom graf och klicka på Låt mig Leka.”

i palettrutan till vänster kan du se de olika enheterna som du kan integrera i dina sökningar. Dra och släpp Domänenheten i paletten till diagrammet. Du bör se en enda Jordikon med webbplatsen paterva.com som en etikett.

figur 8: lägga till en domänenhet i grafen

ändra nu domännamnet till den domän som du vill skaffa ny information för. För att göra detta måste du dubbelklicka på domännamnet och skriva ditt önskade domännamn.

När du har förberett domänen att utforska kan du köra transformationer eller frågor för annan information för domänen genom att högerklicka på domänenheten och välja önskad fråga.

Figur 9: En del av de olika transformer som finns i Maltego

för att illustrera hur dessa trans fungerar, om du väljer att omvandla entiteten till telefonnummer med hjälp av sökmotorer, får du några telefonnummer för InfoSec Institute. Du kan använda dessa telefonnummer för att göra din social engineering attack mer övertygande, anställa vishing, förevändning och så vidare.

Figur 10: omvandlingen till telefonnummer med hjälp av sökmotorer tillämpas på InfoSec Institute och fem telefonnummer visualiseras.

Nu, om vi tillämpar en annan transformation-kommer våra resultat bara att öka. Ännu bättre kan vi tillämpa nya omvandlingar på de resultat som uppstår från våra tidigare omvandlingar.

för att illustrera detta, om vi högerklickar på det första returnerade telefonnumret – skulle vi få olika omvandlingar som vi kan tillämpa på det. Låt oss säga att vi väljer att omvandla telefonnumret till webbadresser (vilket betyder att du får webbadresserna där telefonnumret nämns). Det skulle få oss en nivå djupare in i hierarkin/förhållandet mellan resultaten och visar oss några webbadresser där man kan kontrollera manuellt vem som svarar på telefonnumret och så vidare.

Figur 11: går en nivå djupare i Maltego. Få webbadresserna där ett av telefonnumren som är associerade med InfoSec Institute nämns

som du kan se finns det en hel del enheter och transformationer att utforska.

aktiva Informationsinsamlingsverktyg

Nmap gör det möjligt att köra skanningar på riktade maskiner för att se vilka portar som är öppna på dem och därmed vilka applikationer som körs på dem. Skillnaden från de ovan nämnda verktygen är att du aktivt interagerar med den givna maskinen genom att skicka speciellt utformade paket till den. Förutom att upptäcka öppna portar Nmap tillåter oss potentiellt att upptäcka operativsystemet på maskinen och upptäcka de tjänster som körs på de öppnade portarna.

Du kan ladda ner Nmap från https://nmap.org/download.html eller http://nmap.en.softonic.com/. Du kan använda Nmap från din CLI eller från en GUI-applikation.

Efter installationen, för att se de olika sätten på vilka du kan använda nmap, måste du bara skriva nmap och trycka på Enter.

Figur 12: Nmap: s hjälpskärm

en enkel kontroll för öppna portar och motsvarande tjänster på dem är nmap-sS-Pn <IP-adress>. Detta kommer att försöka en stealth upptäckt och behandla maskinen som levande.

för att upptäcka operativsystemet som maskinen körs på kan du använda-O-flaggan och så vidare.

om Nmap verkar vara ett verktyg som du vill utforska mer, besök Irfan Shakeels artikel om Nmap.

slutsats

Vi har visat grunderna i penetrationstestprocessen, rollen för informationsinsamling i denna process och vi har visat några av de mest populära verktygen för att samla in information där ute. Att använda dessa verktyg kan inte bara hjälpa dig att samla tillräcklig information för en fruktbar informationsinsamling, men de kan också hjälpa dig att öka effektiviteten och effektiviteten i hela penetrationstestprocessen.