前言
作者简介:不知名白帽,网络安全学习者。
博客主页:https://blog.csdn.net/m0_63127854?type=blog
CTF-专栏:https://blog.csdn.net/m0_63127854/category_11835386.html
目录
读取root下的read_message目录下的read-message.c
环境配置
靶机 192.168.20.148
链接:https://pan.baidu.com/s/1hXet2IbVJWdU_uJpF8bXcw
提取码:qvyk
kali 192.168.20.145
探测靶机扫描信息
netdiscover -r 192.168.20.1(192.168.0.0也可)/24 用来探测靶机
发现靶机192.168.20.148
扫描端口
nmap -sV 192.168.20.148
发现特殊端口31337
查看端口信息
发现端口下没有必要信息
扫描隐藏信息
dirb http://192.168.20.148:31337/
发现五个隐藏信息
查看隐藏信息
查看robots.txt
在taxes下找到flag1
查看.ssh
读取id_rsa(私钥)和authorized_keys(认证关键字) 公钥不用读
下载后发现id_rsa有密码
与靶机建立ssh连接
对id_rsa赋权chmod 600 id_rsa
查看key(认证关键字)
建立ssh连接 发现需要密码
破解私钥得到密码
python /usr/share/john/ssh2john.py id_rsa > rsacrack
john解密rsacrack
建立连接
靶机提权
查看信息
发现有flag.txt进行提权
查找具有root权限的文件
find / -perm -4000 2>/dev/null
读取root下的read_message目录下的read-message.c
发现flag2
审计这段代码 发现
我们要执行readmessage
然后验证数组前5个字符,限定字符数为最多20个 ,前5个为Simon即可
我们试着输20多个字符使其溢出
输入超过他缓存字符长度的字符 超出的部分为root权限的目录路径
获得root权限,发现flag