
Быстро извлекает 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 раза, и записано среднее время.
Processor Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz, 2904 Mhz, 6 Core(s), 12 Logical Processor(s)
Ram 12.0 GB (11.9 GB usable)
| Команда | Скорость |
|---|---|
cat test.txt | ds -t | 00h:02m:04s |
ds -t -f test.txt | 00h:02m:05s |
cat test.txt | ds -t -o output.txt | 00h:02m:06s |
| Команда | Скорость | Количество запросов |
|---|---|---|
cat test.txt | ds -t -6 | 00h:00m:12s | 1 |
При создании нового отчёта об ошибке, пожалуйста, ответьте на ВСЕ вопросы в шаблоне ошибки. Отчёты с недостаточной информацией будут закрыты.
cat test.txt | ds -t -i -m | 00h:00m:22 | 2 |
cat test.txt | ds -tF6c | 00h:00m:32s | 3 |