渗透测试实战-ROP靶机PWN+SolidState靶机入侵

栏目: C · 发布时间: 5年前

内容简介:大家好,爱写靶机入侵文章的我又来了!本次靶机分2种第一种为CTF中的PWN,该靶机设计在Linux 32位系统中,一共分为3个等级,本次先实战使用靶机ROP下载地址:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

前言

大家好,爱写靶机入侵文章的我又来了!本次靶机分2种第一种为CTF中的PWN,该靶机设计在 Linux 32位系统中,一共分为3个等级,本次先实战使用 level-0 ,第二个靶机为SolidState,还是跟原来一样我们入侵进去拿到root权限。

靶机安装/下载

靶机ROP下载地址: https://pan.baidu.com/s/1rYDOK-EDZDEfEYk2_IfRMg

靶机IP:172.16.24.48

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

SolidState靶机下载地址: https://pan.baidu.com/s/1UvSFf-8wMAtRFZ5qNkjMJg

靶机IP:172.16.24.66

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

实战

ROP靶机PWN

老规矩探测IP:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

通过nmap探测可以看到该靶机开了3个端口,我们访问http看一下

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

这里给出来了,该等级的 c语言 代码和一些需要我们关注的信息,比如该等级靶机让我们锻炼ret2libc技术,还给出了一个ssh的账号密码为: level0 : warmup ,通过上面的源码可以看到这里有很明显的栈溢出漏洞,下一步我们就登陆该等级ssh,查看调试一下吧

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

登陆成功,在目录下面有一个flag文件,我们现在的权限说没办法读取的,下一步我们运行一下该level0,看看是怎么样的

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

可以看到程序接收用户的输入,如果经常挖漏洞的小伙伴一看就知道这样的方式很有可能是出现溢出漏洞的(假如没有源码的情况下),下面我们来调试一下这个level0看看,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

通过上图可以看到小弟是先确认一下系统版本,确认其为32位Linux操作系统,后面才使用gdb加载level0文件

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

通过查看main可以看到比较敏感的函数:gets

下一步使用checksec来检测一下开启了那些防护,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

如上图可以看到只开启了NX,满足可以使用ret2libc技术,下一步我们来确认偏移地址,我们使用pattern来完成,gdb peda插件已经内置,因为我们有源码所有我就不把偏移指设的那么多,如图:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

生成完后,我们继续运行一下该程序,在gdb里直接输入 “r” 即可,如何输入生成的值执行

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

通过上图可以看到程序如我们预想的那样奔溃,EIP变成了 0x41414641

接下来我们通过pattern_offset来判断溢出点为44

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

下一步我们来确认一下溢出点是否真确

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

通过上面的调试已经确认该溢出点是正确的,eip也可控,存在栈溢出漏洞,下一步我们使用vmmap查看内存映射,寻找选择可读可写和可执行的内存块

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

到了这里有经验的小伙伴肯定知道该怎么做了,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

我们找到了2个,下一步我们找pop3ret,我们使用 ropgadget 来帮我们完成,pade插件里已经有了,如图:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

,我们找到了一个,是否正确呢,我们去 http://ropshell.com 上验证一下,小弟这里就把这个level0 下载到本机然后上传到该站分析,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

确认无误后,下一步我们就来编写这个exp吧,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

上图中 0xbffdf000 为 堆栈地址

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

下面的0x21000 为 堆栈的空间地址

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

最后的 0x666 为发送的shellcode字节,其实小伙伴们可以写小一点,我就不一样了我喜欢大的。。。。

最后我们运行该exp,拿flag

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

如图所示,已成功拿到 shell 和flag

【完】

SolidState靶机入侵

看完比较枯燥的,下面我们来点有趣的。

老规矩探测IP:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

下一步使用nmap探测一下,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

发现其开放了多个端口,我们先看看80端口,看有没有什么可利用的

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

下一步我们使用目录猜解 工具 跑一下看看

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

发现其过滤了我们的探测,我们在上面扫描时,看到4555端口开放了一个很敏感的服务:JAMES Remote Admin 2.3.2

到了这里我们访问一下该端口看看,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

让我们登陆,哈哈哈,不用怀疑谷歌一波,发现其默认账号密码为:root :root

试一下,然后就直接进去了。。。。

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

通过上图提示,我们直接输入 help

看到了其给了我们几个命令,下面小弟就直接列出用户,然后选择一个账户修改其密码,如图:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

可以看到 我重置了 mindy 账户的密码改为 666

下面我又搜索了关于 JAMES 的漏洞,发现一个远程命令执行漏洞,如图:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

地址: https://www.exploit-db.com/exploits/35513

那这个漏洞需要配合登陆ssh触发,我们看到上面我已经重置了其邮箱密码,下面我们登陆其邮箱看看有没有什么发现,(关于邮箱怎么设置连接,请查看小弟的前面几篇文章)

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

成功拿到ssh密码:P @55W0rd1 !2@

下一步我们修改一下我们找到的exp脚本,

直接修改第19行代码,把payload改成我本机的ip,然后在本机接收1234 端口

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

下一步就是登陆该ssh账户,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

我们已经成功拿到shell,(注,这里要说一下,如果没有利用这个漏洞,直接用ssh登陆,得到的shell是“rbash”的,小弟试了试没办法绕过)。

下面我们直接提权吧,老规矩在/tmp目录下上传提权脚本看看

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

我在/tmp目录下操作的时候,发现刚刚下载完的文件突然就不见了,我去。。。

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

当然我的手速还是挺快的,刚刚已经运行完了该脚本,分析中发现了一个可写文件且权限较高,如图:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

我们访问查看一下这个文件,

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

看了源码应该就知道了为什么/tmp目录下的文件会突然不见。。。

下面不用怀疑直接替换这个文件,即可

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

因为刚刚我们可以看到,这个文件是自己默认隔段时间执行的,所以我们只需要在本机上运行监听端口静静等待美丽的shell自己送来门了就行,如图:

渗透测试实战-ROP靶机PWN+SolidState靶机入侵

成功拿到root_shell

结语

祝您生活工作愉快!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Masterminds of Programming

Masterminds of Programming

Federico Biancuzzi、Chromatic / O'Reilly Media / 2009-03-27 / USD 39.99

Description Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. Think along with Adin D. Falkoff (APL), Jame......一起来看看 《Masterminds of Programming》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具