Kategorier
Verktyg

Nmap 7.70

För några minuter sedan så meddelade Fyodor att en ny stabil version av portskannings-verktyget Nmap har släppts. Denna version heter Nmap 7.70 och innehåller en hel del bra uppdateringar samt åtgärdar en säkerhetsbrist.

Säkerhetsbristen har och göra med hur NSE-scriptet http-fetch sparar ner filer på disk. En webbserver som returnerar ett svar som är formterat på ett visst sätt gör att filer kunde sparas ner till kataloger utanför den katalog som är inställd för nedladdning. Dock gick ej befintliga filer att skriva över.

En av de trevligare uppdateringarna är IPv6 samt IPv4 fingerprints som ökat och även service detection som nu känner igen 1224 st nya protokoll såsom filenet-pch, lscp, netassistant, sharp-remote,
urbackup och watchguard.

9 st nya NSE-script som är enligt följande:

– deluge-rpc-brute performs brute-force credential testing against
Deluge BitTorrent RPC services, using the new zlib library. [Claudiu Perta]
– hostmap-crtsh lists subdomains by querying Google’s Certificate
Transparency logs. [Paulino Calderon]
– [GH#892] http-bigip-cookie decodes unencrypted F5 BIG-IP cookies and
reports back the IP address and port of the actual server behind the
load-balancer. [Seth Jackson]
– http-jsonp-detection Attempts to discover JSONP endpoints in web
servers. JSONP endpoints can be used to bypass Same-origin Policy
restrictions in web browsers. [Vinamra Bhatia]
– http-trane-info obtains information from Trane Tracer SC controllers
and connected HVAC devices. [Pedro Joaquin]
– [GH#609] nbd-info uses the new nbd.lua library to query Network Block
Devices for protocol and file export information. [Mak Kolybabi]
– rsa-vuln-roca checks for RSA keys generated by Infineon TPMs
vulnerable to Return Of Coppersmith Attack (ROCA) (CVE-2017-15361). Checks
SSH and TLS services. [Daniel Miller]
– [GH#987] smb-enum-services retrieves the list of services running on a
remote Windows machine. Modern Windows systems requires a privileged domain
account in order to list the services. [Rewanth Cool]
– tls-alpn checks TLS servers for Application Layer Protocol Negotiation
(ALPN) support and reports supported protocols. ALPN largely replaces NPN,
which tls-nextprotoneg was written for. [Daniel Miller]

Kategorier
Metodik

Masscan löser problemet där Nmap misslyckas

Min grundfilosofi när det gäller penetrationstester är att jag ska ha flera olika val för att lösa en uppgift. En sådan uppgift kan vara att portskanna ett nätverk eller identifiera klienter/servrar på ett internt nätverk.

Mitt förstahandsval är Nmap men det finns ett antal situationer där Nmap inte kan lösa problemet. Därför är det bra att känna till masscan som är utvecklat av Robert Graham. Följande situationer har jag använt masscan till:

  • Identifiera klienter eller servrar på stora interna nätverk
  • Större skanningar på mer än ett /24 där nmap tar lång tid eller ger upp. Då använder jag resultatet från masscan som jag skickar in i nmap för version/service scan (-sV)

Masscan är otroligt snabbt och kraftfullt, och gör du fel så kan du av misstag söka av hela Internet och då blir din internetleverantör troligtvis rätt arg på dig. Enligt Robert så kan du söka av hela internet på 3 minuter efter en port.

Därför kan följande tips vara bra att ta till sig hur du når framgång med masscan.

Först och främst så bör du köra masscan på en server som inte är virtualiserad. Jag fick problem med att interfacet inte kunde identifieras (Xen). Fungerar dock bra under VirtualBox. Följande felmeddelande fick jag:

FAIL: could not determine default interface

De argument som masscan tar är snarlika med de som finns till nmap. Exempel på några argument:

masscan -p 80,443 10.0.0.0/8
masscan --open --banners -p 80,443 10.0.0.0/8

Sedan brukar jag även börja med relativ låg limit på antal paket per sekund. Standard är 100 paket per sekund.

Exempelvis aningens snabbare än standardinställningen med 500 pps:

masscan --open --banners -p 80,443 --rate 1000 10.0.0.0/8

Och sedan öka successivt till kanske 5000 pps. Och är det så att du söker igenom ett internt nätverk och vill identifiera segment där servrar eller klienter finns så slänger jag även på tcpdump i bakgrunden som sparar ner alla paket. Så även om en klient eller server skickar TCP RST tillbaka så vet jag att det troligt finns något där.

Bra även att känna till är de standardvärden som masscan skickar på. Som är följande:

-sS -Pn -n --randomize-hosts -v --send-eth

Och om du startar en skanning och avbryter den genom att trycka Ctrl-C så kommer en fil som heter paused.conf att skrivas ner med bl.a. ett frövärde och index så du kan återuppta en skanning med:

masscan -c paused.conf

Slänger du på –echo i slutet som argument så skrivs en konfigurationsfil ut som du kan ändra och sedan använda med -c. Bra om du exempelvis vill ändra randomize-hosts = true till false.

Andra bra argument jag brukar använda är följande:

Sök igenom samtliga portar:

-p0-65535

Spara ner i binärt format:

-oB filnamn

Kan sedan läsas med –readscan och konverteras till format såsom xml, json eller text:

--readscan filnamn -oX filnamn.xml

Det var allt för denna gång och jag hoppas att du testar masscan som ett alternativ till nmap.

Ett alternativ till masscan är Zmap, och masscan följer givetvis med i Kali Linux.

Skärmdump när Robert skannar av Internet: