
Сборщик криминалистических доказательств

Скомпилировано и протестировано с Rust 1.50+. Откройте терминал в каталоге проекта и для компиляции релизной сборки введите
cargo build --release
Отладочную сборку можно скомпилировать с помощью
cargo build
Скомпилированный исполняемый файл находится в target/release/gargamel.exe или target/debug/gargamel.exe соответственно.
Если вы хотите изменить уровень логирования:
src/main.rsLevelFilter::Info на (например) LevelFilter::Trace для более подробного логирования.
LevelFilter::Trace будет логировать всё, включая пароли.На данный момент это приложение работает только в Windows, а целевой компьютер должен использовать Windows или Linux.
Убедитесь, что следующие программы находятся в том же каталоге, что и Gargamel.
psexec, скачатьpaexec, альтернатива PsExec с открытым исходным кодом, скачатьwinpmem, инструмент для создания образов памяти с открытым исходным кодом, скачать.
plink и pscp, клиенты SSH/SCP с интерфейсом командной строки с открытым исходным кодом, скачатьSharpRDP, исполнитель команд с использованием RDP с открытым исходным кодом, скачатьWMImplant, исполнитель команд WMI на PowerShell с открытым исходным кодом, скачать7za.exe, автономная консольная версия архиватора 7zip, скачатьПримечание: Нам нужны оба приложения psexec и paexec. Хотя оба приложения предположительно функционально эквивалентны, на самом деле они ведут себя по-разному в некоторых обстоятельствах.
Для полной функциональности Gargamel необходимо запускать из терминала с повышенными привилегиями. В настоящее время он не поддерживает диалоговое окно UAC и никакие уведомления при работе с ограниченными правами. При работе с ограниченными правами пользователя некоторые операции, такие как снятие дампа памяти цели, не будут работать.
Предположим, вы хотите подключиться к компьютеру со следующими параметрами:
192.168.42.47Janonbusr123Следующая команда позволит получить состояние брандмауэра, состояние сети, вошедших пользователей, запущенные процессы, активные сетевые подключения, реестр, журналы событий системы и приложений с помощью метода PsExec.
Доказательства будут сохранены в каталоге testResults относительно расположения Gargamel.
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults
Gargamel запросит пароль удаленного пользователя; в нашем примере пароль nbusr123.
Обратите внимание, что пароль будет скрыт при вводе.
Также можно указать пароль напрямую как аргумент программы.
gargamel.exe -c 192.168.42.47 -u Jano --psexec -p nbusr123 -o testResults
Предположим, вы хотите подключиться к компьютеру в домене со следующими параметрами:
WORKSPACEJanovPCJanonbusr123Следующая команда позволит получить состояние брандмауэра, состояние сети, вошедших пользователей, запущенные процессы, активные сетевые подключения, реестр, журналы событий системы и приложений с помощью метода PsExec.
gargamel.exe -c JanovPC -u Jano -d WORKSPACE --psexec -o testResults
Или, чтобы пропустить запрос пароля, укажите пароль напрямую.
gargamel.exe -c JanovPC -u Jano -d WORKSPACE --psexec -p nbusr123 -o testResults
PsExec — один из 5 поддерживаемых методов подключения.
Вы можете заменить --psexec на следующие параметры:
--psexec--psrem, если на целевой машине настроен PowerShell remoting.--rdp, если на целевой машине включён RDP.--wmi.--ssh, если целевая машина использует Linux.Возможно использовать несколько методов одновременно. Например, для использования и PsExec, и RDP можно использовать следующую команду.
gargamel.exe -c 192.168.42.47 -u Jano --psexec --rdp -o testResults
Также есть специальный переключатель --all, который эквивалентен указанию --psexec --rdp --psrem --wmi.
Примечание: Параметры запуска не зависят от порядка, то есть не имеет значения, в каком порядке указаны параметры.
Чтобы также получить дамп памяти, просто добавьте флаг -m к параметрам программы, т.е.
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -m
Если вы хотите получить ТОЛЬКО дамп памяти без других доказательств, используйте следующую команду.
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -m --no-events-search --no-evidence-search --no-registry-search
Эта функция доступна только для целей Windows.
Gargamel может выполнять пользовательские команды Windows CMD или Linux shell на удаленной машине.
Сначала создайте файл custom-commands.txt со следующим содержимым.
# Will be run using any method
ipconfig
# Will run only when launching with at least one of --all, --psexec, --wmi methods
:psexec:wmi ipconfig -all
Результаты вышеуказанных команд будут сохранены в каталоге, указанном параметром -o.
Чтобы выполнить вышеуказанные команды из файла custom-commands.txt, используйте переключатель -e, т.е.
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -e custom-commands.txt
Gargamel может загружать удаленные файлы.
Сначала создайте файл custom-files.txt со следующим содержимым.
C:\Users\Public\sss*
C:\Users\Jano\danove.pdf
# This line and the next one will be ignored
# C:\Users\Jano\somBajecny.pptx
Результаты вышеуказанных команд будут сохранены в каталоге, указанном параметром -o.
Чтобы выполнить вышеуказанные команды из файла custom-files.txt, используйте переключатель -s, т.е.
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -s custom-files.txt
Все поддерживаемые переключатели описаны ниже.
USAGE:
gargamel.exe [FLAGS] [OPTIONS] --user <user>