这是我的第一篇搭建靶机的文章,攻击机是Kali Linux,靶机是网上很广泛流传的经典SHH-私钥泄露。
首先我们获取ip地址
ifconfig
然后在192.128.202这个ip段探测靶机ip
netdiscover -r 192.168.202.1/24
1,2,254是我其他的虚拟机,132是靶机。
然后我们使用nmap探测靶机的端口
nmap -sV 192.168.202.132
探测到三个端口,而0-1023这几个端口一般都被正常服务占用,而31337这个大端口十分可疑。我们到浏览器里访问一下。
打开不了,查看源码也无济于事。
那我们就用dirb挖掘一下
dirb http://192.168.202.132:31337/
得到五个文件:
这里有ssh文件和反爬虫文件robots.txt,我们分别在浏览器访问一下
robots.txt不给访问这三个文件的权限,那么我们就偏要看看这个taxes里面藏了什么:
然后就真找到了flag1
再看看.ssh
发现.ssh里面有私钥和公钥文件,我们分别把id_rsa,authorized_keys下载到桌面看看
我们先用访问桌面
cd home/boulevard/桌面
然后回车查看桌面文件
ls
就是我们刚刚下载过来的两个,可能和ssh的私钥有关
然后我们查看权限:
ls -alh
正常
但实际上在桌面查看,我们可以发现这个id_rsa是锁定的,我们先查看authorized_keys
上面是加密了的密码,下面是用户名simon
我们先验证一下simon是不是用户名:
ssh -i id_rsa simon@192.168.202.132
给个权限试试:
chmod 600 id_rsa
ls -alh
再登陆一次:
需要密码。
那就去之前的文件里面破解密码:
先用ssh2john:
python /usr/share/john/ssh2john.py id_rsa > rsacrack
然后用rockyou这个字典:
zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacrack
破译出密码了:
starwars
然后我们用这个登录ssh
确实进来了,不过simon不是管理员
然后用pwd查看当前目录,发现是/home/simon
用ls查看文件,发现有robots.txt已经利用过了
那我们进入根目录 cd /root然后ls查看文件
flag果然在根目录里面,先试试能不能打开
确实不行。
那我们从根目录逐级向下寻找有root权限的文件
find / -perm -4000 2>/dev/null
找到了这些
我们发现这里有个read_message是不是和根目录的message.c对应呢
我们先查看一下根目录下面的c代码
首先由惊喜:flag2在注释里面
我们发现这个代码的作用是:对比字符串"simon"和输入缓冲区字符串前五位,而buf最多20位,那我们让他溢出试试:
运行read_message然后输入simon加15个字符再加/bin/sh
然后发现确实拿到了root,那么查看flag得到最后一个flag