Пишем Shodan-сканнер на Python

Пишем Shodan-сканнер на Python

https://t.me/it_ha

[Авторский контент]

Доброго времени суток, господа. Сегодня пишем сканнер сайтов на Python и API от SHODAN. Для этого нам понадобятся библиотеки requests, sys и shodan. Поставить их можно так:

Так-же надо зарегаться на shodan и получить API-ключ. Там все просто. Зацикливаться на этом не будем. Вот наш код:

#!/usr/bin/python3

import shodan

import requests

import sys

SHODAN_API_KEY = "Ваш API-ключ"

api = shodan.Shodan(SHODAN_API_KEY)

#получаем нашу жертву от юзера

target = str(input("\nInput host: "))

#формируем запрос для Shodan

dnsResolve = 'https://api.shodan.io/dns/resolve?hostnames=' + target + '&key=' + SHODAN_API_KEY

try:

#получаем ответ от Shodan и выводим его в консоль

   resolved = requests.get(dnsResolve)

   hostIP = resolved.json()[target]

   host = api.host(hostIP)

   print("\nIP: %s" % host['ip_str'])

   print("Organization: %s" % host.get('org', 'n/a'))

   print("Operating System: %s" % host.get('os', 'n/a'))

   for item in host['data']:

       print("Port: %s" % item['port'])

       print("Banner: %s" % item['data'])

   for item in host['vulns']:

       CVE = item.replace('!', '')

       print("Vulns: %s" % item)

       exploits = api.exploits.search(CVE)

       for item in exploits['matches']:

           if item.get('cve')[0] == CVE:

               print(item.get('description') + '\n')

except Exception:

   e = sys.exc_info()[1]

   print(e.args[0] + '\n')

Вы наверняка хотите увидеть как оно работает:

Такое можно проводить почти с любыми сайтами. Наш скрипт будет выдавать нам открытые порты, возможные уязвимости и даже экспойты к ним.

Спасибо за внимание.

By Hacker

Report Page