Йоу йоу йоу ! Здравствуйте мои дорогие читатели, друзья и испытатели!
Открываю рубрику Python для тестирования на проникновения!
Вся информация в моих статьях содержит сугубо ознакомительный характер, предупреждаю вас если вы будете использовать ее во вред, вас могут преследовать по закону УКРФ и вы понесете наказание в рамках закона.
Сегодня я хочу поговорить о супер поисковике "Shodan"
Как использовать Shodan API с Python, для автоматизации сканирования уязвимых устройств
Шодан называет себя «поисковиком для подключенных к интернету девайсов». С таким количеством устройств, подключенных к интернету с различными уровнями безопасности, специальные возможности этой поисковой системы дают нам огромные шансы для проведения тестирования и атак. В этом уроке мы будем использовать Python для уязвимостей программного обеспечения, и извлечения уязвимых IP-адресов из Shodan.
Любое устройство, подключенное к интернету, должно раскрывать какую-то информацию о себе. На некоторых устройствах можно сканировать порты, чтобы выявлять такие вещи, как службы, запущенные на веб-сервере, или имя веб-камеры, подключенной к беспроводной сети.
Здесь
Поиск, подобный тому, который используется Tayrel Walleck, может найти полезную информацию о потенциальной цели. Используя эту же методику, мы посмотрим, что можно найти, используя функцию поиска Shodan и как его можно использовать для взлома.
Ну что интересно? Погнали!
Вместо того, чтобы использовать традиционные поисковые запросы для поиска содержимого, при поиске в Shodan мы будем искать информацию, найденную в заголовках или другую информацию, помимо веб-контента HTTP, которая индексируется традиционными поисковыми системами типа янд*** или гу**.
например как в сериале Mr.robot от которого я просто тащусь))
org:"Evil Corp" product:"Apache Tomcat"
Мы можем набрать эту же команду ,но так как компания Evil Corp. вымышлена, то скорее всего, этот запрос не вернет нам никаких результатов. или вернет второй компонент запроса, это будет «apache Tomcat», выполнение поиска требует использования специальных фильтров, и эта опция будет доступна только зарегистрированным пользователям. Учетную запись Shodan можно легко зарегистрировать, нажав кнопку «Войти / зарегистрироваться» в правом верхнем углу домашней страницы или непосредственно посетив account.shodan.io/register.
После регистрации учетной записи Shodan будет доступен ряд дополнительных возможностей поиска, в виде фильтров, и выдачи до 20 ответов в бесплатной не коммерческой версии.
И так переходим к поисковым фильтрам:
Кароче ребят, извините. Что то надоело мне про Shodan мыслить, знаю что этого материала достаточно написано в интернете . Не будем зря тратить не мое, не ваше время,а давайте перейдем сразу к работе с Python.
2. Вызов API Shodan с помощью Python
Чтобы использовать Python для запросов с использованием Shodan API, нам нужна функциональная среда Python, и установленный модуль Shodan Python. В примерах, используемых в этом посте, используется Python 2.7. Python 3 тоже работает , но требует ряд изменений синтаксиса. В операционных системах Linux на базе Debian Python 2.7 можно установить, открыв терминал и выполнить команды.
Так , Python и библиотека Shodan установлены, мы можем начать писать скрипт Python. В командной строке Linux создадим файл с помощью редактора nano. Обязательно выберите имя файла, отличное от «shodan», чтобы не было конфликтов между ссылкой на библиотеку и скриптом. Давайте создадим файл под названием «search_ip.py»
Для начала добавим строку которая будет загружать библиотеку Shodan. Мы будем использовать функцию импорта Python .
Сейчас откройте личный кабинет в shodan и зайдите в свой акаунт скопируйте API key
и подставьте его в данные
SHODAN_API_KEY = "введите свой ключ сюда"
api = shodan.Shodan(SHODAN_API_KEY)
Теперь мы используем try, чтобы определить, что должен делать скрипт. После этого мы сможем добавить команду, которая использует блок api.search API Shodan для фактического запроса результатов поиска.
В этом примере строка поиска просто "apache" однако мы можем заменить ее на любую другую с фильтрами которые я дал выше.
ВОУ ВОУ ВОУ ! Теперь этот скрипт нужно сохранить запустить и протестить, сохраняем ctrl +o и выходим ctrl +x
Запустим этот скрипт в той директории где мы сейчас находимся python2 search_ip.py
Та да дад дам! вуаля! Все работает!!!!
Ну вот теперь у нас есть инфа которая выглядит так:
Круто! Ну в принципе автоматизировано, но может быть мы просто хотим много целевых айпишников, чтобы потом рассказать их владельцам.
А давайте изменим строки в скрипте чтобы выдавались одни айпи адреса!
Было
стало
Воп Воп, и мы получили кучу ценнейших отфильтрованных ip адресов! congratulations))
Отлично! а давайте напишем скрипт который сразу будет пинговать наши водоемы на предмет наличия живой рыбы. А да, еще надо эту инфу сразу отправить в тхт >>
Теперь у нас есть текстовый файл, содержащий список IP-адресов, которые мы можем использовать для тестирования различных атак, в зависимости от того, какие условия поиска мы использовали для идентификации отдельных видов уязвимых систем.
Так приступим к пингу создадим .sh файл
Сохраняем ctrl +o, закрываем ctrl +x
задаем права на исполнение
Пуск!
Если работает, то вы успешно получили результаты от Shodan и обработали их! Пинг - это не вектор атаки, но с небольшими незначительными изменениями подобный скрипт может использоваться злоумышленником для злых целей которые караются по закону и портят карму!
Ребятишки ! Сделаем еще круче?! Пришьем nmap.
Добавим параметр -sS для тихого сканирования SYN что нас даже не кто и не припалит УхАХАХА(злорадный смех)
Добавим в nmap -sS в начало 3й линии получится
Этот формат можно расширить до практически любой другой атаки, которая может быть запущена из командной строки и включает в себя IP. Такое сканирование и атака нескольких целей - чрезвычайно эффективный метод обнаружения уязвимых систем, не тратя времени на индивидуальное обнаружение и атаку их вручную.
Всем спасибо! Следите за моим блогом, будет очень много интересного! sbs196.ru
p.s Пока подача контента выглядит не можко не эстетично, но все исправим это мои первые шаги!
следите за моим блогом, полный отчет о моих достижениях за пол года с 0 в ИБ который будет 31 декабря 2017! здесь ===> https://codeby.net/threads/blog-kak-ja-deputatom-stal-blagodarja-informacionnoj-bezopasnosti.60012/
Открываю рубрику Python для тестирования на проникновения!
Вся информация в моих статьях содержит сугубо ознакомительный характер, предупреждаю вас если вы будете использовать ее во вред, вас могут преследовать по закону УКРФ и вы понесете наказание в рамках закона.
Сегодня я хочу поговорить о супер поисковике "Shodan"
Как использовать Shodan API с Python, для автоматизации сканирования уязвимых устройств
Шодан называет себя «поисковиком для подключенных к интернету девайсов». С таким количеством устройств, подключенных к интернету с различными уровнями безопасности, специальные возможности этой поисковой системы дают нам огромные шансы для проведения тестирования и атак. В этом уроке мы будем использовать Python для уязвимостей программного обеспечения, и извлечения уязвимых IP-адресов из Shodan.
Любое устройство, подключенное к интернету, должно раскрывать какую-то информацию о себе. На некоторых устройствах можно сканировать порты, чтобы выявлять такие вещи, как службы, запущенные на веб-сервере, или имя веб-камеры, подключенной к беспроводной сети.
Здесь
Ссылка скрыта от гостей
«Mr. robot», Tyrel использует поисковую систему Shodan для сбора информации об Evil Corp. и выполняет поиск «Apache Tomcat».Поиск, подобный тому, который используется Tayrel Walleck, может найти полезную информацию о потенциальной цели. Используя эту же методику, мы посмотрим, что можно найти, используя функцию поиска Shodan и как его можно использовать для взлома.
Ну что интересно? Погнали!
- Для начала разберемся с Shodan
Ссылка скрыта от гостей
в веб-браузере.Вместо того, чтобы использовать традиционные поисковые запросы для поиска содержимого, при поиске в Shodan мы будем искать информацию, найденную в заголовках или другую информацию, помимо веб-контента HTTP, которая индексируется традиционными поисковыми системами типа янд*** или гу**.
например как в сериале Mr.robot от которого я просто тащусь))
org:"Evil Corp" product:"Apache Tomcat"
Мы можем набрать эту же команду ,но так как компания Evil Corp. вымышлена, то скорее всего, этот запрос не вернет нам никаких результатов. или вернет второй компонент запроса, это будет «apache Tomcat», выполнение поиска требует использования специальных фильтров, и эта опция будет доступна только зарегистрированным пользователям. Учетную запись Shodan можно легко зарегистрировать, нажав кнопку «Войти / зарегистрироваться» в правом верхнем углу домашней страницы или непосредственно посетив account.shodan.io/register.
После регистрации учетной записи Shodan будет доступен ряд дополнительных возможностей поиска, в виде фильтров, и выдачи до 20 ответов в бесплатной не коммерческой версии.
И так переходим к поисковым фильтрам:
Код:
country: Страна
city: Город
geo: Гео локация
hostname: Хост
net: ip адрес
os: Операционная система
port: Порт
2. Вызов API Shodan с помощью Python
Чтобы использовать Python для запросов с использованием Shodan API, нам нужна функциональная среда Python, и установленный модуль Shodan Python. В примерах, используемых в этом посте, используется Python 2.7. Python 3 тоже работает , но требует ряд изменений синтаксиса. В операционных системах Linux на базе Debian Python 2.7 можно установить, открыв терминал и выполнить команды.
Код:
sudo apt-get update && sudo apt-get install python2.7
sudo apt-get install python-pip
sudo pip install shodan
sudo pip2.7 install shodan
easy_install shodan
Код:
nano search_ip.py
Код:
import shodan
и подставьте его в данные
SHODAN_API_KEY = "введите свой ключ сюда"
api = shodan.Shodan(SHODAN_API_KEY)
Теперь мы используем try, чтобы определить, что должен делать скрипт. После этого мы сможем добавить команду, которая использует блок api.search API Shodan для фактического запроса результатов поиска.
Код:
try:
results = api.search('apache')
Код:
#показать результат поиска
print 'Results found: %s' % results 'total'
for result in results 'matches':
print 'IP: %s' % result'ip_str'
print result 'data'
print ' '
except shodan.APIError, e:
print 'Error: %s' % e
Запустим этот скрипт в той директории где мы сейчас находимся python2 search_ip.py
Та да дад дам! вуаля! Все работает!!!!
Ну вот теперь у нас есть инфа которая выглядит так:
Код:
IP: 11*.**.***.*2
HTTP/1.1 401 Authorization Required
Date: Sat Dec 16 15:53:50 2017
Server: Apache/2.0.40 (Red Hat Linux)
WWW-Authenticate: Digest realm="DigAuth", nonce="iNq3wdl1yKpo/qq1ZejbBNWGLg90gFfDTJ6Eng5aqjDpOuenMCDNQaUb7SPbXvf", algorithm=MD5, domain="/", qop="auth"
Vary: accept-language
Accept-Ranges: bytes
Content-Length: 0
Connection: close
Content-Type: text/html; charset=ISO-8859-1
А давайте изменим строки в скрипте чтобы выдавались одни айпи адреса!
Было
Код:
print 'IP: %s' % result['ip_str']
Код:
results = api.search('apache')
#Show the results
for result in results['matches']:
print '%s' % result['ip_str']
except shodan.APIError, e:
print 'Error: %s' %e
Отлично! а давайте напишем скрипт который сразу будет пинговать наши водоемы на предмет наличия живой рыбы. А да, еще надо эту инфу сразу отправить в тхт >>
Код:
python2 search_ip.py >> log_ip_shodan.txt
Так приступим к пингу создадим .sh файл
Код:
nano ping_ip.sh
#!/bin/bash
cat log_ip_shodan.txt | while read line
do
ping $line
done
задаем права на исполнение
Код:
chmod +x ping_ip.sh
5.4.3.2.1......
Код:
./ping_ip.sh
Ребятишки ! Сделаем еще круче?! Пришьем nmap.
Добавим параметр -sS для тихого сканирования SYN что нас даже не кто и не припалит УхАХАХА(злорадный смех)
Добавим в nmap -sS в начало 3й линии получится
Код:
#!/bin/bash
cat log_ip_shodan.txt | while read line
do
nmap -sS $line
done
Всем спасибо! Следите за моим блогом, будет очень много интересного! sbs196.ru
p.s Пока подача контента выглядит не можко не эстетично, но все исправим это мои первые шаги!
следите за моим блогом, полный отчет о моих достижениях за пол года с 0 в ИБ который будет 31 декабря 2017! здесь ===> https://codeby.net/threads/blog-kak-ja-deputatom-stal-blagodarja-informacionnoj-bezopasnosti.60012/
Последнее редактирование модератором: