SSH 私钥解密 + 系统提权
SSH 私钥解密 + 溢出提权
文章前半部分将怎么解题,后半部分总结一下所用到的工具,私以为后面才是重点~
解题部分
1. 信息收集
首先,咱先装模做样 ifconfig
一下看看网络配置
然后用在局域网里面找下靶机,再测下连通性
netdiscover -r ip/mask
然后开始 nmap 大法好
nmap -sV xx.xx.xx.xx
哦豁,有个神奇的 31337 tcp 端口开着,还架着 http,嗯,超大概率是目标,所以嘞,浏览器开开是不是就能搞到 flag 了呢?
哦草,我太年轻了,没那么容易,白板网站,用 dirb 探测一下隐藏文件
欸嘿,看到一个好东西,瞅瞅 robots.txt 不让我看啥
嗯? taxes 是个啥,奇怪的名字,打开看看
噢噢噢噢,刺激,搞到了,然后仔细一看。。。。flag1,那是不是还有2,3,4,5。。。。想到之前 robots 前面有个 .ssh 鬼鬼祟祟的,想到是不是 ssh 有点东西,不管了,打开瞅下
???这是啥,私钥给我摆出来?让我直接进入靶机嘛?先把认证文件和私钥下载下来吧,浏览器地址输入:
192.168.0.115:31337/.ssh/id_rsa
192.168.0.115:31337/.ssh/authorized_keys
2. 私钥、认证文件破解
私钥下下来之后就想通过这个登陆服务器后台啦,不知道用户名欸,打开认证文件看一看
emmm,用户名是 simon,直接登陆需要密码,这个比较麻烦,得尝试从私钥中把密码搞到手
试试 john 解密吧,但是得把私钥转化为 john 能识别的格式,用 ssh2john 的 python 脚本(github 上搞到的好东西)
python ssh2john id_rsa > id_rsa_john
直接把 id_rsa_john 送到 john 里面还是不中,john 只能搞一搞简单的,所以得给 john 加一点料,直接用/user/share/wordlist
里面大名鼎鼎的 rockyou.txt 作为 wordlist 就行啦,不过,新机子,解个压:
然后使用 john
john -wordlist: /usr/share/wordlist/rockyou.txt id_rsa_john
唔呣唔呣,密码 starwars,制作者是个星战迷啊,好了登陆~
啊,忘记该权限了,私钥不能开那么高的权限,私钥文件权限改为 700 再来
看看有没有 flag
。。。。没有,那 root 目录呐?
哦草,有是有,但是权限 600 可还行,完了,没完没了,要想办法提权了
3. 提权
提权这我是真的不熟,不过还好有提示,read_message.c 开开看一下 hint 是个啥
爽快,直接给 flag2 啊有木有,但是这段源码是干啥的呢,猜测,有段程序是这么写的,这玩意有明显的溢出漏洞啊,那个 20 char 的数组摆明有问题,不管了试试再说,直接执行 read_message,欸真有,那直接溢出吧,轻松提权
现在拿着 root 的权限就是爽,快去看看 flag 吧
挺有意思的题目啊,对菜鸡新手非常友好,适合我这种菜鸡初学者入门,感谢感谢
总结
1. dirb
用途:就是一个扫描网站内容的工具,可以搞到网站的目录,常用于寻找隐藏文件
用法:
# 最简单的用法
dirb http://192.168.1.224
# 使用 wordlist 辅助扫描
dirb http://192.168.1.224/ /usr/share/wordlists/dirb/common.txt
2. john
用途:主要用于破解弱 Unix 口令,但是也能破解其他常见加密格式的密码
用法(以破解一个 Unix 口令为例):
unshadow passwd shadow > unshadowed.txt
john --wordlist=/usr/share/john/password.lst --rules unshadowed.txt
彩蛋,john 工具包里的 unique 也很实用,能把两个字典中相同的部分去掉
unique -v -inp=allwords.txt uniques.txt
3. wordlist:rockyou.txt
为啥这个字典这么好用呐,这是有个小彩蛋的,首先,要知道 RockYou 是一家为 MySpace 开发小部件并为各种社交网络和 Facebook 实现应用程序的公司,在 2009 年 12 月,RockYou.com 网站遭到黑客攻击。攻击成功,导致非法泄露了一个包含3260万网站用户密码被盗的文本数据库。这部分数据又被放出来做成了 rockyou.txt,也就是说,使用 rockyou.txt 简直像是在撞库,效率比较高,下图可以看出最容易被搞的密码:
附:本次所用工具合集
ifconfig
netdiscover -r ip/mask
dirb url:port
python ssh2john id_rsa > id_rsa_john
gzip rockyou.txt.gz
john -wordlist: /usr/share/wordlist/rockyou.txt id_rsa_john
ssh -i username@ip

原文链接:SSH 私钥解密 + 系统提权
nightmorning的博客 版权所有,转载请注明出处。
还没有任何评论,你来说两句吧!