扫码领资料
获网安教程
本文由掌控安全学院 - flysheep 投稿
来Track安全社区投稿~
千元稿费!还有保底奖励~(https://bbs.zkaq.cn)
前言
某年某月的某一天,本该是牵手逛街的美好周末,但是老板安排我们安服仔去某交通公司。该公司刚刚上线一批信息化项目需要渗透测试,目标范围为公司对外业务系统及关联资产,重点验证从外网到核心区的纵深防御能力。飞机飞了3个小时后又整了2小时汽车,我都没有来得及休息就开始了长达7天的探宝之旅。
资产发现
网络空间测绘
现如今搞渗透测试,一上来拿到目标名称或域名都是各种网络空间测绘平台过一遍,不管鱼虾,很多时候都有意外惊喜的。这里推荐几个我常用的网络空间测绘平台,奇安信的鹰图、贼好用的FOFA和零零信安:
假如某个目标站点为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语法搜索其默认密码
针对此次需要渗透的目标,经过一天的信息搜集工作,这里通过sysadmin/123456
成功登入企业泛微OA后台,发现公司组织架构还是挺大的,员工也比较多,然而在OA功能里面找了一圈发现没有什么可以利用的上传点。
随即想到了进行内网钓鱼,即借用人力资源部经理身份向多名企业员工发送钓鱼邮件,但是等了很久也没见鱼儿上钩啊,无奈放弃这条攻击路线
微信小程序突破外网
通过前面办公OA发现的子公司,利用小蓝本逐个排查,查询各个子公司所关联的新媒体平台,追踪到公司旗下有很多的微信小程序,于是把思路方向转换到利用小程序进行突破。这里给大家推荐一款神器Reqable(配合burpsuite组合使用),用来抓取小程序数据包嘎嘎好用。
进入实时公交菜单,点击出行查询,在本地开启端口9000的reqable代理进行抓包
可以看到前后台交互的所有数据包,但是reqable的修改数据包参数进行重放有点不方便,我一般把数据包拷贝回burpsuite进行重放攻击,而且burpsuite里面有很多被动扫描插件也是非常好用的发现漏洞神器。
log4j远程代码执行获取shell
通过细致的分析,我最终发现小程序itemsFoundList功能点存在log4j远程代码执行漏洞,注意下面数据包中hostToConnectTo参数,原本作用是指定连接的外网mysql服务器域名,我尝试了修改为dnslog平台地址对其进行漏洞利用
在vps上使用JNDI-Injection-Exploit加载恶意类,成功获取反连Shell,获取目标服务器权限
whoami查看权限可以发现权限不高,为了扩大攻击面我尝试了下提权。还好服务器内核版本不是特别新,尝试了多个提权脚本后,最终发现cve-2021-4034可以成功提权,从普通用户直接来到root权限,很是舒服了就。
Fastjson反序列化获取shell
我觉得这里功能点非常多,可能还存在其他的漏洞点,于是又进入了充电桩功能进行抓包分析,结果还真的有收获,那就是fastjson反序列化漏洞,可见开发者还是有点马虎的。
其实我这里也是有一部分运气好的成分在里面的,看到JSON数据包交互后,我习惯性的到处乱插jndi语句,没想到Accept参数居然有了回显(其他header参数是真没有的)
在vps上使用JNDI-Injection-Exploit加载恶意类,最终能够成功执行系统命令
隐蔽隧道搭建
在上面获取的跳板机器上ping了一下发现机器出网,于是下面就上frp搭建反向代理隧道
服务端搭建在vps上开启监听端口等待客户端连接
客户端连接服务端
proxifier建立Socks5代理,配置相应的端口账号秘钥便可以进入内网
至此,成功突破网络边界进入业务内网
内网渗透
信息搜集与横向
内网信息搜集新手一般直接上fscan对可达各个C段开扫,追求效率可只扫描22、80、443、445、1433、8080等重点端口。但是有些企业内网地址池很大,比如多个B段分布在不同区域。在扫描之前,可以先通过netspy筛选可达的网段再进行扫描
获取地址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
探测了一下发现开启了windows的defender,把之前准备好的bypassAV马子扔上去,成功上线
重要资产
1.利用fscan扫描出一台内网msyql数据库存在弱口令:root/123456
2.内网XX管理系统存在SQL注入漏洞
利用方式为POST参数UserName存在基于时间的盲注,能够获取后台数据库详细表内容
3.利用fscan扫描出内网Linux服务器SSH弱口令(若干台,仅展示一个示例)
账号密码:root 12345678
4.利用内网员工终端的浏览器缓存密码,成功登录小程序线路管理系统
小结
1.本次渗透通过外围小程序突破→中间件RCE建立据点→绕过杀软检测→多协议隧道穿透→组合利用凭证/漏洞实现内网漫游,完整复现了渗透测试攻击链条。防御方需建立"零信任"架构,强化纵深防御体系。
2.通过这次任务,我也进一步认识到,搞渗透测试,一方面要熟悉基本原理,另一方面还是要心思细腻,不断丰富相关经验。
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
原文始发于微信公众号(掌控安全EDU):安服日记 | 通过微信小程序寻找突破口打穿目标内网
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论