SpiderFoot-сбор данных
SpiderFoot — это инструмент с открытым исходным кодом для автоматизированной разведки. Его цель — автоматизировать процесс сбора информации о заданной целе.
Есть три главных сферы, где может быть полезен SpiderFoot:
- Если вы тестер на проникновение, SpiderFoot автоматизирует стадию сбора информации по цели, даст вам богатый набор данных чтобы помочь вам определить направления деятельности для теста.
- Для понимания, что ваша сеть/организация открыта на показ для внешнего мира. Эта информация в плохих руках может представлять значительный риск.
- 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) с кратким описанием:
- 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 сканирование на целевой хост или домен.