从互联网到内网横向移动实例-对用户邮件系统的测试

作者:sakura@白帽汇零妖攻防实验室

前言

得到用户授权对其整个相关资产进行测试,重点是测试其邮件服务器,在测试的过程中发现弱口令漏洞已被修复,账号密码被修改为

PdkaDk***

Kddk***;kKddk***

用户内部网络比较庞大,在内网横向的时候发现40万多台内网机器,并装有卡巴企业版,对绕过卡巴抓取密码也有提及。

正文

通过扫描工具得知此站采用Java+AXIS实现Web Service服务端。

扩展:

Axis是一个开源、基于xm l的Web服务架构。最开始由IBM公司研发,叫IBM-SOAP。后来由Apache基金会在SOAP的基础上推出了AXIS。AXIS本质是一个Java语言编写的SOAP引擎。利用它我们可以在各种分布式应用中,让各个应用能够彼此操作、交互。

这个服务端漏洞为弱口令漏洞,直接访问

https://xxx.xxx.xx/xx/axis2-admin/

使用任意密码登录返回界面为

image.png

正常情况时不会出现这个界面的,出现这个界面的原因可能为网站是废的,程序有问题的网站,但是利用扫描工具是可以确认此站点的漏洞,说明这个站点是存在猫腻的。

利用工具扫描此漏洞时发送的请求包到burp重新发送,发现是有正常响应反馈的。后来发现浏览器端发送的请求和burp工具发送的请求的区别在于,浏览器会把账号密码数据发送到http://xxx.xxx.xx/xx/axis2-admin/,这就是问题所在。因为此漏洞需要登录成功后,还需要一些上传的操作,必然用浏览器去操作会很方便。解决思路为不让数据发送到http上,把网页html代码下载下来。

image.png

把里面的http换为https,然后利用此html页面去登录网站。在后续的操作中都需重复此操作,否则提交给http不解析。用默认账号密码admin/axis2登录成功以后利用服务上传这个功能上传服务。

image.png

进入上传界面

image.png

此处直接上传一句话是不行的,只能上传aar,推荐一个axis2的webshell  https://github.com/CaledoniaProject/AxisInvoker上传aar文件后。利用

https://xxx.xxx.xx/xx/services/AxisInvoker/exec?cmd=ipconfig,来执行命令。既然可以执行命令,那么把自己的木马写进去也就不是难事了。此处依然有个猫腻,就是这个站点做了负载均衡,上传的东西,突然就不见了,过了一会再访问又回来了。

image.png

通过ipconfig查看为域环境,接下来进行内网渗透了。先收集有用信息,比如说数据库密码,本机密码。数据库密码直接翻阅文件即可找到,然后是本机密码,本机存在卡巴杀软

image.png

有卡巴的情况下是无法通过正常手段进行抓密码的,在19年年底procdump工具被卡巴拦截,所以只能用过卡巴的工具。

卡巴对LSASS保护的很好,目前有两种方法是可以的,一种是动态添加SSP,一种是RPC添加,动态的会在进程里留存DLL,这个不好,RPC是临时,用完就没了。还有一种是手工添加SSP,不过需要重启生效。目前此处我使用的是绕过卡巴斯基的工具进行抓密。当然在此期间利用inbt进行部分内网扫描,尝试利用17010进行攻打,但鉴于其内网规模巨大,且多次尝试无效。利用抓到的账号密码对shell机器的c段进行扫描,成功登录几台机器,并把其机器密码抓到。不幸的是并未找到管理员账号密码。

image.png

抓到的域用户所在组都为mef组的成员。通过查看,发现有3000多个组,40万多台内网机器,10多万个用户。如此庞大的计算机群,找不到管理员也属于正常现象。

image.png

通过对现在的信息,总结出渗透思路为:先去找到mef组的管理员,利用mef管理员账户去登录更多的机器,并寻找出管理员。

image.png

mef的管理员很容易就被找到,通过mef管理员账号和inbt工具,成功登录了几百台机器。通过批处理task list  /v每台机器进行逐个检查。虽然未发现域管理,但是在10.10段中机器中的c:\users中发现域管理员的用户,查看Credential Caching域缓存凭证,利用hashcat跑密码未果。

image.png

缓存密码由于加密方式问题,即使密码简单,CMD5也是破解不了的。

渗透思路:既然找不到域管理,就先不局限于mef组,通过对每个可控机器的tasklist /v中查找到其他组的成员,然后再找其他组的管理员,如此重复。

直到找到一个D*\KL-AK-AEEC6572C1FD26用户为卡巴组的管理员。因为从可控的千余台机器中发现,几乎所有的机器都装有卡巴企业版,所以我判断,此用户会一打一大片,果不其然,利用此用户,成功拿下数千余台机器,并且各个内网段机器都有。利用这个账户对每台机器进行查看。利用这个用户依旧未找到域管理,但是可以找到很多其他组的管理员。在task list /v的用户中找到D*\KozlenkovVV所在组为*Domain_DHCP_Admins中,利用这个管理员对其内网重复之前的操作,终于在一台10.10段中的机器找到域管理。但是是个高版本机器,无法直接抓取明文密码,导出hash,利用hashcat跑密码。先把注册表修改成功,为了以后导出明文密码。因为进程中有域管理用户的进程,那就直接利用这个进程去控制域控。此处用到token.exe进程小偷,执行命令,ntds导出所有域hash,并修改了域控和邮件服务器mail.xxx.xx的注册表,最终抓到管理员账号密码。

image.png

邮件服务器为outlook,第二天抓取密码,只能抓到2,3个用户,这是一种奇怪的现象。后来用管理员账号密码登录油服,发现没有开通owa收件服务,只有ecp权限。Ecp权限其实已经可以查看每个人的邮件了,但是只能控制16个人的邮件。我怀疑这个邮件服务器并不是员工登录的服务器。通过内网机器443端口识别,把所有的outlook网站的内网ip进行登录查验,均为16个用户。后利用wevtutil内网工具,在域控上查询用户访问过哪个IP,命令如图。

image.png

最后找到一处ip,其域名为web.xxx.xxx.xx的网站,此域名在域名搜索引擎上是找不到的,经确认这里是真正的油服。

image.png

过程当中还有很多小插曲,比如说有的用户密码里带”/”,经测试IPC是连接不了的,只能用base64转码了,如图。

image.png

后记

因为目标比较敏感,图片不是太多,主要看下思路吧。另外感谢为上篇文章《从互联网至内网横向渗透攻击链实例——寻找卡巴斯基key之旅》做出拓扑图的小伙伴,如果大家对渗透测试、大型内网横向移动技术感兴趣的话,欢迎加入白帽汇一起共同学习和成长,会有内部分享哦。
简历邮箱:hr@baimaohui.net
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐