【红蓝对抗】记一次渗透过程中regeorg的利用

admin 2022年2月16日02:49:41评论63 views字数 2094阅读6分58秒阅读模式

【红蓝对抗】记一次渗透过程中regeorg的利用

0x01 前言


在最近的一次实战中,遇到了一个比较特殊的环境,故有了此篇文章分享给大家,如遇到相同的情况可以尝试使用这种方法。如大家有其他途径或者更好的方法也可以联系我们进行交流。

0x02 web打点


本次web打点的思路还是以常规方式获取的途径,本以为这次会是log4j的战场,结果直到结束也没用上(其实是菜)。

【红蓝对抗】记一次渗透过程中regeorg的利用


在信息收集的过程中获取到了目标vpn账号,登录后发现vpn账号可跨越网段的很多,对内网信息进行收集后发现可通网段内基本都是网络设备及安全设备,摆烂了一段时间连个弱口令都没找到。

【红蓝对抗】记一次渗透过程中regeorg的利用


通过收集的可通网段,发现vpn客户端不能直接访问业务网段,故业务网段下的关键信息没有收集到。没办法,只能通过网页端vpn对业务网段一点点进行收集,看看是否能获取到webshell。


【红蓝对抗】记一次渗透过程中regeorg的利用


看了几个业务系统后,发现业务系统8161端口上存在ActiveMQ消息中间件,试了下默认口令(admin/admin)可以登录。Activemq在有默认账号的情况下常见获取权限的方式有两个,查看了下ActiveMQ版本是5.7.0,尝试使用put任意文件上传漏洞,获取webshell。

【红蓝对抗】记一次渗透过程中regeorg的利用【红蓝对抗】记一次渗透过程中regeorg的利用【红蓝对抗】记一次渗透过程中regeorg的利用


0x03 环境说明


获取了webshell后,发现权限为root但系统不出网,因业务网段是通过vpn才能访问到,在连接webshell时也需要加请求头才能正常进行连接。就先使用了不出网情况下冰蝎自带的代理,但用过的人都说卡,还是要搭建一个稳定隧道。

【红蓝对抗】记一次渗透过程中regeorg的利用


在搭建隧道代理时也出现了同样的问题,因不出网无法使用frp等直接搭建隧道,所以想到用regeorg进行隧道的搭建,但reg需要访问到tunnel脚本文件,目前系统需要通过vpn才能进行访问,所以我们需要对reg的请求验证方式进行更改。


【红蓝对抗】记一次渗透过程中regeorg的利用


0x04 regeorg简要说明


流程分析reGeorg执行流程图【红蓝对抗】记一次渗透过程中regeorg的利用调试环境python2.7pycharm

【红蓝对抗】记一次渗透过程中regeorg的利用askGeorg方法从main方法开始,查看askGeorg方法
【红蓝对抗】记一次渗透过程中regeorg的利用【红蓝对抗】记一次渗透过程中regeorg的利用【红蓝对抗】记一次渗透过程中regeorg的利用当askGeorg返回true,建立tcp服务端接受要被转发的流量同时建立与tunnel.jsp的会话【红蓝对抗】记一次渗透过程中regeorg的利用session跟进session类【红蓝对抗】记一次渗透过程中regeorg的利用跟进初始化方法,session初始化为线程类,获取tunnel服务端信息并建立连接池

【红蓝对抗】记一次渗透过程中regeorg的利用跟进run方法,执行handleSocks方法

【红蓝对抗】记一次渗透过程中regeorg的利用跟进handleSocks方法,判断socks4还是socks5,执行parseSocks5方法【红蓝对抗】记一次渗透过程中regeorg的利用跟进parseSocks5方法,sock.recv接收一个字节通过atyp判断请求类型,确定target和targetPort【红蓝对抗】记一次渗透过程中regeorg的利用setupRemoteSession

判断socks5 cmd字段是否为connect,执行setupRemoteSession,设置远程会话获取cookie,获取成功则发送数据【红蓝对抗】记一次渗透过程中regeorg的利用跟进setupRemoteSession方法,header头设置X-CMD字段为CONNECT,将要访问的目标地址和端口发送到tunnel.jsp,若返回值200且返回包header中x-status为OK则返回此cookie值。【红蓝对抗】记一次渗透过程中regeorg的利用回到parseSocks5中,若返回值为true,执行sock.sendall发送数据完成后返回true,回到handleSocks5。【红蓝对抗】记一次渗透过程中regeorg的利用handleSocks方法【红蓝对抗】记一次渗透过程中regeorg的利用回到run方法,标志会话构建流程结束开始数据交互【红蓝对抗】记一次渗透过程中regeorg的利用reader

跟进reader方法,通过reader方法不断读取返回data,将值返回本地tcp服务端【红蓝对抗】记一次渗透过程中regeorg的利用wirter

跟进writer方法,读取本地tcp服务端接收数据转发至代理server【红蓝对抗】记一次渗透过程中regeorg的利用closeRemoteSession关闭远程会话【红蓝对抗】记一次渗透过程中regeorg的利用

0x05 实战应用

fuzz限制访问的header字段Authorization: Basic xxxxCookie:svpnginfo=xxxxx

【红蓝对抗】记一次渗透过程中regeorg的利用

修改reGeorg突破限制分析完整个reGeorg搭建隧道的整个流程后,发现存在有5处访问tunnel.jsp请求,所以只要将fuzz出的限制字段添加到相关请求header头中即可。

1.askGeorg方法【红蓝对抗】记一次渗透过程中regeorg的利用2.setupRemoteSession【红蓝对抗】记一次渗透过程中regeorg的利用3.reader【红蓝对抗】记一次渗透过程中regeorg的利用4.writer【红蓝对抗】记一次渗透过程中regeorg的利用5.closeRemoteSession【红蓝对抗】记一次渗透过程中regeorg的利用调试,成功搭建隧道

【红蓝对抗】记一次渗透过程中regeorg的利用【红蓝对抗】记一次渗透过程中regeorg的利用

0x05 参考资料

https://www.cnblogs.com/BOHB-yunying/p/13491392.html


E

N

D



Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室。团队公众号自创建以来,共发布原创文章370余篇,自研平台达到26个,目有15个平台已开源。此外积极参加各类线上、线下CTF比赛并取得了优异的成绩。如有对安全行业感兴趣的小伙伴可以踊跃加入或关注我们

【红蓝对抗】记一次渗透过程中regeorg的利用

原文始发于微信公众号(Tide安全团队):【红蓝对抗】记一次渗透过程中regeorg的利用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月16日02:49:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【红蓝对抗】记一次渗透过程中regeorg的利用http://cn-sec.com/archives/779851.html

发表评论

匿名网友 填写信息