Get Shodan
1.0.0
Shodan은 사용자가 다양한 필터를 사용하여 인터넷에 연결된 특정 유형의 컴퓨터(웹캠, 라우터, 서버 등)를 찾을 수 있게 해주는 검색 엔진입니다. 일부에서는 이를 서버가 클라이언트에 다시 보내는 메타데이터인 서비스 배너의 검색 엔진으로 설명하기도 합니다.[1] 이는 서버 소프트웨어에 대한 정보, 서비스가 지원하는 옵션, 환영 메시지 또는 서버와 상호 작용하기 전에 클라이언트가 찾을 수 있는 기타 모든 정보일 수 있습니다. (위키피디아)
shodan에서 일반적인 방법으로 데이터를 다운로드하는 데는 다음과 같은 몇 가지 어려움이 있습니다.
이 도구는 모든 문제를 해결하는 데 도움이 될 것입니다
root@kali:~/getShodan# python getShodan.py -h
____ _ ____ _ _
/ ___| ___| |_ / ___|| |__ ___ __| | __ _ _ __
| | _ / _ __| ___ | '_ / _ / _` |/ _` | '_
| |_| | __/ |_ ___) | | | | (_) | (_| | (_| | | | |
____|___|__| |____/|_| |_|___/ __,_|__,_|_| |_|
usage: getShodan.py [-h] -q <'string query'> -k <shodan_API_key> -o <output
file> -f ip_str/port/os/host/ [-os <offet_number>]
[-l <limit_number>]
get data from Shodan
optional arguments:
-h, --help show this help message and exit
-q <'string query'>, --query <'string query'>
String query search on Shodan
-o <output file>, --output <output file>
Output file
-f ip_str/port/os/host/, --filter ip_str/port/os/host/
Filer string
-os <offet_number>, --offset <offet_number>
The serial number of result will begin downloading
-l <limit_number>, --limit <limit_number>
The number of result will download
--filter의 옵션은 options.txt 파일에 저장됩니다. Shodan 국가 코드는 country.txt 파일에 저장됩니다.
라이브러리 패키지를 설치합니다.
root@kali:~# pip install -r requitements.txt
도구 다운로드:
root@kali:~# git clone https://github.com/dn9uy3n/Get-Shodan
Shodan API 키 받기: https://www.shodan.io에 로그인 >> '내 계정' >> API 키 복사 Shodan API 키를 구성.py 파일에 추가
...
SHODAN_API = <your_API_key>
...
예: Apache 서버의 IP 목록 다운로드는 포트 8080을 열고 OS: Windows Server 2003을 엽니다. out.txt에 저장합니다.
root@kali:~# python getShodan.py -q 'apache port:"8080" os:"Windows Server 2003"' -o out.txt -f ip_str
out.txt 파일을 엽니다.
116.211.11.111
173.239.37.150
136.142.245.117
89.31.96.48
60.248.227.26
...
Shodan에서 결과 IP 위치를 가져옵니다.
$ python check_location_ip.py 91.177.226.21
...
longitude: 4.3337
latitude: 50.8336
Google maps: https://maps.google.com/?q=50.8336,4.3337