靶机练习8
靶机8
信息收集
老规矩nmap扫发现目标ip开放了22,80,31337()

详细扫一下,没什么其他的东西

打开网站发现是中间件nginx,还一个显示not found


dirsearch扫描目录,80端口没扫出东西,但31337扫出来了robots,还有历史命令和公钥私钥文件

打开robots网站,有个不允许访问的taxes目录

打开找到flag1


把这三个文件下载下来

cat看一眼发现两个用户都是simon,

那公钥私钥都有就可以登陆(开了22用ssh登陆) -i 接私钥

给个权限再执行,显示要密码,所以我们要ssh2john先把私钥进行解密 再用john把明文密码解出来

解的密码为starwars,再进行ssh登陆,成功登陆

看看sudo -l能不能提权,提示命令没找到

发现不行,用命令find / -perm -u=s -type f 2>/dev/null找带有suid权限的文件

进到root目录ls看有flag和一个read文件,上面find到read文件有suid权限

cat一下flag提示没权限

再看一下read文件,发现是一段c的代码,flag2也在这里

这边代码审计以下,输入时前5个字符要是Simon来过判断,再超过了20个字符时会把超过的溢出给相邻的program函数
而且使用 gets 函数存在缓冲区溢出风险,可能导致程序崩溃或被恶意利用。
只比较前 5 个字符,可能存在用户输入长度超过 buf 数组大小(20)而引发的缓冲区溢出问题,进而导致程序行为异常或被攻击者利用执行恶意代码
在这我们输入Simon111111111111111/bin/sh,提权成功

cat flag3
