
Ferramenta de execução de rede multiplataforma (SMB/Kerberos/WMI/LDAP/DCSync) construída sobre o Titanis da TrustedSec - fluxo de trabalho estilo NetExec em C#
Atlas é um kit de ferramentas multiplataforma (Windows/Linux) de execução de rede e avaliação de segurança construído sobre a biblioteca de protocolos Titanis da TrustedSec. É inspirado no fluxo de trabalho do NetExec/CrackMapExec: listas de alvos, conjuntos de credenciais, enumeração modular e saída de console compacta no formato [HH:mm:ss] [+] host - message.
Esta ferramenta destina-se a testes de segurança autorizados. Utilize apenas contra sistemas para os quais possui permissão explícita de teste.
| Protocolo | Capacidades |
|---|---|
smb | Verificação de autenticação (NTLM/Kerberos/anónima), partilhas, utilizadores, grupos, discos, sessões via SRVS/SAMR; SAM/LSA via Registo Remoto; operações de ficheiros sobre SMB2/3; --pass-pol/--rid-brute/--gen-relay-list/--generate-krb5-file/--generate-hosts-file/--generate-tgt; snapshots/streams/open-files/NICs; membros de grupo, pesquisa de SID/nome LSA, consulta ao registo, serviços, utilizadores com sessão iniciada, lista/kill de tarefas, coerção EFS; execução via wmiexec / smbexec / mmcexec (MMC DCOM) |
kerberos | Enumeração de utilizadores, deteção de pré-autenticação/AS-REP, Kerberoasting, ataque Key List, forja de tickets (golden/silver), pedido de TGT, alteração de palavra-passe, S4U2Self/Proxy (-S4UserName) |
wmi | Autenticação via DCOM/WMI, Win32_Process.Create (-x/-X) ou --wmi-query (WQL), listagem de namespaces, registo StdRegProv, invocação de métodos DCOM, listagem de endpoints EPM |
ldap | Autenticação via SASL/simple bind, consultas + flags (--users/--trusted-for-delegation/--pass-pol/--get-sid etc.), --kerberoasting, operações de escrita (-AddUser/-AddComputer/-Delete/-Modify/-SetPassword), módulos, --bloodhound (-c) para BloodHound CE JSON+zip |
dcsync | Replicação via [MS-DRSR] (DRSGetNCChanges): objetos individuais, sincronização completa de NC --ntds, topologia (-DcInfo/-ListDomains/-ListSites/-ListRoles/-ListPartitions/-ListGcs/-Neighbors/-CrackName) |
O estilo das flags segue o NetExec sempre que possível (
--shares,--users,--pass-pol,--rid-brute,--local-groups,-ddomínio,-Hhash,--kdcHost,-M/-o/-Lmódulos). As grafias do Titanis com um único hífen (-Shares,-ud,-NtlmHash) continuam a funcionar. Nota:-x/-Xnão podem coexistir (sem distinção de maiúsculas), pelo que a execução PowerShell é-ps;-dé o domínio em todos os contextos, incluindokerberos(o realm recorre a ele por omissão).
atlas <proto> -L lista-os)| Módulo | Protocolo | Descrição |
|---|---|---|
spider | smb | Rastreador recursivo de compartilhamentos (depth, maxfiles, match) |
shareaccess | smb | Verificação de acesso READ/WRITE por compartilhamento |
localadmins | smb | Administradores locais via SAMR |
gpp_password | smb | Descriptografa cpassword de Groups.xml etc. |
gpp_autologin | smb | Credenciais de logon automático em Registry.xml |
gpp_privileges | smb | Atribuições de privilégios em GptTmpl.inf |
uac / wdigest / runasppl / install_elevated | smb | Verificações de registro via winreg |
spooler | smb | Status do Print Spooler via SCM |
keepass / rclone / winscp / mremoteng / vnc etc. | smb | Caçadores de arquivos em compartilhamentos |
ntlmv1 / reg-winlogon / hyperv-host | smb | LmCompatibilityLevel, logon automático do Winlogon, host Hyper-V |
remote-uac / rdp / shadowrdp | smb | Leitura/escrita de UAC remoto, RDP, RDP shadowing (ACTION=...) |
reg-query | smb | Consultar/definir/excluir valores de registro (PATH=..., KEY=..., VALUE=..., TYPE=..., DELETE=True) |
enum_cve | smb | Verificação de CVE por nível de patch a partir de build + UBR |
enum_av | smb | AV/EDR via nomes de serviços LSA + pipes IPC$ |
enum_dns / get_netconnections / bitlocker | smb | Via WMI (root\MicrosoftDNS, configurações de NIC, BitLocker) |
putty / notepad / recent_files / recyclebin / snipped | smb | Sessões PuTTY + .ppk, estado de abas do Notepad, LNKs recentes, lixeira, capturas de tela |
lockscreendoors | smb | Binários de acessibilidade com backdoor via FileDescription |
drop-sc / drop-library-ms / scuffy / slinky | smb | Drops de iscas de coerção + CLEANUP=True |
webdav / smbghost / onelogon / sccm-recon6 | smb | Verificação do WebClient, sondagem do SMBGhost, VulnerableChannelAllowList, reconhecimento SCCM |
wcc | smb | Checklist de postura de segurança do Windows (UAC/LSA/RDP/Defender/LAPS/NetBIOS/...) |
change-password | smb | Alteração de senha self-service via SAMR (USER=..., OLDPASS=..., NEWPASS=...) |
maq | ldap | ms-DS-MachineAccountQuota |
pre2k | ldap | Computadores pré-Windows 2000 (UAC 4128) |
laps | ldap | Senhas LAPS |
adcs | ldap | Serviços de inscrição do AD CS |
subnets | ldap | Sites/Sub-redes do NC de Configuração |
daclread / badsuccessor / certipy-find etc. | ldap | Enumeração LDAP via Titanis |
get-unixUserPassword / dns-nonsecure | ldap | Senhas Unix, zonas DNS não seguras |
modify-group / add-computer | ldap | Associação a grupos, ciclo de vida de computadores (NAME=..., DELETE=True, ...) |
Compartilhado entre todos os protocolos:
a.b.c.d-e), listas separadas por vírgula, @file.kirbi/.ccache, certificados PKINIT, S4U, substituições de SPN, SOCKS5O repositório inclui o código-fonte do Titanis em external/Titanis e o compila como parte da solução.
git clone https://github.com/<your-account>/atlas.git
cd atlas
dotnet build Atlas.sln -p:NoWarn=CS1998
O binário resultante é uma aplicação .NET dependente de framework:
dotnet src/Atlas.Cli/bin/Debug/net8.0/atlas.dll --help
atlas <protocol> <targets> [authentication] [actions] [options]
A especificação de destino aceita qualquer combinação de: HOST, 10.0.0.5, 192.168.1.0/24, 10.0.0.1-64, listas separadas por vírgulas ou @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