
Кроссплатформенный набор инструментов для сетевых атак (SMB/Kerberos/WMI/LDAP/DCSync), построенный на основе Titanis от TrustedSec — рабочий процесс в стиле NetExec на C#
Atlas — это кроссплатформенный (Windows/Linux) инструментарий для сетевого выполнения и оценки безопасности, построенный на основе библиотеки протоколов TrustedSec's Titanis. Он вдохновлён рабочим процессом NetExec/CrackMapExec: списки целей, наборы учётных данных, модульное перечисление и компактный вывод в консоль вида [HH:mm:ss] [+] host - message.
Этот инструмент предназначен для авторизованного тестирования безопасности. Используйте его только против систем, на тестирование которых у вас есть явное разрешение.
| Протокол | Возможности |
|---|---|
smb | Проверка аутентификации (NTLM/Kerberos/анонимно), общие ресурсы, пользователи, группы, диски, сессии через SRVS/SAMR; SAM/LSA через Remote Registry; файловые операции по SMB2/3; --pass-pol/--rid-brute/--gen-relay-list/--generate-krb5-file/--generate-hosts-file/--generate-tgt; снимки/потоки/открытые файлы/сетевые адаптеры; участники групп, поиск LSA SID/имени, запрос к реестру, службы, вошедшие пользователи, список/завершение задач, принудительная EFS; выполнение через wmiexec / smbexec / mmcexec (MMC DCOM) |
kerberos | Перечисление пользователей, обнаружение pre-auth/AS-REP, Kerberoasting, атака Key List, подделка билетов (golden/silver), запрос TGT, смена пароля, S4U2Self/Proxy (-S4UserName) |
wmi | Аутентификация через DCOM/WMI, Win32_Process.Create (-x/-X) или --wmi-query (WQL), перечисление пространств имён, реестр StdRegProv, вызов методов DCOM, перечисление эндпоинтов EPM |
ldap | Аутентификация через SASL/simple bind, запросы + флаги (--users/--trusted-for-delegation/--pass-pol/--get-sid и т.д.), --kerberoasting, операции записи (-AddUser/-AddComputer/-Delete/-Modify/-SetPassword), модули, --bloodhound (-c) в BloodHound CE JSON+zip |
dcsync | Репликация через [MS-DRSR] (DRSGetNCChanges): отдельные объекты, полная синхронизация NC --ntds, топология (-DcInfo/-ListDomains/-ListSites/-ListRoles/-ListPartitions/-ListGcs/-Neighbors/-CrackName) |
Стиль флагов по возможности следует NetExec (
--shares,--users,--pass-pol,--rid-brute,--local-groups,-dдомен,-Hхеш,--kdcHost,-M/-o/-Lмодули). Написание Titanis с одним дефисом (-Shares,-ud,-NtlmHash) продолжает работать. Примечание:-x/-Xне могут сосуществовать (без учёта регистра), поэтому выполнение PowerShell — это-ps;-dвезде означает домен, включаяkerberos(realm берётся из него по умолчанию).
atlas <proto> -L выводит их список)| Модуль | Протокол | Описание |
|---|---|---|
spider | smb | Рекурсивный обход общих ресурсов (depth, maxfiles, match) |
shareaccess | smb | Проверка доступа READ/WRITE для каждого общего ресурса |
localadmins | smb | Локальные администраторы через SAMR |
gpp_password | smb | Расшифровка cpassword из Groups.xml и т. п. |
gpp_autologin | smb | Учётные данные автологона из Registry.xml |
gpp_privileges | smb | Назначения привилегий из GptTmpl.inf |
uac / wdigest / runasppl / install_elevated | smb | Проверки реестра через winreg |
spooler | smb | Статус Print Spooler через SCM |
keepass / rclone / winscp / mremoteng / vnc и др. | smb | Поиск файлов на общих ресурсах |
ntlmv1 / reg-winlogon / hyperv-host | smb | LmCompatibilityLevel, автологон Winlogon, хост Hyper-V |
remote-uac / rdp / shadowrdp | smb | Чтение/запись удалённого UAC, RDP, теневого RDP (ACTION=...) |
reg-query | smb | Запрос/установка/удаление значений реестра (PATH=..., KEY=..., VALUE=..., TYPE=..., DELETE=True) |
enum_cve | smb | Проверка CVE по уровню патчей на основе сборки + UBR |
enum_av | smb | AV/EDR через имена служб LSA + каналы IPC$ |
enum_dns / get_netconnections / bitlocker | smb | Через WMI (root\MicrosoftDNS, конфигурации сетевых адаптеров, BitLocker) |
putty / notepad / recent_files / recyclebin / snipped | smb | Сессии PuTTY + .ppk, состояние вкладок Notepad, недавние LNK, корзина, скриншоты |
lockscreendoors | smb | Бэкдорные бинарники специальных возможностей через FileDescription |
drop-sc / drop-library-ms / scuffy / slinky | smb | Приманки для принудительной аутентификации + CLEANUP=True |
webdav / smbghost / onelogon / sccm-recon6 | smb | Проверка WebClient, проба SMBGhost, VulnerableChannelAllowList, разведка SCCM |
wcc | smb | Чек-лист безопасности Windows (UAC/LSA/RDP/Defender/LAPS/NetBIOS/...) |
change-password | smb | Самостоятельная смена пароля через SAMR (USER=..., OLDPASS=..., NEWPASS=...) |
maq | ldap | ms-DS-MachineAccountQuota |
pre2k | ldap | Компьютеры до Windows 2000 (UAC 4128) |
laps | ldap | Пароли LAPS |
adcs | ldap | Службы регистрации AD CS |
subnets | ldap | Сайты/подсети из Configuration NC |
daclread / badsuccessor / certipy-find и др. | ldap | Перечисление LDAP через Titanis |
get-unixUserPassword / dns-nonsecure | ldap | Unix-пароли, небезопасные зоны DNS |
modify-group / add-computer | ldap | Членство в группах, жизненный цикл компьютеров (NAME=..., DELETE=True, ...) |
Общее для всех протоколов:
a.b.c.d-e), списки через запятую, @file.kirbi/.ccache, сертификаты PKINIT, S4U, переопределения SPN, SOCKS5Репозиторий содержит исходный код Titanis в каталоге external/Titanis и собирает его в составе решения.
git clone https://github.com/<your-account>/atlas.git
cd atlas
dotnet build Atlas.sln -p:NoWarn=CS1998
Полученный бинарный файл представляет собой платформозависимое приложение .NET:
dotnet src/Atlas.Cli/bin/Debug/net8.0/atlas.dll --help
atlas <protocol> <targets> [authentication] [actions] [options]
Спецификация цели принимает любую комбинацию: HOST, 10.0.0.5, 192.168.1.0/24, 10.0.0.1-64, списки через запятую или @targets.txt.
# Credential check only
atlas smb 10.0.0.5 -u administrator -p 'Password1!'
# Enumeration
atlas smb 10.0.0.0/24 -u admin -p 'Password1!' -Shares -Users -Groups -Disks -Sessions
# SAM / LSA dumping (requires local admin)
atlas smb 10.0.0.5 -u admin -p 'Password1!' -Sam -Lsa
# File operations
atlas smb 10.0.0.5 -u admin -p pass -LsPath 'C$\Users'
atlas smb 10.0.0.5 -u admin -p pass -GetFile 'C$\Windows\win.ini'
atlas smb 10.0.0.5 -u admin -p pass -PutSource ./payload.bin -PutDest 'C$\Temp\payload.bin'
# Modules and flags
atlas smb 10.0.0.0/24 -u admin -p pass -M spider -mo 'depth=3,maxfiles=50,match=.conf'
atlas smb 10.0.0.0/24 -u admin -p pass -M shareaccess -M gpp_password
atlas smb 10.0.0.5 -u admin -p pass -M localadmins -M uac
# Flags (NetExec-like)
atlas smb 10.0.0.5 -u admin -p pass --pass-pol --rid-brute 2000
atlas smb 10.0.0.5 --Anonymous --gen-relay-list relay.txt --generate-krb5-file krb5.conf
# Password spray
atlas smb 10.0.0.0/24 -UserList users.txt -PassList 'Password1!,Summer2024!'
# User enumeration (no credentials required)
atlas kerberos dc01.corp.local -d CORP.LOCAL -UserList users.txt