渗透测试实战:用微信小程序突破外网防御,攻破企业安全

前言

某年某月的某一天,本该是牵手逛街的美好周末,但是老板安排我们安服仔去某交通公司。该公司刚刚上线一批信息化项目需要渗透测试,目标范围为公司对外业务系统及关联资产,重点验证从外网到核心区的纵深防御能力。飞机飞了3个小时后又整了2小时汽车,我都没有来得及休息就开始了长达7天的探宝之旅。

资产发现

网络空间测绘

现如今搞渗透测试,一上来拿到目标名称或域名都是各种网络空间测绘平台过一遍,不管鱼虾,很多时候都有意外惊喜的。这里推荐几个我常用的网络空间测绘平台,奇安信的鹰图、贼好用的FOFA和零零信安:

img

img

假如某个目标站点为xxxx.com ,我们可以通过不同的语法进行资产搜集,搜集的资产会更全面。这里以fofa为例

domain="目标企业.com" && cert.subject="*.目标企业.com"

敏感信息泄露

对于企业站点的信息搜集,一般来说外网能拿直接权限的点已经越来越少了,web应用大多是放在统一身份认证系统后面,因此能弄到一个统一身份认证系统账号可以说是事半功倍,这时候可以通过语法对此类信息进行挖掘

常用命令如下:

#google语法  
site:*.xxxx.com intext: 用户名 | 密码 | 工号 | 默认密码  
  
#github  
*.xxxx.com password

对于部分站点,在搭建完成后可能没有更改默认账号密码,这时候可以尝试使用默认账密登录

下面列举一些常见的web站点默认口令

账号:  
admin administrator root user test  
密码:  
admin admin123 123456 test 1qaz2wsx

对于一些企业广泛使用的办公OA/运维系统,可以通过google语法搜索其默认密码

img

针对此次需要渗透的目标,经过一天的信息搜集工作,这里通过sysadmin/123456 成功登入企业泛微OA后台,发现公司组织架构还是挺大的,员工也比较多,然而在OA功能里面找了一圈发现没有什么可以利用的上传点。

img

随即想到了进行内网钓鱼,即借用人力资源部经理身份向多名企业员工发送钓鱼邮件,但是等了很久也没见鱼儿上钩啊,无奈放弃这条攻击路线

img

微信小程序突破外网

通过前面办公OA发现的子公司,利用小蓝本逐个排查,查询各个子公司所关联的新媒体平台,追踪到公司旗下有很多的微信小程序,于是把思路方向转换到利用小程序进行突破。这里给大家推荐一款神器Reqable(配合burpsuite组合使用),用来抓取小程序数据包嘎嘎好用。

img

进入实时公交菜单,点击出行查询,在本地开启端口9000的reqable代理进行抓包

img

可以看到前后台交互的所有数据包,但是reqable的修改数据包参数进行重放有点不方便,我一般把数据包拷贝回burpsuite进行重放攻击,而且burpsuite里面有很多被动扫描插件也是非常好用的发现漏洞神器。

img

log4j远程代码执行获取shell

通过细致的分析,我最终发现小程序itemsFoundList功能点存在log4j远程代码执行漏洞,注意下面数据包中hostToConnectTo参数,原本作用是指定连接的外网mysql服务器域名,我尝试了修改为dnslog平台地址对其进行漏洞利用

img

在vps上使用JNDI-Injection-Exploit加载恶意类,成功获取反连Shell,获取目标服务器权限

img

whoami查看权限可以发现权限不高,为了扩大攻击面我尝试了下提权。还好服务器内核版本不是特别新,尝试了多个提权脚本后,最终发现cve-2021-4034可以成功提权,从普通用户直接来到root权限,很是舒服了就。

img

img

Fastjson反序列化获取shell

我觉得这里功能点非常多,可能还存在其他的漏洞点,于是又进入了充电桩功能进行抓包分析,结果还真的有收货,那就是fastjson反序列化漏洞,可见开发者还是有点马虎的。

img

img

其实我这里也是有一部分运气好的成分在里面的,看到JSON数据包交互后,我习惯性的到处乱插jndi语句,没想到Accept参数居然有了回显(其他header参数是真没有的)

在vps上使用JNDI-Injection-Exploit加载恶意类,最终能够成功执行系统命令

img

img

隐蔽隧道搭建

在上面获取的跳板机器上ping了一下发现机器出网,于是下面就上frp搭建反向代理隧道

服务端搭建在vps上开启监听端口等待客户端连接

img

客户端连接服务端

img

proxifier建立Socks5代理,配置相应的端口账号秘钥便可以进入内网

img

至此,成功突破网络边界进入业务内网

内网渗透

信息搜集与横向

内网信息搜集新手一般直接上fscan对可达各个C段开扫,追求效率可只扫描22、80、443、445、1433、8080等重点端口。但是有些企业内网地址池很大,比如多个B段分布在不同区域。在扫描之前,可以先通过netspy筛选可达的网段再进行扫描

img

获取地址https://github.com/shmilylty/netspy

由于扫描会引起安全设备告警,因此横向尽可能在一小时内结束,避免入口机器被关机下线,对于拿到的机器可以通过计划任务进行维权,尽可能多拿几台机器保证口子不会掉,拿到机器后继续做信息搜集,网段,机器信息,敏感文件,xshell密码等常规的这里就不细说了

1、重点进攻管理机器,往往存放着大量的账号密码信息

2、其次是集权设备,Vcenter、堡垒机、天擎这些,有day上day,没day寻找其他方法

3、如果发现了域环境,争取拿到域管hash,或者通过已知漏洞拿下域控

针对此次目标,发现内网资产主要集中在172.16.0.0/16段和192.168.0.0/16段。

杀软识别

通过rdp弱口令/经典RCE漏洞等方式获取了若干服务器/终端权限,为了上线CS木马,一般先进行进程检测,即执行tasklist发现是否存在常见的杀毒软件进程

tasklist /svc

img

探测了一下发现开启了windows的defender,把之前准备好的bypassAV马子扔上去,成功上线

img

重要资产

1.利用fscan扫描出一台内网msyql数据库存在弱口令:root/123456

img

2.内网XX管理系统存在SQL注入漏洞

img

利用方式为POST参数UserName存在基于时间的盲注,能够获取后台数据库详细表内容

img

3.利用fscan扫描出内网Linux服务器SSH弱口令(若干台,仅展示一个示例)

账号密码:root 12345678

img

4.利用内网员工终端的浏览器缓存密码,成功登录小程序线路管理系统

img

小结

1.本次渗透通过外围小程序突破→中间件RCE建立据点→绕过杀软检测→多协议隧道穿透→组合利用凭证/漏洞实现内网漫游,完整复现了渗透测试攻击链条。防御方需建立"零信任"架构,强化纵深防御体系。

2.通过这次任务,我也进一步认识到,搞渗透测试,一方面要熟悉基本原理,另一方面还是要心思细腻,不断丰富相关经验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漏洞库-网络安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值