Сливы
September 22, 2020

--> API Shodan и как его использовать в Python-script <--

Hello Users!

Shodan — это бесплатная поисковая система для нахождения самых разнообразных устройств, систем и сервисов, которые подключены ко Всемирной Сети.
Моё имя DedReTr0.И сегодня я расскажу как использовать API Shodan.

!!!!ВСЁ МЫ ПРОДЕЛЫВАЕМ НА KALI LINUX(либо на любой другой linux системе)!!!!
1)
Для начала идём на сам сайт https://www.shodan.io/ (не реклама).Далее мы регистрируемся на данном сайте (Думаю объяснять не надо)

2)

После регистрации мы сможем искать информацию при помощи фильтров:

  • country: страна, в формате RU, UK, US и т.д., например: nginx country:RU
  • city: город, например: nginx city:«Moscow» country:RU
  • os: операционная система, например: microsoft-iis os:«windows 2003»
  • port: порт в формате 21, 80, 443 и тд, например: proftpd port:21
  • hostname: позволяет искать с учетом домена, например: nginx hostname:.de

Мы уже можем искать всякую информацию...Но мы сюда пришли что бы узнать как идёт поиск при помощи Python-Script.

3)

  1. Открываем консоль
  2. Пишем 'pip install shodan'

Далее мы можем увидеть установку pip-а .
После удачной установки этого pip-a мы открываем любой текстовый редактор в котором вам удобно писать код(в моём случае Atom)
И начинаем писать код..

import os
import random
import shodan
import time
import sys

# API Shodan

SHODAN_API_KEY = "Insert your API key here --> "
api = shodan.Shodan(SHODAN_API_KEY)

try:
# Сам Поиск
       results = api.search(search)
        search = input('Type something filters for searching..')
        # Show the results
        print('Results found: {}'.format(results['total']))
        for result in results['matches']:
                print('IP: {}'.format(result['ip_str']))
                print(result['data'])
                print('')
except shodan.APIError as e:
        print('Error: {}'.format(e))

Это обычный поиск по фильтрам(То есть поисковик Shodan в Терминале).Конечно его можно украсить и т.д

Но я собираюсь сделать скрипт который будет искать уязвимые камеры..

Будем искать камеры webcamxp так-как они самые уязвимые

Начнём писать наш скрипт..

import os
import random
import shodan
import time
import sys

# API Shodan

SHODAN_API_KEY = "Insert your API key here --> "
api = shodan.Shodan(SHODAN_API_KEY)
webcamxp = 'webcamxp'
country = input('Insert name of Country(Short Name:RU,UA..) -->'
#Если хотите поиск по городу то уберите комментарий со следующей строки и исправьте строчку с поиском
# city = 'Insert name of City -->'
try:
# Сам Поиск
       results = api.search(webcamxp , country )
        search = input('Type something filters for searching..')

        # Show the results
        print('Results found: {}'.format(results['total']))
        for result in results['matches']:
                print('IP: {}'.format(result['ip_str']))
                print(result['data'])
                print('')
except shodan.APIError as e:
        print('Error: {}'.format(e))

Вот и всё..Вроде бы

Следующая статья будет про Фишинг или про Более распространённый взлом ВебКамер
Всем удачи , всем пока..