
对某个几十万台的内网渗透记录
一次实战
前言
记录一次在40W台机器的庞大内网中漫游经历。
正文
渗透测试首要目的是控制其邮件服务器,在复现的过程中发现弱口令漏洞已被修复,账号密码被修改为
PdkaDk*** | Kddk***;kKddk*** |
---|
通过扫描工具得知此站采用Java+AXIS实现Web Service服务端。
扩展:
Axis是一个开源、基于XML的Web服务架构。最开始由IBM公司研发,叫IBM-SOAP。
后来由Apache基金会在SOAP的基础上推出了AXIS。AXIS本质是一个Java语言编写的SOAP引擎。利用它我们可以在各种分布式应用中,让各个应用能够彼此操作、交互。
这个服务端漏洞为弱口令漏洞,直接访问
https://xxx.xxx.ru/axis2/axis2-admin/
使用任意密码登录返回界面如图所示
正常情况时不会出现这个界面的,出现这个界面的原因可能为网站是废的,程序有问题的网站,但是利用扫描工具是可以确认此站点的漏洞,说明这个站点是存在猫腻的。利用工具扫描此漏洞时发送的请求包到burp重新发送,发现是有正常响应反馈的。后来发现浏览器端发送的请求和burp工具发送的请求的区别在于,浏览器会把账号密码数据发送到http://xxx.xxx.ru/axis2/axis2-admin/,这就是问题所在。
因为此漏洞需要登录成功后,还需要一些上传的操作,必然用浏览器去操作会很方便。解决思路为不让数据发送到http上,把网页html代码下载下来。如图所示。
把里面的http换为https,然后利用此html页面去登录网站。在后续的操作中都需重复此操作,否则提交给http不解析。用默认账号密码admin/axis2登录成功以后利用服务上传这个功能上传服务。
进入上传界面如图所示。
此处直接上传一句话是不行的,只能上传aar,推荐一个axis2webshell。https://github.com/CaledoniaProject/AxisInvoker上传aar文件后。
利用https://xxx.xxx.ru/axis2/services/AxisInvoker/exec?cmd=ipconfig,来执行命令。既然可以执行命令,那么把自己的木马写进去也就不是难事了。此处依然有个猫腻,就是这个站点做了负载均衡,上传的东西,突然就不见了,过了一会再访问又回来了。
通过ipconfig查看为域环境,接下来进行内网渗透了。先收集有用信息,比如说数据库密码,本机密码。数据库密码直接翻阅文件即可找到,然后是本机密码,本机存在卡巴杀软。
有卡巴的情况下是无法通过正常手段进行抓密码的,在19年年底procdump被卡巴拦截,所以只能用一个可以过卡巴的工具,此处我使用的是绕过卡巴斯基的工具进行抓密。当然在此期间利用inbt进行部分内网扫描,尝试利用17010进行攻打,但鉴于其内网规模巨大,且多次尝试无效。
利用抓到的账号密码对shell机器的c段进行扫描,成功登录几台机器,并把其机器密码抓到。不幸的是并未找到管理员账号密码。
抓到的域用户所在组都为mef组的成员。通过查看,发现有3000多个组,40万多台内网机器,10多万个用户。如此庞大的计算机群,找不到管理员也属于正常现象。
通过对现在的信息,总结出渗透思路 :先去找到mef组的管理员,利用mef管理员账户去登录更多的机器,并寻找出管理员。
mef的管理员很容易就被找到,通过mef管理员账号和inbt工具,成功登录了几百台机器。通过批处理tasklist /v每台机器进行逐个检查。虽然未发现域管理。
但是在10.10段中机器中的c:\users中发现域管理员的用户,查看Credential Caching域缓存凭证,利用hashcat跑密码未果。
缓存密码由于加密方式问题,即使密码简单,CMD5也是破解不了的。
渗透思路 :既然找不到域管理,就先不局限于mef组,通过对每个可控机器的tasklist /v中查找到其他组的成员,然后再找其他组的管理员,如此重复。
直到找到一个D*\KL-AK-AEEC6572C1FD26用户为卡巴组的管理员。
因为从可控的千余台机器中发现,几乎所有的机器都装有卡巴企业版,所以我判断,此用户会一打一大片,果不其然,利用此用户,成功拿下数千余台机器,并且各个内网段机器都有。
利用这个账户对每台机器进行查看。利用这个用户依旧未找到域管理,但是可以找到很多其他组的管理员。在tasklist /v的用户中找到D*\KozlenkovVV所在组为*Domain_DHCP_Admins中,利用这个管理员对其内网重复之前的操作,终于在一台10.10段中的机器找到域管理。
但是是个高版本机器,无法直接抓取明文密码,导出hash,利用hashcat跑密码。先把注册表修改成功,为了以后导出明文密码。因为进程中有域管理用户的进程,那就直接利用这个进程去控制域控。此处用到token.exe进程小偷,执行命令,ntds导出所有域hash,并修改了域控和邮件服务器mail.xxx.xxx.ru的注册表,最终抓到管理员账号密码。
邮件服务器为Outlook,第二天抓取密码,只能抓到2,3个用户,这是一种奇怪的现象。后来用管理员账号密码登录邮件服务器,发现没有开通OWA收件服务,只有ECP权限。ECP权限其实已经可以查看每个人的邮件了,但是只能控制16个人的邮件。我怀疑这个邮件服务器并不是员工登录的服务器。通过内网机器443端口识别,把所有的Outlook网站的内网IP进行登录查验,均为16个用户。后利用wevtutil内网工具,在域控上查询用户访问过哪个IP。命令如图。
最后找到一处IP,其域名为web.xxx.xxx.ru的网站,此域名在域名搜索引擎上是找不到的,经确认这里是真正的油服。
过程当中还有很多小插曲,比如说有的用户密码里带”/”,经测试IPC是连接不了的,只能用BASE64转码了,如图。
后记
由于目标比较敏感,图片不是太多,主要看下思路吧,仅用于交流学习, 由于传播、利用所提供的信息
而造成的任何直接或者间接的后果及损失,均由使用者本人负责。