В этой статье я покажу простой способ сбора контактной информации (телефонные номера, соцсети, почту и все такое) из результатов поиска DuckDuckGo.
Еще по теме: Скрапинг сайтов на Python [Использование Python в OSINT]
Парсинг сайта с помощью DuckDuckGo
Для этого проекта нам также понадобиться библиотека Python duckduckgo_search и инструмент PDFgrep.
Всю работу будем проводить в Linux с установленным Python. Если у вас его нет, вы можете использовать Gitpod (онлайн-среда разработки на основе Ubuntu). Просто введите https://gitpod.io#https://github.com/deedy5/duckduckgo_search в адресной строке браузера (при необходимости войдите в свою учетную запись Github).
Установите пакет duckduckgo_search.
1 |
pip install -U duckduckgo_search |
Обратите внимание, для установки, я использовали флаг -U . Если у вас уже установлен Duckduckgo_search, он будет обновлен до последней версии.
Проверьте установку:
1 |
ddgs --help |
Загрузка результатов поиска с DuckDuckGo по запросу «старший разработчик Python в Нью-Йорке, резюме @gmail.com, тип файла: pdf»:
1 |
ddgs text -k "старший разработчик Python в Нью-Йорке, резюме @gmail.com filetype:pdf" -m 100 -d |
Параметр -dотвечает за скачивание результатов.
В этом примере я ищу и скачиваю файлы PDF, но точно так же, используя оператор filetype можно скачать документы Word и Excel, а также обычные html-страницы.
Дождитесь завершения загрузки файла, прежде чем переходить к следующему шагу.
Теперь нужно установить утилиту PDFgrep. Вот как вы можете сделать это в Ubuntu (в других дистрибутивах Linux синтаксис команды будет немного отличаться):
1 2 |
sudo apt-get update -y sudo apt-get install -y pdfgrep |
Проверьте установку:
1 |
pdfgrep --help |
И теперь самый важный шаг — искать во всех файлах PDF:
1 |
pdfgrep '\b[A-Za-z0–9._%+-]+@[A-Za-z0–9.-]+\.[A-Za-z]{2,6}\b' -r |
Параметр -r можно заменить на название одного файла для поиска только в нем.
Результатом, как вы можете видеть на скрине, является список найденных адресов электронной почты. А в некоторых случаях строки даже содержат дополнительную контактную информацию, такую как профили в социальных сетях и номера телефонов.
Точно так же используя Python библиотеку duckduckgo_search вы можете скачивать и анализировать любой документ, содержащий контактную информацию, имейлы и телефоны. Включая изображения и видео для последующего сбора метаданных с помощью exiftool.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Решение OSINT задачи CTF VulnMachines
- Установка и использование Nuclei в OSINT
- Лучшие браузерные расширения для OSINT