来源应该是某道CTF题目
浏览器直接访问的话是nginx的默认页面
惯例,用dirb和Nmap先扫描一遍
nmap中发现一个可疑端口
对其进行详细版本扫描
这个端口放的是一个网站
dirb扫描一下路径
发现了 .ssh 的路径
可能存在 ssh 私钥泄露
浏览器访问一下
访问 /.ssh/id_rsa 发现可以下载
分别将 id_rsa 文件和 authorized_keys 文件下载下来
使用 cat 命令查看 authorized_keys 文件
文件末尾可以看到登录用户名与主机名
直接登录会提示
chmod 600 id_rsa
给文件赋予权限
再登录,发现提示我们输入密码
但是我们并没有密码
使用命令
ssh2john id_rsa > crackrsa
将私钥信息转化为 john 可以识别的信息
使用命令
zcat /usr/share/wordlists/rockyou.txt.gz | john —pipe —rules crackrsa
尝试破解 ssh 登录密码
得到密码 starwars
登录后发现没有权限查看flag
使用命令
find / -perm -4000 2> /dev/null
查找具有root权限的文件
这里的 red_message 比较令人关注
因为在 root 下有它的源代码
我们试试看能否查看它的源代码
这里gets函数存在漏洞
上面 buf 定义时字节数为20
下面有条代码
需要让 buf 的前五位与 authorized 相同
运行程序
输入payload
Simonxxxxxxxxxxxxxxx/bin/sh
成功获取 root 权限
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-劲夫 | 50.00 | 0 | 2022-07-25 15:03:28 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.