Enumeration
nmap
用nmap扫描发现目标对外开放了22和80,端口详细信息如下
从nmap的结果看到,是apache的default page,使用工具跑一下目录,看了官 网文档的结果然后写个小字典节约时间,扫描结果如下
On the page at /music, there is a link that doesn't point to another link on / music, but rather an administration tool. What is the relative path? 这个问题引导应该是要去看/music页面的源代码,里面有一些其他的链接,应该 是/ona
Exploitation
OpenNetAdmin 18.1.1 Remote Code Execution
访问该链接后就看到了版本信息,可以回答第三个问题
提示了版本信息,并且知道该版本是一个很久的版本,所以先去搜搜有没有什 么现成的漏洞,然后发现有现成的rce,将利用脚本镜像到工作目录
查看脚本发现利用xajaxargs参数来注入命令,输入服务的url
利用脚本搞了很久都没成功,查看别人写的文章才发现,是因为没有在url的最后加/
试了两三个命令去链接kali机,但都没有成功,引导的题目让填写用户,将 www-data填写提交后问jimmy的密码,有可能这个就是关键 但是脚本得到的shell并不能利用,因为脚本只是读取命令然后输出结果,然后无限循环,尝试直接利用脚本中关键的指令来反弹shell,先尝试执行id,发现成功了
┌──(kali㉿kali)-[~/vegetable/openadmin]
└─$ curl --silent -d
"xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxar gs[]=ip%3D%3E;id&xajaxargs[]=ping" http://10.10.10.171/ona/
...[snip]...
uid=33(www-data)
gid=33(www-data) groups=33(www-data)
...[snip]...
然后替换id为反弹shell的指令
提前在kali中开启监听,回车后即可得到一个www-data shell
Lateral Movement
jimmy
按照刚才的提示,现在应该去寻找jimmy的密码,最终在 database_settings.inc.php中找到了数据库的用户名密码
考虑可能重复使用密码,很幸运,利用该密码成功登录jimmy
可以去到其他地方
joanna
index.php显示了一个登录页面,其中还有hash
main.php显示如下,疑似登录后会返回joanna的密钥
进一步发现在本地监听了一个52846端口,有可能和刚才的网站有关系
刚刚的index.php中还得到了一个hash,先尝试破解该hash值
使用命令创建远程ssh隧道,将会把目标的52946端口转发到kali的8888端口
现在就可以使用jimmy/Revealed登录该网站
登陆之后,按照代码中描写,将得到joanna的ssh密钥
然后使用ssh2john生成hash,john来破解
利用rsa密钥登录joanna,然后可以拿到user的flag
ssh -i rsa joanna@10.10.10.171
Privilege Escalation
发现可以免密使用root权限执行以下命令
恰巧nano可以用来提权
执行命令sudo -u root /bin/nano /opt/priv
使用nano打开后,nano允许使用快捷方式插入文件,按ctrl + R后再次按ctrl + X 执行系统命令,然后执行上图中最后一行的命令即可