vulnhub吧唧——RAVEN: 1

下载地址: Raven: 1 ~ VulnHub

1.配置环境

7729a5a9e86543c09da0d857692f8397.png

 因为这个吧唧下下来就是NET不需要再配置环境,后面遇到了再说

2.主机发现

cfcaeda5d84442d4aa6e9092dfee6fb8.png

 我们先查看kali的ip

c457e6a84392436bb03bfed73d8b40ba.png

 然后使用命令nmap 目标网段/子网掩码可以看到跟kali一个网段的ip还有192.168.139.129,他开启了一些服务,我们接着扫描,我们先用su命令切换成root用户,使用nmap更多的参数进行扫描

a6c4ff04b4614bf2942451566f4d5294.png

 可以看到我们的吧唧是开启了web服务的,我们可以访问一下他的服务

3.访问服务

4646ca219c1941079f145cf741729f2c.png

 我们访问他的80服务,同时进行目录扫描,在网站中进行翻看,看看源码等等之类有没有可以利用的地方

21bc5c9fa72e4e66bcb7f6366619b27d.png

 在service模块找到了第一个flag,这时我们的目录也已经扫完了

fe4d8bad8974464e879173e6ac93ae2d.png

 我们逐个去翻看这些目录,当我们在访问wordpress目录时,我们发现URL栏已经变了,跳转的url里面出现域名,而且我们无法进行访问

9df7a5565007412c9e2a53cc235d6965.png

 这时候我们可以判断出来有域名,我们就需要进行本地解析,就是修改主机的hosts文件(他的路径为"C:\Windows\System32\drivers\etc\hosts"),我们先用管理员权限打开一个记事本,再打开hosts文件,添加"ip 域名"这样的格式到结尾

cb47317c1012471795ca9e16de1cf6bf.png

 保存后退出就可以进行正常访问,因为他会把192.168.139.129解析成raven.local这个域名,然后根据我们扫描出来的目录,我们在大大的网站里面挖呀挖呀挖

4.反弹shell

4abb37e027334dc3a45a804135885576.png

 然后我们利用weber敏锐的嗅觉嗅到了PHPMailerAutoload有问题,我们去google一下

8236fc02944a42dd884d80a693cf271b.png

 小黑子漏出鸡脚了,那个version版本里面写的应该就是这个phpmailer的版本,即5.2.16

4b8a5d2c20094a1aab256c89e4858a17.png

 我们利用searchsploit工具(他是一个开源的漏洞利用数据库工具,用于搜索和浏览各种漏洞利用代码)搜索到了phpmailer的一些可以进行漏洞利用的程序,我们择优选择一个进行利用

e8a05eea21e14e01b9c0111f6f832ca1.png

然后我们审计他的利用脚本,分为注释和代码两部分

c29e89b8c7ec488cb485874d6aaa7725.png

f6adcaa406454dfeb780655e4e1f5e41.png

 根据注释修改代码,让他能针对我们的吧唧进行攻击,我们知道phpmailer是利用的邮件攻击方式,其/contact.php正是跟邮件有关的页面,所以我们进行攻击他

72f01521a8c54e5091295c07e452d77f.png

 执行脚本

e6884131b38b41d5b667a3203e31ec77.png

 监听我们指定的3716端口

f94385d0ca8c4dbe8dbc31ed838dc638.png

 然后我们根据步骤先触发shell再反弹shell

278f812c47ab40419cd17948de3c408a.png

 可以看到我们反弹shell成功

16b5a2026a1640468df1a4f2c29c9e92.png

 查看本机python版本

4216d3c2f09d4dffa0bf48b8dc54573c.png

 我们以看到刚刚的执行命令的方式跟我们平时的不太一样,我们这时候利用python命令执行python解释器的一些命令,修改当前执行程序的方式为交互式执行程序的方式,但是这种方式跟我们平时使用的命令行操作方式不一样,他并不能补全文件名按上下浏览历史命令,非常的不方便(参考:https://www.cnblogs.com/sainet/p/15783539.html

903f39c660054c3f984d2d3c24831a98.png

一顿操作后我们已经成功提升shell为我们平时使用的那种了

5.udf提权

0766a543afec40d8a92695e1d8c83a86.png

 我们使用netstat看一下tcp和udp开启的服务,可以发现他开启了3306端口,也就是这台主机里面存在MySQL。我们现在的用户是www-data,权限非常的低,这时候我们就需要提权,而刚刚好有个MySQL,众所周知,我们网站要连接数据库的话肯定会设置他账号密码,我们在大大的网站里面挖呀挖呀挖

d7c85c17183d45fb912a461c70d9bde3.png

 成功翻到我们的账号密码,拿到账号密码后就进行登录

2de9e96965724522875326de49e381a6.png

 成功登入我们的MySQL,又众所周知,数据库数据库,里面肯定有很多重要的数据,我们继续在小小的数据库里挖呀挖呀挖

ab0f4b260a50476fb1148a2a243f22cc.png

 我们凭借着一个weber敏锐的嗅觉,锁定了嫌疑表(当然多翻翻也是没有问题的)

f8b8333e82274586aeb24d2fb1fcf832.png

 我们成功的拿到了用户名和密码,然而这个密码长得不像密码,我们猜测长得这么丑的应该是md5,我们直接打开一个md5的在线网站

9b4c88cebccc44759dd8d397af5ed980.png

bd9bfe5cc6b54567a9058dd2b0aa99f6.png

 我们发现Michael的密码并不能破解,但Steven的密码破解出来是pink84,我们现在拿到了一个账号和他对应的密码,但是他是哪儿的账号和密码呢?回到最开始的扫描端口那一步,我们看到他开启了22端口,对应的tcp的ssh服务(ssh服务主要用于登录到远程主机执行命令)

92302d47dc5a4a3aa26b567640fc6942.png

 这里我们使用ssh服务成功登录上了steven账户

25ce46c8e83c4ae68bb078a42c548adf.png

 我们可以进行MySQL提权,这里我们先做一些准备工作,知道了我们需要把dll文件上传到plugin目录下,知道了我们可以导入导出到任何目录下,知道了plugin的目录,知道了系统是64位的

e7006bcfb9dd43f4b1c19a818ee7ba3e.png

 找到对应的利用文件,因为是sqlmap自带的所以他进行了加密,我们需要利用他自带的程序进行解密

a51f34fc68894b2cba0d0afa7b527430.png

 这里我们已经拿到了可以利用的so文件(windows的利用文件为dll,linux的利用文件为so)

5dfe4b89f9f8468cb630e794ca0b6d24.png

 利用MySQL生成一个hex编码后的txt文件,然后直接利用dumpfile进行上传

e30cfb85a1554728939408a14bcae3fa.png

 这里我们直接利用MySQL生成的文件,我们还可以利用其他方式上传文件

(1)本地http上传

8107a454418b4e35bd1f63c81a7efcb9.png

 我们在本地开启http服务

a1fcb1bb88e3452c83e902fd87c38d3f.png

 在吧唧里面下载,这里需要注意的是,我们的服务是在桌面开的,那么我们访问的也是桌面这个目录,如果需要加端口,那么也是url:端口号的格式,这里我们使用http服务成功下载我们需要的文件

(2)scp命令

3baa4ce2f244485190c8f92dde86c210.png

 利用scp命令先写入到tmp目录下,然后再用MySQL的dumpfile写入到目标目录下,tmp目录一般都可写,这里我们知道MySQL的dumpfile可以随便写,所以这里我们曲线救国

言归正传,开始我们的利用

1753d8823885454fb50aeae1977b66fd.png

 这仅仅是能在MySQL中进行root命令

1753d8823885454fb50aeae1977b66fd.png

我们利用MySQL的udf提权后修改find的权限为root,然后在find目录下启动一个新的shell,此时就具有root权限,在MySQL中仅仅是一个单向的shell,并不能进行交互,所以我们需要进一步提升shell,此时我们在find的shell下可以更改root的密码然后登录他的ssh,至此,这台吧唧我们已经拿到了最高的权限——root

6.python提权

这里我们使用ssh服务成功登录上了steven账户,除了用MySQL的udf进行提权,还可以用别的

46121d44e8c148f9af8a36514035cb56.png

 这里我们得到一个重要的信息就是python可以执行sudo命令,就像刚刚提升shell一样

68cd170423fc456891f5fa6b8a161f9a.png

 这条命令的意思,以root权限运行python命令,即生成一个具有root权限的交互式shell

总结:合理运用各种各样的工具,总结一下大概的思路就是主机发现,扫描端口确定开启哪些服务,然后审计代码,找到漏洞点,合理运用工具进行漏洞利用,想办法提权……当然,在自己开发网站的过程中,一定要重视对数据库的保护和对目录权限的保护。还有一个很重要的点,不要忘记找flag!!!提到root后回头一看,只有最初的源码的flag

新手上路,请多指教

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值