
Быстро извлекает IP-адреса, адреса электронной почты, хэши, файлы, номера кредитных карт, номера социального страхования и многое другое из текста
DataSurgeon (ds) — универсальный инструмент, предназначенный для реагирования на инциденты, DLP, тестирования на проникновение и CTF-задач. Он позволяет извлекать различные типы конфиденциальной информации, включая электронные письма, номера телефонов, хэши, кредитные карты, URL-адреса, IP-адреса, MAC-адреса, SRV-записи DNS и многое другое!
Чтобы узнать, как управлять плагинами, следуйте руководству здесь.
Это обновление добавляет в DataSurgeon систему управления плагинами. Теперь вы можете добавлять, удалять и выводить список плагинов с помощью опций --add, --remove и --list.
Я также добавил новый плагин ds-winreg-plugin, который может находить пути реестра Windows.
Чтобы добавить новый плагин, используйте --add <URL>, где URL — это репозиторий GitHub с файлом plugins.json. Для удаления плагина используйте --remove <URL>. Чтобы увидеть все свои плагины, используйте опцию --list.
После добавления плагина вы можете использовать его как аргумент в DataSurgeon. Имя аргумента — это «Длинное имя аргумента» (Argument Long Name) в файле плагина plugins.json.
Быстрая установка также может использоваться для обновления DataSurgeon.
Установите Rust и Git, затем ПЕРЕЗАГРУЗИТЕ ТЕРМИНАЛ.
read -p "Would you like to add 'ds' to your local bin? This will make 'ds' executable from any location in your terminal. (y/n) " response && wget -q -O - https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | bash -s -- "$response"
Введите строку ниже в окне PowerShell с правами администратора.
IEX (New-Object Net.WebClient).DownloadString("https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.ps1")
Перезапустите терминал, и вы сможете использовать ds из командной строки.
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | sh

Здесь я использую wget для запроса к stackoverflow, затем передаю тело текста в ds. Опция -F выводит все найденные файлы. --clean используется для удаления лишнего текста (например, лишнего HTML). Затем результат передаётся в uniq, который удаляет неуникальные файлы. При желании вы можете убрать предупреждающее сообщение вверху 'Reading standard input..' с помощью -S.
$ wget -qO - https://www.stackoverflow.com | ds -F --clean | uniq

Здесь я извлекаю все MAC-адреса, найденные в лог-файле autodeauth's с помощью запроса -m. Опция --hide скрывает строку-идентификатор перед результатами. В данном случае скрывается 'mac_address: ' из вывода. Опция -T используется для многократной проверки одной и той же строки на совпадения. Обычно, когда совпадение найдено, инструмент переходит к следующей строке, а не проверяет снова.
$ ./ds -m -T --hide -f /var/log/autodeauth/log
2023-02-26 00:28:19 - Sending 500 deauth frames to network: BC:2E:48:E5:DE:FF -- PrivateNetwork
2023-02-26 00:35:22 - Sending 500 deauth frames to network: 90:58:51:1C:C9:E1 -- TestNet
Вы можете использовать опцию --directory для рекурсивного чтения всех файлов в указанном каталоге. Опция -D отображает имя файла, в котором найдено совпадение. -l или --line отображает номер строки, где найдено содержимое.
$ ds --directory test_dir/ -Dl

Чтобы вывести результаты в CSV-файл, используйте опцию -o с именем файла для сохранения данных. Поддерживаются -D и -X. Формат: ds -o <ИМЯФАЙЛА>.csv (обязательно .csv).
$ wget -qO - https://www.stackoverflow.com | ds -o output.csv -C

Если не указан конкретный запрос, ds ищет по всем возможным типам данных, что ЗНАЧИТЕЛЬНО медленнее, чем использование отдельных запросов. Самый медленный запрос — --files. Также немного быстрее использовать cat для передачи данных в ds.
Ниже указано затраченное время при обработке тестового файла размером 5 ГБ, сгенерированного ds-test. Каждый тест выполнялся 3 раза, и записано среднее время.