VulnHub靶机- school | 红队打靶

admin 2023年7月3日09:24:33评论45 views字数 3240阅读10分48秒阅读模式

 声明:该篇文章仅供学习网络安全技术参考研究使用,请勿使用相关技术做违法操作。本公众号的技术文章可以转载,能被更多人认可本文的创作内容属实荣幸之至,请在转载时标明转载来源即可.也欢迎对文章中出现的不足和错误进行批评指正!

实战打靶系列第 26 篇文章 

kaliIP:192.168.56.102                                         靶机IP:192.168.56.111

主机发现

使用nmap进行主机发现

VulnHub靶机- school | 红队打靶

image-20230623161051664

这里发现192.168.56.111为新增加的IP,即为靶机IP。

端口扫描

主要使用你马屁、进行存活端口探测,包括端口服务的版本,操作系统等信息

VulnHub靶机- school | 红队打靶

image-20230623161225671

这里看到靶机开放了22,23,80端口。

VulnHub靶机- school | 红队打靶

image-20230623161329461

22端口运行着ssh服务,23端口运行着一个不常见服务,但是23端口可以使nc链接,80端口运行着http服务。

web渗透

使用浏览器查看80端口的http服务,发现是一个登陆界面。

VulnHub靶机- school | 红队打靶

image-20230623161513488

针对登录界面,首先使用弱口令进行尝试,发现账号密码为admin/admin123,同时也可以使用sql注入万能语句进行密码绕过,这里万能语句的位置在username栏中,也可以使用hydra进行爆破,hydra对不存在验证码的http表单爆破很有效果。

这里首先找到我们提交的数据会提交到哪一个文件中。

VulnHub靶机- school | 红队打靶

第二要找到用户数据的提交格式及内容

VulnHub靶机- school | 红队打靶

第三要找到验证失败的返回相应特征。

VulnHub靶机- school | 红队打靶

image-20230623163359232

这些信息足够hydra进行爆破和判断,使用hydra进行爆破。

VulnHub靶机- school | 红队打靶

image-20230623164757816

这里也成功得到密码。进入后台并没有发现可以直接利用的漏洞点。

VulnHub靶机- school | 红队打靶

image-20230623164906413

查看也面源代码,发现了一个全新的参数地址

VulnHub靶机- school | 红队打靶

image-20230623165043851

是一个可以进行文件上传的站点。上传一个webshell,这里使用kali自带的webshell

VulnHub靶机- school | 红队打靶

image-20230623165544202

上传完成后,在页面源代码中发现了上传的地址,

VulnHub靶机- school | 红队打靶

image-20230623170116859

对webshell进行访问触发。

VulnHub靶机- school | 红队打靶

image-20230623170358897

VulnHub靶机- school | 红队打靶

image-20230623170339961

成功触发。

提权

信息收集

信息 收集并没有有用的信息,发现我们有root目录的访问权限,并发现了一个名字为win的文件,

VulnHub靶机- school | 红队打靶

image-20230623170639909

文件里面使用wine运行了一套windows的可执行程序,Wine是一个可在Linux和其他操作系统上运行Windows应用程序的兼容层。它模拟所有必要的Windows环境和API,使得Windows应用程序可以在Linux中运行,而不需要任何Windows环境或虚拟机。简单来说,wine可以将windows可执行程序的语句逐条翻译成linux系统可以理解的语句。

VulnHub靶机- school | 红队打靶

image-20230623171047549

在win文件中提到的路径中我们发现了两个文件

VulnHub靶机- school | 红队打靶

image-20230623171111125

将文件下载下来放到windows环境中运行。

缓冲区溢出的利用

首先查看系统进程,

VulnHub靶机- school | 红队打靶

image-20230623173835006

运行exe程序以后,再次查看进程,发现系统开启了23端口,

VulnHub靶机- school | 红队打靶

image-20230623173950498

程序运行结果如图:

VulnHub靶机- school | 红队打靶

image-20230623174017842

使用kali连接端口发生发送数据,这里手动发送数据太慢了,直接使用脚本,

VulnHub靶机- school | 红队打靶

image-20230623175337569

这里使用2000个字符导致报错,使用msf-pattern_create生成一个2000个长度的字符串用于定位。理论上这个方法可行,但是实际上不知道为什么这里的字符串传不进去。我们换一种思路,首先生成1800个0,再用msf-pattern_create生成一个200长度的字符串,再进行查找。具体如下

VulnHub靶机- school | 红队打靶

image-20230623194130890

VulnHub靶机- school | 红队打靶

image-20230623193938251

VulnHub靶机- school | 红队打靶

image-20230623193953885

经过调整以后成功获得偏移量,偏移量为1902,也就是说,1903,1904,1905,1906为EIP的位置,这里调整exp进行验证。

VulnHub靶机- school | 红队打靶

image-20230623194258535

VulnHub靶机- school | 红队打靶

image-20230623194546851

这里看到eip全部被B覆盖,接下来要查询坏字符。

可以使用github上面的脚本badchars进行生成所有字符,在用脚本传进去,传到我们要放置语句的地方,通过返回结果查看是否存在坏字符。

VulnHub靶机- school | 红队打靶

image-20230623195539493

VulnHub靶机- school | 红队打靶

image-20230623195316983

从00到ff之间有间隔,所以肯定有坏字符。经过测试,所有的坏字符为x4dx4fx5fx79x7ex7f。eip寄存器里面放着下一条语句执行的寄存器的位置,我们通过输入字符发现缓冲去溢出以后字符会先覆盖eip,后覆盖esp。所以我们能写入语句的位置使esp,所以在eip寄存器中要实现将程序跳转到esp中,但是eip中只能存放下一条语句的位置,所以我们要在程序中找到一条这样的语句,语句的功能使跳转到esp中,将这条语句的地址写入eip中,当程序进入eip以后就会执行跳转指令,跳到esp中执行恶意语句。明确思路以后就要进行操作。在汇编语言中语句jmp esp表示跳转到esp中,但是寄存器里面不可能存放一条语句,他存放的是语句的操作码,操作码都是固定的,可以直接搜索得到,也可以使用工具msf-nasm_shell实现,msf-nasm_shell是Metasploit框架中包含的一个交互式的汇编语言环境。

VulnHub靶机- school | 红队打靶

image-20230623201155508

得到机器码以后要在程序中找到存在跳转语句的地方。在调试器左下角调用python脚本显示所有模块,

VulnHub靶机- school | 红队打靶

image-20230623201753015

选择其中false多的选项,这里使用第二个,再在这个模块里面搜索jmp esp指令。

VulnHub靶机- school | 红队打靶

image-20230623202120683

这里有两个地址里面的内容都是jmp esp,选择一个地址放在eip的位置上。继续构造payload,使用msfvenom生成paypoad。

VulnHub靶机- school | 红队打靶

image-20230623205027064

-p指定生成payload的类型,-f c是指定payload以c语言源码的形式输出出来,-b指定的是payload中不能出现的字符,这里都是刚刚发现的坏字符,不管在什么语言里面,x00都表示截断,是坏字符,最后一个参数的意思表示如果程序崩溃,就以线程的形式结束程序。构造如图所示的最终利用脚本。

VulnHub靶机- school | 红队打靶

image-20230623204948898

这里eip中 地址和我们寻找的地址相反,这里存在一个小端显示的问题,可以自己搜索,在加payload之前要添加几个字符表示划过,不要让payload和eip挨得太近,防止出现问题。注意要将IP地址修改为靶机地址,我们不是要渗透我们的windows机器。这里进行连接测试。

VulnHub靶机- school | 红队打靶

image-20230623205048187

成功反弹shell,但是看起来是windows的shell,使用dir查看发现就是linux的根目录。

VulnHub靶机- school | 红队打靶

image-20230623205152150

其实这里是将win的z盘映射在了linux的根目录中,至此靶机渗透测试结束。

参考资料:https://www.aqniukt.com/goods/show/2434?targetId=16289&preview=0

原文始发于微信公众号(0x00实验室):VulnHub靶机- school | 红队打靶

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月3日09:24:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   VulnHub靶机- school | 红队打靶https://cn-sec.com/archives/1850910.html

发表评论

匿名网友 填写信息