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 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