根据.SSH泄露的id_rsa和authorized_keys获取flag

基础环境:kali linux:192.168.1.7(VMware WorkstationPro)和 covfefe(提取码:o45y):192.168.1.8(Oracle VM VirtualBox) 

>>>信息的探测

使用nmap -sV 192.168.1.1/24 探测一下covfefe的版本信息及开放的端口(能看到开放了22,80,31337这三个端口)

前端私钥暴露 私钥泄露_root权限

>>>开始根据搜集到的信息进行漏洞的探测

使用浏览器访问一下目标机的80端口(发现只看到了nginx的页面,并没有发现任何的信息)

前端私钥暴露 私钥泄露_root权限_02

访问一下31337端口(没找到页面,也没有看到需要的信息,)

前端私钥暴露 私钥泄露_txt文件_03

猜测一下开放的80或者31337端口有隐藏的文件,使用dirb http://192.168.1.8:80爆破一下80端口下的隐藏目录(能看到80端口下并没有扫描到任何隐藏的文件及目录)

前端私钥暴露 私钥泄露_前端私钥暴露_04

使用dirb http://192.168.1.8:31337 进行目录的爆破(能看到爆出了五个隐藏文件,.ssh目录和robots.txt文件比较有意思)

>>>>补充

robots.txt:http://www.vipshan.com/seo/11.html

>>>>

前端私钥暴露 私钥泄露_前端私钥暴露_05

使用浏览器打开这robots.txt文件(发现是浏览器不允许查看的)

前端私钥暴露 私钥泄露_前端私钥暴露_06

查看一下taxes文件中的内容(找到了第一个flag,有点小激动)

前端私钥暴露 私钥泄露_txt文件_07

继续查看一下.ssh目录中的信息(id_rsa:私钥,authorized_keys:可存放多个公钥,id_rsa_pub:公钥)

前端私钥暴露 私钥泄露_txt文件_08

将id_rsa和authorized_keys下载下来并移动到桌面

前端私钥暴露 私钥泄露_前端私钥暴露_09

在桌面打开终端,ls  -alh查看一下id_rsa和authorized_keys的文件权限(权限过低)

前端私钥暴露 私钥泄露_txt文件_10

查看一下authorized_keys中的信息,能看到covfefe的用户名为Simon

前端私钥暴露 私钥泄露_前端私钥暴露_11

这下就能试一下使用ssh远程连接covfefe了(根据提示信息,id_rsa权限不够,无法连接)

前端私钥暴露 私钥泄露_前端私钥暴露_12

chmod -600 id_rsa 给id_rsa赋予600权限(600是id_rsa默认权限,777权限太高不安全)

前端私钥暴露 私钥泄露_用户名_13

再次使用 ssh -i id_rsa simon@192.168.1.8尝试登录一下(不知道密码的情况下,猜测一下是否会有弱口令的漏洞。然后发现并没有)

前端私钥暴露 私钥泄露_用户名_14

用ssh2john.py将id_isa密钥信息转换为john可以识别的信息(生成的文件在桌面)。

前端私钥暴露 私钥泄露_前端私钥暴露_15

利用字典爆破出reacrack中的明文密码为starwars

前端私钥暴露 私钥泄露_前端私钥暴露_16

现在知道了账户和密码就可以再次使用ssh远程登录,登录成功

前端私钥暴露 私钥泄露_root权限_17

查看一下root根目录下的信息,看到flag.txt文件cat一下,看到并没有权限查看(该用户只是一个普通的用户)

前端私钥暴露 私钥泄露_前端私钥暴露_18

使用 find / -perm -4000 2 >dev/null 看一下该账户能够查看哪些文件

前端私钥暴露 私钥泄露_前端私钥暴露_19

看到read_message文件能查看,更目录中有read_message.c文件,cat一下(发现第二个flag)

前端私钥暴露 私钥泄露_root权限_20

分析一下代码能发现/usr/local/sbin/message是具有root权限的,怎么才能跳到这个目录呢?先输入错误的用户名再输入正确的用户名试一下,看是否有提示()

前端私钥暴露 私钥泄露_前端私钥暴露_21

输入错误没有提示的信息,输入正确有提示的信息root目录下的read_message.c,也就是让我们分析这个代码(当输入正确时能够执行execve(program这个数组),就需要将这个数组buf填满,使用溢出攻击手段)。先输入SimonCCC,然后输入SimonCCCCCCCCCCCCC将buf填满至溢出使用program数组获得root权限

前端私钥暴露 私钥泄露_用户名_22

拿到root权限后就能cat flag.txt了(最后一个flag拿到成功)

前端私钥暴露 私钥泄露_root权限_23