Kategorier
Nyheter

Hashcat-stöd i Metasploit

Den senaste versionen av Metasploit med versionsnummer 5.0.60 innehåller stöd för att knäcka hashar direkt med hashcat.

Stödet för knäckning i MSF var tidigare via John the Ripper:

Sökning på jtr_ i Metasploit

Den senaste versionen kan erhållas via kommandot msfupdate alternativt om du kör Kali Linux så ska det räcka med apt upgrade.

När du uppgraderat så ska det se ut enligt följande vid en sökning på crack_

Sökning på crack_ i Metasploit 5.0.60-deev

Ovan moduler såsom auxiliary/analyze/crack_linux stödjer nu både John the Ripper samt hashcat. Har dock försökt att använda hashcat utan framgång.

Förutom hashcat-stödet så finns även nedan nya moduler samt en förbättrad BlueKeep-exploit.

Gällande sista punkten står det följande: ”This adds a new module to gather PIN/passcode hashes from a root session on an Android device. This also adds an auxiliary module to crack hashes gathered from an Android device using hashcat”

Kategorier
Nyheter

Metasploit Framework 5.0 nu släppt

För första gången på 8 år har Rapid7 genomfört ett stort släpp (major release?) av Metasploit Framework. Nyheterna i denna nya version inkluderar ett nytt API REST-gränssnitt som gör det möjligt för andra verktyg att enklare interagera med Metasploit.

Även finns en ny typ av moduler som går under benämningen evasion vilket går ut på att underlätta för den som vill kringgå upptäckt av antivirus-mjukvaror, läs whitepaper här.

För att underlätta attacker mot flertalet system samtidigt så stödjer nu RHOSTS att du kan peka ut en fil direkt med prefixet file://. Även så fungerar RHOST och RHOSTS nu på samma sätt.

En annan intressant nyhet är metashell-funktioner, det innebär att du inte behöver uppgradera till shell till Meterpreter utan kan ändå köra uppladdning och nedladdning av filer, background osv.

Nu stödjer även Metasploit att du kan skriva moduler i andra språk än Ruby, nämligen Go och Python.

Vill du läsa mer om Metasploit Web service kan du göra det här:

Så installerar du Metasploit 5:

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall

Animerad video när jag startar upp Metasploit 5.0.1-dev:

Kategorier
Verktyg

Automated Penetration Testing Toolkit (APT2)

APT2 är ett verktyg för att automatiskt genomföra flertalet annars manuellt moment vid ett penetrationstest. Det är skrivet i python av två medarbetare vid företaget Rapid7 (som även utvecklar Metasploit).

Metodiken vid ett penetrationstest ser ungefär ut som liknande:

Och ser man på ovan linje så är inte så mycket automatiserat i dagsläget. Metasploit Pro, Core Impact och Immunity CANVAS är kommersiella verktyg och har många av dessa steg inbyggda.

Ett exempel på ett förfarande som APT2 kan automatisera åt dig:

  • Identifiera öppna portar med Nmap
  • Identifiera FTP och utför bruteforce
  • Identifiera webbservrar och testa efter OWASP Top 10 osv
  • Köra Responder.py identifiera nätverksutdelningar
  • Köra Metasploit mot tjänster

Verktyget går att ladda hem via GitHub här: https://github.com/MooseDojo/apt2

Test av APT2

Först installerar vi alla beroenden med hjälp av pip enligt README-filen. Efter detta så startar jag metasploit och kör kommandot som apt2.py skriver ut för att starta API:t (apt2 pratar med msf).

När det är klart så kör jag nmap och skapar en xml-fil som sedan kan skickas in som argument till apt2. För att få Nmap att skriva ut en XML-fil med resultatet skriver du med -oX argumentet, likt följande:

nmap -oX internal-scan.xml 10.0.1.2

Och denna fil använder vi sedan till apt2.py:

./apt2.py -v -v -b -s 1 -f internal-scan.xml

Och om allt går väl så skrivs det ut en rapport i html-format. Jag är tyvärr inte helt imponerad av rapporten som skapades mot det system som jag testade, nämligen metasploitable3. Resultatet var att apt2 inte lyckades utnyttja något:

Så min rekommendation just nu är att skippa APT2. Det tillför inget även om det är en bra grundidé men har potential att bli något bra.

Kategorier
Nyheter

Sårbarhet identifierad i Metasploit

metasploit

Det är nästan lite komiskt när sårbarheter identifieras i säkerhetsverktyg som har som uppgift att utnyttja sårbarheter. Det har givetvis hänt många gånger förr men helt klart något som står ut i den annars vanliga strömmen med publicerade sårbarheter.

På följande sätt beskrivs en av två sårbarheter som nu uppdagats i Metasploit:

”When the cookie serialization setting is either Marshal or hybrid, a remote unauthenticated attacker with knowledge of the cookie signing key can craft session cookies that, upon Marshal deserialization, trigger the execution of arbitrary code.”

Detta är således mot Metasploits webbgränssnitt som RCE (Remote Code Execution) är möjlig för en obehörig användare. Och det beror vidare på att cookie signing-nyckeln är samma för samtliga installationer.

En angripare som nyttjar denna brist får rättigheter som användaren daemon.

Och givetvis så finns det redan en exploit i Metasploit för denna sårbarhet:

     Name: Metasploit Web UI Static secret_key_base Value
     Module: exploit/multi/http/metasploit_static_secret_key_base
   Platform: Ruby
 Privileged: No
    License: Metasploit Framework License (BSD)
       Rank: Excellent
  Disclosed: 2016-09-15

 

Som tur så används inte GUI:t som standard i exempelvis Kali Linux om du enbart använder msfconsole kommandot.

Kategorier
Verktyg

Kom igång med SQLmap

sqlmap

SQLmap är ett av de bästa verktygen för att automatiskt identifiera SQLi (SQL-injections) och ta över databaser. Finns bl.a. en automatisk koppling mot Metasploit så du kan exekvera Metasploit-payloads direkt via databasen (xp_cmdshell etc).

Sqlmap är utvecklat i Python och är ett aktivt projekt på Github (6920 commits).

Följande databaser kan sqlmap hantera:

  • MySQL
  • Oracle
  • PostgreSQL
  • Microsoft SQL Server
  • Microsoft Access
  • IBM DB2
  • SQLite
  • Firebird
  • Sybase
  • SAP MaxDB
  • HSQLDB

Även så stödjer sqlmap fem olika typer av SQL-injektionsattacker:

  • Boolean-based blind
  • Time-based blind
  • Error-based
  • UNION query-based
  • Stacked queries (även känt som piggy-backing)

Installation

Ladda hem senaste utvecklingsversionen med från Github med hjälp av git:

$ git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

Användning

För att se vanliga argument kan -h argumentet användas till sqlmap.py, och vill du se alla argument så använder du -hh.

Vi kan börja med att uppdatera databasen:

$ python sqlmap.py --update
 _
 ___ ___| |_____ ___ ___ {1.0-dev-c31e23e}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
 |_| |_| http://sqlmap.org
[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program

[*] starting at 11:56:35
[11:56:35] [INFO] updating sqlmap to the latest development version from the GitHub repository
[11:56:35] [INFO] update in progress ..
[11:56:37] [INFO] already at the latest revision 'c31e23e'

[*] shutting down at 11:56:37

Det enklaste sättet att starta en ny genomsökning är att använda wizard. På följande sätt:

$ python sqlmap.py --wizard

Då får du börja med att ange target URL, POST data, svårighetsgrad och enumeration. Sedan så startar attacken.

Två intressant värden som du kan ange är risk samt level. Dessa värden har och göra med hur stor skada du är villig att göra samt hur dold du vill att din attack ska vara. Kör du tester mot en riktig databas så bör du dra ner på risk-värdet och därmed utesluta SQL-kommandon som innefattar UPDATE exempelvis.

Ett problem som många  pen-testare ställs inför är att kartlägga en sajt och alla dess formulär och fält som skickas in. Sqlmap kan identifiera dessa input-parametrar på tre sätt:

  • Via tredjepartsmjukvara såsom Burp
  • Google dorks
  • Crawl

Här följer ett exempel på hur vi använder crawl/spindelfunktionen:

$ python sqlmap.py -u http://example.com --forms --batch --crawl=10 --level=5 --risk=3 --user-agent="Mozilla"

Det var allt för denna gången. Sqlmap är bra på vissa saker och mindre bra på andra, troligtvis kommer du att inse att just crawl-funktionen har en hel del att önska. Men förlita dig då på andra verktyg som är bättre på crawling.

Kategorier
Verktyg

Kali Linux 2.0 är nu släppt

Kali Linux 2.0

Som vi har väntat på denna nya version av penetrationstestarens kanske främsta verktyg: Kali Linux. Vi på penetrationstest.se har så klart testkört den nya releasen som baseras på Debian Jessie och har en 4.0 Linux-kernel.

Även nytt är att nya paket automatiskt hämtas från Debian Testing vilket gör att samtliga paket som är installerade håller en hög standard gällande säkerhet och stabilitet men även erbjuder det senaste.

För dig som gillar custom så är det möjligt att välja och vraka på flertalet fönsterhanterare såsom gnome, kde, xfce, mate, e17, lxde och i3wm.

Du kan som vanligt ladda hem Kali på kali.org och vill du ha stöd för VMWare eller Virtualbox direkt så kan du ladda hem det från Offensive Security.

Vill du uppgradera från 1.x så går det även att göra med följande kommando:

cat << EOF > /etc/apt/sources.list
deb http://http.kali.org/kali sana main non-free contrib
deb http://security.kali.org/kali-security/ sana/updates main contrib non-free
EOF

apt-get update
apt-get dist-upgrade # get a coffee, or 10.
reboot

Skärmdumpar

Uppstart
Skärmdump från uppstartsförfarande

Kali Linux 2.0 Desktop
Kali Linux 2.0 Desktop

Och som du kan se så finnes Iceweasel, terminalen, Metasploit, Armitage, Burpsuite, BeeF, Leafpad och Tweak Tool direkt tillgängliga till vänster i menyn.

Kategorier
Metodik

Pivotering med Metasploit

Att pivotera är främst ett engelskt begrepp och kan beskrivas som att ta sig vidare in i ett komprometterat nätverk eller system. Näthoppande eller språngbräda är två bra beskrivande ord på svenska.

Ett bra exempel för att beskriva pivotering kan vara att du genomfört ett penetrationstest och fått kontroll över en server som är ansluten mot Internet. Du vill sedan söka dig vidare mot det interna nätverket från just den servern som troligtvis har mer behörigheter. Du kan givetvis ladda upp en arsenal av verktyg till den servern som du har kontroll över men det lämnar givetvis spår och ökar chansen att bli upptäckt.

I detta exempel så är 192.168.78.25 en server som ej får ansluta till internet och kan ej nås från internet. Den servern som har IP-adress 192.168.78.5 har vi kontroll över via en exploit i Metasploit och vi har sedan upprättat ett reverse-shell över https port 443:

metasploit_pivot

Metasploit har minst två funktioner för att åstadkomma pivotering, och det är följande två moduler:

  • socks proxy
  • port forwarding

SOCKS4 är en typ av protokoll för applikationer som har funnits i många år och stöds av verktyg såsom Nmap. Skulle verktyget inte stödja socks-proxy så kan du alltid använda verktyget proxychains som ser till att din kommunikation går via proxyn.

När det gäller port forwarding så kan du lägga upp så att enskilda portar skickas vidare internt mot nätverket. Ingen av ovan två lösningar är speciellt smidig och du kan få stora problem med exempelvis timeouts.

Portforwarding i metasploit

För att använda port-forwarding kan du skriva följande kommando från Meterpreter:

meterpreter> portfwd add -L 127.0.0.1 -l 3389 -p 3389 -r 192.168.78.25

Socks4 proxy i metasploit

För att använda socks-modulen skriv följande när du har en öppen meterpreter-session med nummer 1:

route add 192.168.78.0 255.255.255.0 1
use auxiliary/server/socks4a
set SRVHOST 127.0.0.1
set SRVPORT 1080
run

Sedan kan du använda dig av ProxyChains på följande sätt från ditt lokala kommandoskal om du vill köra remote desktop (RDP) mot ett internt IP-nummer:

$ proxychains rdesktop -u admin -p Lösenord 192.168.78.25

Observera att du kan behöva att ändra portnummer och timeout-värden i /etc/proxychains.conf.

Det går även att köra Nessus via SOCKS4 samt så kan du använda dig av viss rekognosering som finns inbyggd i Metasploit såsom auxiliary portscan-modulen:

auxiliary/scanner/portscan/tcp