- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
简介:
服务器场景操作系统 Ubuntu 服务器账号密码:root/security123 分析流量包在/home/security/security.pcap 相关jar包在/home/security/ruoyi/ruoyi-admin.jar 。
应急主机: 192.168.0.211 网关: 192.168.0.1/24 其它傀儡机: 段内 。
本次环境来自某次行业攻防真实环境,可以参考以上文章链接,说的非常清楚,WP+过程+应急响应步骤+攻击步骤都已写明,贴合现实实战+大赛环境,不放过每一处细节点 全程模拟,请勿利用工具进行非法对外攻击,违者后果自负 。
答案:flag{192.168.0.223} 。
已知被攻击ip 192.168.0.211 ,我们用过滤器过滤 ip.dst == 192.168.0.211,看到疑似端口探测行为 。
。
再用过滤器过滤ip.dst == 192.168.0.211 && ip.src == 192.168.0.223 && tcp.flags.syn == 1,可以看到端口探测有6万多条 。
。
然后我们查看http包,发现还有目录扫描的行为,扫描的两个端口 9988 和 12333 ,我们回到主机用netstat查看对外开放的web服务正是这两个端口 。
。
。
。
答案:flag{192.168.0.200&Acunetix} 。
过滤器过滤ip.dst == 192.168.0.211 && ip.src != 192.168.0.223 && tcp.flags.syn == 1,发现ip192.168.0.200有对两个web服务的扫描行为 。
。
用过滤器过滤192.168.0.200的http包,ip.dst == 192.168.0.211 && ip.src == 192.168.0.200 && http,可以看到有规律的web扫描,并且有 bxss.me 特征,是扫描器Acunetix,即AWVS的特征 。
。
。
答案 :flag{192.168.0.226&1068} 。
过滤器过滤ip.dst == 192.168.0.211 && ip.src != 192.168.0.200 && ip.src != 192.168.0.211,可以看到IP 192.168.0.226一直在请求12333端口,url为 /login ,可以推测是爆破密钥的ip 。
。
过滤器过滤ip.dst == 192.168.0.211 && ip.src == 192.168.0.226,追踪http流,可以看到第一次请求是确定存在shiro框架,后面均是在爆破key 。
。
。
过滤器过滤ip.dst == 192.168.0.211 && ip.src == 192.168.0.226 && http.request.uri == "/login",总计1071次,去除初次请求的握手和会话3次,共爆破shiro key 1068次 。
。
。
答案:flag{c+3hFGPjbgzGdrC+MHgoRQ==} 。
过滤器筛选ip.dst == 192.168.0.211&&ip.src!=192.168.0.223&&ip.src!=192.168.0.200&&ip.src!=192.168.0.226,可以看到192.168.0.242一开始就爆破key 。
。
过滤器筛选ip.dst == 192.168.0.211 && ip.src==192.168.0.242,key爆破不成功后,攻击者访问了/actuator/heapdump下载headdump后进行分析获得key,进行后续的攻击行为 。
。
我们可以分析jar包,在源码中src/classes/application.yml目录下找到key 。
。
当然站在攻击者的视角,如果是动态的key,我们也可以下载heapdump,使用相关工具提取密钥,此处我用的JDumpSpider 。
。
。
答案:flag{ruoyi123&admin123&123456} 。
流量中没有,在heapdump里可以找到 。
。
。
。
。
答案:flag{9988&12333} 。
已知对外开放的端口为22、9988、12333端口,22端口为远程连接,9988端口在前期被192.168.0.223进行端口扫描和文件扫描,被192.168.0.200使用AWVS进行扫描,被192.168.0.242访问并下载heapdump进行后续利用。而12333端口是若依搭建的框架,被前面IP进行扫描且进行过爆破,最后一步在192.168.0.242这个IP获取到shiro密钥 。
。
答案:flag{1dvrle.dnslog.cn} 。
攻击者利用密钥探测成功后一般会测视机器是否出网,往往会利用dnslog进行测试,过滤器筛选ip.src == 192.168.0.211 && dns,排除掉正常的dns地址,即可找到dnslog的地址 。
。
。
答案:flag{192.168.0.251:8888} 。
我们继续筛选获得正确密钥的ip,因为攻击的是若依框架,走的http协议,我们筛选http协议,过滤器语法ip.dst == 192.168.0.211 && ip.src == 192.168.0.242 && http,这里借用下 chain-爱州 大佬的图来说明shiro反序列化攻击的过程 。
。
此处我们可从下往上逆推流量进行解密,因为前面爆破密钥,爆破构造链等多次,从上往下找不好定位 。
。
。
这里的命令base64解码后,可以看到反弹shell的地址和端口 。
。
。
答案:flag{/opt/.f/.s/.c/.a/.n} 。
过滤器过滤ip.dst==192.168.0.211 && ip.src==192.168.0.251 && tcp.port==8888,定位反弹shell的流量 。
因为拿下了一台永恒之蓝漏洞主机,我们直接搜索 MS17-010,fscan执行默认会生成result.txt文件 。
grep -rl 'MS17-010' / 2>/dev/null # 根据关键字筛选
。
可以看到路径出了,可是为什么流量包里也有呢?来看下 chain-爱州 师傅是怎么说的: 在TCP/IP协议中,会话需要经过三次握手和四次挥手,流量包存在是因为SYN,ACK包中存在明文流量 。
过滤器过滤ip.dst192.168.0.211&&ip.src192.168.0.251 && tcp.port==8888 && tcp.flags.syn == 1 && tcp.flags.ack == 1,根据标志位进行过滤相应的流量包,然后查看明文操作 。
。
。
答案:flag{b8053bcd04ce9d7d19c7f36830a9f26b} 。
问:万一他把result.txt文件删了呢,你怎么模糊搜索?这是 china-爱州 师傅提的新问题,一个新的角度定位fscan目录,用到md5值(工具md5sum) 。
将可执行文件的md5列出,输出到一个文件中,然后对比fscan的md5 。
find / -type f -executable -exec md5sum {} \; > out.txt
。
。
。
答案:flag{http://zhoudinb.com:12345/qxwc.sh} 。
我们可以继续在流量里看到下载地址 。
。
但是我们如何从主机侧去查呢?通过排查计划任务可看到,可以看到每十分钟执行.qxwc.sh,查看这个文件即可 。
。
。
。
答案:flag{/home/security/upload/.CCC/.happy.sh} 。
除了计划任务外,linux还有一个排查项开机自启,我们可以通过systemctl查看,他的执行文件路径在/etc/systemd/system/,创建任务是通过此目录下进行定位文件名创建任务名,使用以下命令可以按照最后改变时间进行排序,从下往上看可疑文件 。
ls -l --time-style=long-iso /etc/systemd/system/ | sort -k 6,7
。
这里有一个happy.service明显不是系统自启动项,我们查看即可找到路径 。
。
。
答案:flag{xj1zhoudi@kali} 。
cat /etc/passwd |grep bash
。
这条命令只看到两个拥有登陆权限的用户,再看可登录用户的/.ssh目录,并查看公钥文件,在/root/.ssh/.id_rsa.pub看到可疑用户名 。
。
其实在反弹shell的流量中也能看到下载这个公钥文件 。
。
。
。
PS:本题是由 china-爱州 师傅在一次实战中记录的,渗透部分讲解了黑客的攻击思路,可以去公众号看看,链接在这:https://mp.weixin.qq.com/s/2eYZGnDaD6M0sdrIVPhbhQ 。
。
最后此篇关于实战-行业攻防应急响应的文章就讲到这里了,如果你想了解更多关于实战-行业攻防应急响应的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
实战-行业攻防应急响应 简介: 服务器场景操作系统 Ubuntu 服务器账号密码:root/security123 分析流量包在/home/security/security.pcap 相
背景 最近公司将我们之前使用的链路工具切换为了 OpenTelemetry. 我们的技术栈是: OTLP C
一 同一类的方法都用 synchronized 修饰 1 代码 package concurrent; import java.util.concurrent.TimeUnit; public c
一 简单例子 1 代码 package concurrent.threadlocal; /** * ThreadLocal测试 * * @author cakin */ public class T
1. 问题背景 问题发生在快递分拣的流程中,我尽可能将业务背景简化,让大家只关注并发问题本身。 分拣业务针对每个快递包裹都会生成一个任务,我们称它为 task。task 中有两个字段需要
实战环境 elastic search 8.5.0 + kibna 8.5.0 + springboot 3.0.2 + spring data elasticsearch 5.0.2 +
Win10下yolov8 tensorrt模型加速部署【实战】 TensorRT-Alpha 基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10、
yolov8 tensorrt模型加速部署【实战】 TensorRT-Alpha 基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10、linux,
目录如下: 为什么需要自定义授权类型? 前面介绍OAuth2.0的基础知识点时介绍过支持的4种授权类型,分别如下: 授权码模式 简化模式 客户端模式 密码模式
今天这篇文章介绍一下如何在修改密码、修改权限、注销等场景下使JWT失效。 文章的目录如下: 解决方案 JWT最大的一个优势在于它是无状态的,自身包含了认证鉴权所需要的所有信息,服务器端
前言 大家好,我是捡田螺的小男孩。(求个星标置顶) 我们日常做分页需求时,一般会用limit实现,但是当偏移量特别大的时候,查询效率就变得低下。本文将分四个方案,讨论如何优化MySQL百万数
前言 大家好,我是捡田螺的小男孩。 平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了。如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化自己
我们先讲一些arm汇编的基础知识。(我们以armv7为例,最新iphone5s上的64位暂不讨论) 基础知识部分: 首先你介绍一下寄存器: r0-r3:用于函数参数及返回值的传递 r4-r6
一 同一类的静态方法都用 synchronized 修饰 1 代码 package concurrent; import java.util.concurrent.TimeUnit; public
DRF快速写五个接口,比你用手也快··· 实战-DRF快速写接口 开发环境 Python3.6 Pycharm专业版2021.2.3 Sqlite3 Django 2.2 djangorestfram
一 添加依赖 org.apache.thrift libthrift 0.11.0 二 编写 IDL 通过 IDL(.thrift 文件)定义数据结构、异常和接口等数据,供各种编程语言使用 nam
我正在阅读 Redis in action e-book关于semaphores的章节.这是使用redis实现信号量的python代码 def acquire_semaphore(conn, semn
自定义控件在WPF开发中是很常见的,有时候某些控件需要契合业务或者美化统一样式,这时候就需要对控件做出一些改造。 目录 按钮设置圆角
师父布置的任务,让我写一个服务练练手,搞清楚socket的原理和过程后跑了一个小demo,很有成就感,代码内容也比较清晰易懂,很有教育启发意义。 代码 ?
? 1 2
我是一名优秀的程序员,十分优秀!