[Windows/Persistence] Cheat-sheet
Introduction
Cette page est un mémo des techniques et outils que l'on peut utiliser sur un système compromis à des fins de persistence.
Cheat-sheet
Mettre l'utilisateur dans un groupe privilégié
Il s'agit d'une technique simple qui consiste à utiliser un utilisateur non privilégié pour le mettre dans le groupe administrateur et passer sous les radars :
net localgroup administrators <USER> /add
Si ce groupe vous semble suspect, vous pouvez utiliser le groupe Backup Operators qui ne bénéficie pas des privilèges administrateurs mais profite d'un accès en lecture/écriture à tout le système :
net localgroup "Backup Operators" <USER> /add
Sinon, deux autres groupes non privilégiés mais ayant le droit d'utiliser RDP et WinRM (pour evil-winrm) sont :
- Remote Desktop Users
- Remote Management Users
Par défaut, le groupe Backup Operator est désactivé à cause de l'UAC. Son activation passe par une clé de registre :
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /t REG_DWORD /v LocalAccountTokenFilterPolicy /d 1
Ajouter un privilège à un utilisateur
Exporte la configuration actuelle dans le fichier config.inf :
secedit /export /cfg config.inf
Ensuite on peut éditer ce fichier pour ajouter un utilisateur sur les privilèges souhaités :
Ici, l'utilisateur thmuser2 bénéfiera des privilèves SeBackupPrivilege et SeRestorePrivilege.
Ensuite, on peut importer la nouvelle configuration et actualiser la base de donnée:
secedit /import /cfg config.inf /db config.sdb
secedit /configure /db config.sdb /cfg config.inf
Autoriser WinRM
On peut autoriser l'accès par WinRM à certains utilisateurs en exécutant la commande suivante depuis un environnement graphique afin d'ouvrir la boîte de dialogue adéquate :
Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI
On peut ensuite sélectionner l'utilisateur souhaité et cocher la case Full Control :
Ainsi, l'utilisateur thmuser2 pourra utiliser le service WinRM sans être dans le groupe Remote Management Users.