靶机作者:licong
靶机描述:域控中存在一份重要文件(获取域控权限) 靶机主机有5台:ubantu、win2008、win7、win2012、centos 攻击主机:KALI(192.168.93.128)、Win10(192.168.1.103)
其中 KALILinux
的 IP
会在文章中有变动,因为我搞这把靶场的时候中途关机过几次,随着开启启动VMware
后DHCP
会自动给它分配一个新的IP
,所以我的 KALI
在文章中变成了 192.168.1.128
、192.168.1.129
、192.168.1.130
!
(小弟第一次做拓扑图,就这样吧...)
通过开放了 http
服务,我首先来看看 192.168.93.20
的 web
,先是枚举了一下页面发现如下:
发现有一个 401
登陆认证的页面:
http://192.168.93.20/reports
经过一系列的 admin:admin、admin:admin123 ... 等等弱口令
尝试后果断放弃!通过搜索了一下 Windows 2008
相关的漏洞发现有一个永恒之蓝
:
但是没啥用,这个先暂时缓缓,总不能在一棵树上吊死吧!
来到下一个 IP : 192.168.93.30
! 继续我们的永恒之蓝
看看能不能打下来:
看了没用啊,靶机还是有点"困难"的啊,原本以为这靶机存在永恒之蓝就可以打下了,事不如愿呐。
继续下一个 IP :192.168.93.100
!通过再次的端口扫描所有详细信息后得知:
它开放了 22
(ssh),80
(http),3306
(mysql),其中它 80
端口的 web
所使用的 CMS
为 Joomla
!JoomlaCMS
它是一套全球通用的CMS,所使用的脚本语言通常是 PHP
。
访问 http://192.168.93.100
发现页面上没有什么可以利用点:
通过使用 Joomscan
这款工具对它进行了一系列扫描:
https://github.com/rezasp/joomscan
扫描结果如下:
其中有利用价值的文件目录有这些:
http://192.168.93.100/administrator/
http://192.168.93.100/robots.txt
http://192.168.93.100/configuration.php
administrator
目录是一个登陆页面,尝试了它的默认密码以及弱口令无果:
来到 robots.txt
文件,没有发现泄漏了重要文件信息:
但是 configuration.php~
这个文件泄露了 mysql
的数据库连接信息:
如上图所示,我们得到了一个 mysql
的用户:
user:testuser
pass:[email protected]
用泄露的用户名和密码尝试登陆 mysql
:
mysql -h192.168.93.100 -utestuser -p
pass:[email protected]
通过查询 joomla
数据库的 am2zu_users
表下的 username
、password
字段内容发现 administrator
用户的密码是加密的,而且不知道是啥加密,估计是加盐了。有知道的大佬麻烦告诉我,我会很感激的!
抱着试一试的心态去 cmd5
解密了一下无果:
额...那么换个思路!既然 admin
的密码拿不到,我们可不可以修改它的密码或者说添加一个管理员用户进去呢?
通过观看官方文档发现它可以通过 SQL
语句来添加一个新的用户:
https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cn
通过插入 SQL
数据我们成功添加了一个 admin2
用户,密码是 secret
,登陆它的 web
:
http://192.168.93.100/administrator/index.php
之后在模板新建一个 php
文件:Extensions
-> Templates
-> Templates
访问 http://192.168.93.100/templates/beez3/8888.php
得到一枚 SHELL
:
虽然得到了一枚 webshell
,但是发现执行不了 shell
命令!但是呢可以切换目录,我切换目录到网站绝对路径下发现这些文件:
执行不了命令那么我通过疯狂翻目录
文件找到了一个 test.txt
文件,里面好像是一个账号密码:
通过得到的密码尝试 SSH
登陆:
登陆成功后查看了一下内核
:
发现内核版本大于 2.6.22
,那么可以用脏牛提权(Linux kernel >= 2.6.22(2007年发行,到2016年10月18日才修复))
https://github.com/FireFart/dirtycow/blob/master/dirty.c
(到了这里我本来想放弃的,后来是问了团队的老哥给的思路方法才知道)
提权成功,我们来切换一下用户 firefart
:
登陆成功!接下来通过 MSF
生成一个木马来得到一个 shell
进行后渗透:
通过 xshell
我发现上传不了文件:
后来通过 WinSCP
工具才上传成功的!
给 shell.elf
文件可执行
权限,然后运行后 MSF
反弹回来一个 shell
:
之后先添加路由表
扫描一下内网存活
主机:
扫描存活主机使用的模块是这个:
这个时候扫描出来发现内网存活了这些:
192.168.93.1
192.168.93.10
192.168.93.20
192.168.93.30
192.168.93.100
192.168.93.120
但是不知道它具体是什么操作系统,那么可以通过这个模块来对内网进行探测操作系统:
auxiliary/scanner/smb/smb_version
扫描出来有三台主机,其实探测出来的和我们NMAP
信息搜集出来的结果八九不离十,只不过是我们知道了靶机 IP
的情况下才探测出来操作系统,而现在是通过横向渗透才知道的:
[+] 192.168.93.20:445 - Host is running Windows 2008 Datacenter SP2 (build:6003) (name:WIN2008) (domain:TEST)
[+] 192.168.93.10:445 - Host is running Windows 2012 R2 Datacenter (build:9600) (name:WIN-8GA56TNV3MV) (domain:TEST)
[+] 192.168.93.30:445 - Host is running Windows 7 Professional SP1 (build:7601) (name:WIN7) (domain:TEST)
以上三台主机是有 TEST域
的,说明他们在一个域
里!我通过MSF
爆破 Windows 2008
这台主机的 smb
登陆凭证爆破成功:
user:administrator
pass:123qwe!ASD
接着我先把它的流量代理出来,使用 socks4
代理:
auxiliary/server/socks4a
设置完毕后,配置 proxychains
在 /etc/proxychains.conf
这个文件,在末尾吧端口更改为刚刚设置监听的 1080
端口:
socks4 127.0.0.1 1080
为了验证我们是否代理流量成功,我扫了一下 192.168.93.20
(Windows 2008)这台主机的端口开放情况:
proxychains nmap -T4 -P 80,1433,3306,3389 192.168.93.20
扫描成功!这个时候就可以在扫它内网了!然后我本来想用 Socks4
的,但是失败了不知道为啥,后面我又把它换成 Socks5
:
在扫它内网之前我需要吧 KALI
这台主机的流量给代理出来,下面我用到的 socks5
代理,工具是 SSF
:
Win10:ssfd.exe -p 1050
KALI:./ssf -F 1051 -p 1050 192.168.1.103
代理成功后我们通过 wmiexec
去连接 windows 2008
:
wmiexec.exe administrator:[email protected]
查看 Windows 2008
的 ip
后发现 dns
为 test.org
,接着 ping test.org
获取到了域控制器的 IP
:
这个时候尝试抓取 test.org
域里的 administrator
密码,先上传一个 mimikatz
到 windows2008
:
之后本来想用 mimikatz
读取密码的,但是在 dos
下进入不了 mimikatz
的交互界面...还是太菜了!我接着 MSF
生成了一个木马得到了 Windows 2008
的shell
,然后直接运行 getsystem
得到了 SYSTEM
权限 :
然后上传了一个 mimikatz
直接读取到了明文密码:
最后通过 smb
连接到了2012
机器拿到 flag
:
这一篇文章就到这吧。
转自:红队攻防实验室