Kategorier
Verktyg

Shodan CLI

Shodan_logoScanningstjänsten Shodan har sedan tidigare ett command line interface som är lätt och enkelt att använda. Shodan har sökt igenom stora delar av Internet och har gjort resultatet tillgänglig för vem som helst att ladda ner och analysera.

Och för den som inte gillar webbgränssnittet som tillhandahålls så går det även att använda cli:t.

Vi installerar verktyget via pip genom att skriva följande kommando:

$ pip install shodan

Sedan kan vi bara skriva shodan för att se möjliga argument:

$ shodan
Usage: shodan [OPTIONS] COMMAND [ARGS]...
Options:
 -h, --help Show this message and exit.
Commands:
 alert
 convert Convert the given input data file into a...
 count Returns the number of results for a search
 download Download search results and save them in a...
 host View all available information for an IP...
 info Shows general information about your account
 init Initialize the Shodan command-line
 myip Print your external IP address
 parse Extract information out of compressed JSON...
 scan Scan an IP/ netblock using Shodan.
 search Search the Shodan database
 stats Provide summary information about a search...
 stream Stream data in real-time.

Säg exempelvis att vi vill hitta alla webbservrar som agerar som Docker-registrys (docker är en DevOps/container tjänst). Vi ansluter först till en tjänst där vi vet att vi har ett registry:

$ curl -I https://docker-registry
HTTP/1.1 404 Not Found
Content-Type: text/plain; charset=utf-8
Docker-Distribution-Api-Version: registry/2.0
Date: Tue, 03 Nov 2015 07:22:25 GMT
Content-Length: 19

Här kan vi lätt och enkelt se att http-headern Docker-Distribution-Api-Version skickas med. Vi kan nyttja denna unika information för att sedan söka i Shodans register.

Statistik:

$ shodan stats Docker-Distribution-Api-Version
Top 10 Results for Facet: country
US 557
CN 77
DE 64
IE 54
FR 36
NL 32
GB 26
RU 10
AU 9
JP 7
Top 10 Results for Facet: org
E.I. du Pont de Nemours and Co. 228
Amazon.com 179
Amazon 82
Digital Ocean 38
DigitalOcean 29
Aliyun Computing Co., LTD 13
OVH SAS 12
Microsoft Hosting 11
Google Cloud 11
Internet Service Provider in China 8

Det var enkelt. Nu kan vi erhålla en lista på exakt vilka IP-adresser som innehar Docker-register med följande kommando:

$ shodan search --fields ip_str,port,org,hostnames Docker-Distribution-Api-Version

Men vill vi ha rå data så går det att ladda ner direkt till en local json-fil:

$ shodan download docker-registry Docker-Distribution-Api-Version

För att sedan parsas direkt med shodan eller eget verktyg:

$ shodan parse docker-registry.json.gz

eller

$ gzcat docker-registry.json.gz|jq .

Gillar du Shodan? Titta då även på den data som Censys.io tillhandahåller.

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *