November 24, 2018

SpiderFoot-сбор данных

SpiderFoot — это инструмент с открытым исходным кодом для автоматизированной разведки. Его цель — автоматизировать процесс сбора информации о заданной целе.

Есть три главных сферы, где может быть полезен SpiderFoot:

  1. Если вы тестер на проникновение, SpiderFoot автоматизирует стадию сбора информации по цели, даст вам богатый набор данных чтобы помочь вам определить направления деятельности для теста.
  2. Для понимания, что ваша сеть/организация открыта на показ для внешнего мира. Эта информация в плохих руках может представлять значительный риск.
  3. SpiderFoot также может быть использована для сбора информации о подозрительных вредоносных IP, которые вы могли видеть в ваших логах или получили через каналы разведки угроз.

Особенности SpiderFoot

  • Использует уйму источников: более 40 и их число продолжает расти, среди них SHODAN, RIPE, Whois, PasteBin, Google, SANS и другие.
  • Создан для максимального извлечения данных: каждый кусочек данных, получаемый модулем, может быть интересным, поскольку из него можно извлечь ценную информацию.
  • Работает на Linux и Windows. Полностью открыт исходный код, следовательно вы можете сделать ваш форк на GitHub и вообще делать что хотите с программой.
  • Визуализация. Встроенная визуализация, основанная на JavaScript, возможность экспорта в GEXF/CSV для использования в других инструментах, например, в Gephi.
  • Пользовательский интерфейс основанный на веб. Без громоздких команд в командной строке и без бардака с Java. Простой в использовании, простой в навигации. Посмотрите на скриншоты.
  • Высоко настраиваемый. Почти каждый модуль имеет настройки, следовательно вы можете задать уровень навязчивости и функциональности.
  • Модальность. Любой значительный кусок функциональности — это модуль, написанный на Python. Не стесняйтесь писать ваших собственный модули и присылать их для включения в программу!
  • В связке с SQLite. Все ваши результаты сканирования сохраняются в локальной SQLite базе, следовательно вы можете играться с ними как вашей душе угодно.
  • Одновременные сканирования. Каждое сканирование запускается в своём собственном потоке, поэтому вы можете выполнить сканирования множества целей в одно время.
  • И даже больше… Смотрите официальную документацию, чтобы узнать ещё больше!

В отличии от именитого конкурента Maltego, SpiderFoot полностью бесплатен и намного более полезен, поскольку способен собрать информации больше на несколько порядков.

УУстановка SpiderFoot

УУстановка SpiderFoot в Linux

SpiderFoot написан на Python (2.7), поэтому для его запуска на Linux/Solaris/FreeBSD/и т.д. вам нужен установленный Python 2.7, а также дополнительные модули lxml, netaddr, M2Crypto, CherryPy и Mako.

Установите зависимости

pip install lxml netaddr M2Crypto cherrypy mako

Другие модули, такие как MetaPDF, SOCKS и т. д. Уже включены в пакет SpiderFoot, поэтому необязательно их устанавливать отдельно.

Скачайте архив с программой

http://www.spiderfoot.net/download/

Распакуйте и перейдите в каталог с программой:

~$ tar zxvf spiderfoot-X.X.X-src.tar.gz

~$ cd spiderfoot-X.X.X

~/spiderfoot-X.X.X$

Запуск программы

./sf.py

Или так

python ./sf.py

В браузере перейдите по адресу http://127.0.0.1:5001/

Некоторые сервисы требуют наличия API ключей (даются бесплатно при регистрации), об этих сервисах и о получении API ключей написано на странице документации:

http://www.spiderfoot.net/documentation/

Также с приложением можно работать посредством командной строки (запуском core-cli.rb с параметрами), но в данной статье рассматривается только работа через браузер.

Описание:

Task – здесь можно выбрать тип задачи (45 наименований), также здесь отображаются текущие и уже выполненные задания.

Scan – запуск одного из двух видов сканирования: «обнаружение» или «поиска субдоменов».

Entities – все найденные сущности.

Admin – настройки программы (API-ключи для сервисов), в самом низу настроек полезная кнопка для очистки сущностей (http://127.0.0.1:7777/v1/admin/clear).

Ниже представлен список имеющихся задач (Task) с кратким описанием:

  1. Check Project Honeypot – проверка сайта на информацию project honeypot.

2. Convert Entity – конвертирование сущности в другой тип.

3. DNS Cache Snoop – запрос DNS сервера на список доменов и проверка, если последний визит этого домена в их кэше.

4. DNS Forward Lookup – просмотр IP данного хоста, захват всех типов записей.

5. DNS MX Lookup – поиск записей MX данной DNS записи.

6. DNS Reverse Lookup – ищет имя данного IP адреса.

7. DNS SPF Recursive Lookup – рекурсивный поиск DNS SPF.

8. DNS Service Record Bruteforce – простой брутфорс службы записи DNS.

9. DNS Subdomain Bruteforce – DNS брутфорс субдоменов.

10. DNS TLD Bruteforce – брутфорс домена верхнего уровня DNS.

11. DNS TXT Lookup – поиск DNS TXT.

12. DNS Zone Transfer – передача зоны DNS.

13. Email Bounceback – эта задача проверяет домен на возвращаемые письма через gmail.

14. Email Harvester – эта задача «выскабливает» email адреса из результатов поискового движка.

15. Email Validate – эта задача проверяет валидность email через email-validator.net API.

16. Email Validate via MailboxLayer – эта задача проверяет валидность email через MailboxLayer API.

17. Example – пример, возвращает случайные данные.

18. Fuzz a NetSvc with random data – эта задача подключается к службе и отправляет множество случайных данных.

19. Geolocate Host – выполняет геолокацию, основанную на IP адресе.

20. Masscan Scan – эта задача запускает сканирование masscan в отношении целевого хоста или домена.

21. Nmap Scan – эта задача запускает nmap сканирование на целевой хост или домен.

22. Phone Number Carrier Lookup – эта задача использует CarrierLookup API для определения поставляемого номера телефона.

23. Search Bing – эта задача использует Bing API и ищет связанный контент, отображаются обнаруженные домены.

24. Search Censys.io – искать при помощи Censys search engine.

25. Search EDGAR – искать при помощи EDGAR corporation search.

26. Search Google – эта задача использует Google API и находит связанный контент, отображаются обнаруженные домены.

27. Search Pipl – использование Pipl API для поиска по сущностям.

28. Search Shodan – использует SHODAN API для поиска информации.

29. URI Check Safebrowsing API – проверяет URI в Google Safebrowsing (StopBadware) API.

30. URI Check Security Headers – эта задача проверяет типичные заголовки безопасности HTTP на веб приложении.

31. URI Exploitable Scanner – эта задача сканирует целевой URL на предмет наличия выполняемых скриптов, которые обрабатывают какие-либо запросы.

32. URI Extract Metadata – эта задача загружает контент единичного URI и извлекает сущности из текста и метаданных.

33. URI Gather And Analyze Links – эта задача разбирает главную страницу и выполняет анализ на ссылки.

34. URI Gather Headers – эта задача проверяет HTTP заголовки веб-приложения.

35. URI Gather Robots.txt – эта задача проверяет robots.txt и добавляет любые найденные URI.

36. URI Gather SSL Certificate – получение SSL сертификата от сервера приложений.

37. URI Gather Sitemap (sitemap.xml) – эта задача проверяет sitemap.xml и добавляет любые URI, которые находит.

38. URI Gather Technology – эта задача определяет платформу и технологию цели.

39. URI HTTP Auth Brute – эта задача брутфорсит аутентификацию, передаётся URI, требующее HTTP аутентификацию.

40. URI HTTP Screenshot – эта задача делает скриншот URI.

41. URI Spider – эта задача паутинит данный URI, отображая сущности из страницы текста, а также из разобранных файлов.

42. URI Youtube Metadata – эта задача загружает метаданные данного URI видео youtube.

43. Web Account Check – эта задача использует крупные веб-сайты, проверяя существующие аккаунты, обнаруженные аккаунты отображаются.

44. Whois – выполняет поиск whois по данной сущности.

45. Zmap Scan – эта задача запускает zmap сканирование на целевой хост или домен.