
Outil d'exécution réseau multiplateforme (SMB/Kerberos/WMI/LDAP/DCSync) basé sur Titanis de TrustedSec - flux de travail de style NetExec en C#
Atlas est une boîte à outils multiplateforme (Windows/Linux) d'exécution réseau et d'évaluation de sécurité, construite sur la bibliothèque de protocoles Titanis de TrustedSec. Elle s'inspire du flux de travail de NetExec/CrackMapExec : listes de cibles, ensembles d'identifiants, énumération modulaire et sortie console compacte [HH:mm:ss] [+] host - message.
Cet outil est destiné aux tests de sécurité autorisés. Ne l'utilisez que contre des systèmes pour lesquels vous disposez d'une autorisation explicite de test.
| Protocole | Capacités |
|---|---|
smb | Vérification d'authentification (NTLM/Kerberos/anonyme), partages, utilisateurs, groupes, disques, sessions via SRVS/SAMR ; SAM/LSA via Remote Registry ; opérations de fichiers sur SMB2/3 ; --pass-pol/--rid-brute/--gen-relay-list/--generate-krb5-file/--generate-hosts-file/--generate-tgt ; snapshots/streams/open-files/NICs ; membres de groupe, recherche LSA SID/nom, requête de registre, services, utilisateurs connectés, liste/arrêt de tâches, coercition EFS ; exécution via wmiexec / smbexec / mmcexec (MMC DCOM) |
kerberos | Énumération d'utilisateurs, détection pre-auth/AS-REP, Kerberoasting, attaque Key List, forge de tickets (golden/silver), demande de TGT, changement de mot de passe, S4U2Self/Proxy (-S4UserName) |
wmi | Authentification via DCOM/WMI, Win32_Process.Create (-x/-X) ou --wmi-query (WQL), listage des espaces de noms, registre StdRegProv, invocation de méthode DCOM, listage des points de terminaison EPM |
ldap | Authentification via bind SASL/simple, requêtes + options (--users/--trusted-for-delegation/--pass-pol/--get-sid etc.), --kerberoasting, opérations d'écriture (-AddUser/-AddComputer/-Delete/-Modify/-SetPassword), modules, --bloodhound (-c) vers BloodHound CE JSON+zip |
dcsync | Réplication via [MS-DRSR] (DRSGetNCChanges) : objets uniques, synchronisation complète de NC --ntds, topologie (-DcInfo/-ListDomains/-ListSites/-ListRoles/-ListPartitions/-ListGcs/-Neighbors/-CrackName) |
Le style des options suit NetExec lorsque c'est possible (
--shares,--users,--pass-pol,--rid-brute,--local-groups,-ddomaine,-Hhash,--kdcHost, modules-M/-o/-L). Les orthographes Titanis à tiret simple (-Shares,-ud,-NtlmHash) restent fonctionnelles. Remarque :-x/-Xne peuvent pas coexister (insensible à la casse), donc l'exécution PowerShell est-ps;-ddésigne le domaine partout, y compris pourkerberos(le realm y retombe par défaut).
atlas <proto> -L les liste)| Module | Protocole | Description |
|---|---|---|
spider | smb | Crawler récursif de partages (depth, maxfiles, match) |
shareaccess | smb | Vérification de l'accès READ/WRITE par partage |
localadmins | smb | Administrateurs locaux via SAMR |
gpp_password | smb | Déchiffre cpassword depuis Groups.xml etc. |
gpp_autologin | smb | Identifiants d'autologon dans Registry.xml |
gpp_privileges | smb | Attributions de privilèges dans GptTmpl.inf |
uac / wdigest / runasppl / install_elevated | smb | Vérifications du registre via winreg |
spooler | smb | État du Print Spooler via SCM |
keepass / rclone / winscp / mremoteng / vnc etc. | smb | Chasseurs de fichiers sur les partages |
ntlmv1 / reg-winlogon / hyperv-host | smb | LmCompatibilityLevel, autologon Winlogon, hôte Hyper-V |
remote-uac / rdp / shadowrdp | smb | Lecture/écriture UAC distant, RDP, RDP shadowing (ACTION=...) |
reg-query | smb | Interroger/définir/supprimer des valeurs de registre (PATH=..., KEY=..., VALUE=..., TYPE=..., DELETE=True) |
enum_cve | smb | Vérification CVE au niveau du patch à partir du build + UBR |
enum_av | smb | AV/EDR via noms de services LSA + pipes IPC$ |
enum_dns / get_netconnections / bitlocker | smb | Via WMI (root\MicrosoftDNS, configurations NIC, BitLocker) |
putty / notepad / recent_files / recyclebin / snipped | smb | Sessions PuTTY + .ppk, état des onglets Notepad, LNK récents, corbeille, captures d'écran |
lockscreendoors | smb | Binaires d'accessibilité backdoorés via FileDescription |
drop-sc / drop-library-ms / scuffy / slinky | smb | Dépôts de leurres de coercition + CLEANUP=True |
webdav / smbghost / onelogon / sccm-recon6 | smb | Vérification WebClient, sonde SMBGhost, VulnerableChannelAllowList, reconnaissance SCCM |
wcc | smb | Liste de contrôle de la posture de sécurité Windows (UAC/LSA/RDP/Defender/LAPS/NetBIOS/...) |
change-password | smb | Changement de mot de passe en libre-service via SAMR (USER=..., OLDPASS=..., NEWPASS=...) |
maq | ldap | ms-DS-MachineAccountQuota |
pre2k | ldap | Ordinateurs pré-Windows 2000 (UAC 4128) |
laps | ldap | Mots de passe LAPS |
adcs | ldap | Services d'inscription AD CS |
subnets | ldap | Sites/Subnets depuis la NC Configuration |
daclread / badsuccessor / certipy-find etc. | ldap | Énumération LDAP via Titanis |
get-unixUserPassword / dns-nonsecure | ldap | Mots de passe Unix, zones DNS non sécurisées |
modify-group / add-computer | ldap | Appartenance aux groupes, cycle de vie des ordinateurs (NAME=..., DELETE=True, ...) |
Partagé entre tous les protocoles :
a.b.c.d-e), listes séparées par des virgules, @file.kirbi/.ccache, certificats PKINIT, S4U, substitutions de SPN, SOCKS5Le dépôt intègre le code source de Titanis sous external/Titanis et le compile dans le cadre de la solution.
git clone https://github.com/<your-account>/atlas.git
cd atlas
dotnet build Atlas.sln -p:NoWarn=CS1998
Le binaire résultant est une application .NET dépendante du framework :
dotnet src/Atlas.Cli/bin/Debug/net8.0/atlas.dll --help
atlas <protocol> <targets> [authentication] [actions] [options]
La spécification de cible accepte n'importe quelle combinaison de : HOST, 10.0.0.5, 192.168.1.0/24, 10.0.0.1-64, des listes séparées par des virgules, 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!'