纵横网络靶场--协议相关writeup

纵横网络网址:
https://game.fengtaisec.com/

1 Modbus协议

黑客通过外网进入一家工厂的控制网络,之后对工控网络中的操作员站系统进行了攻击,最终通过工控协议破坏了正常的业务。我们得到了操作员站在攻击前后的网络流量数据包,我们需要分析流量中的蛛丝马迹,找到FLAG,flag形式为
flag{}

下载pcap文件。
方法一:
直接找modbus协议 ,直接length进行排序,长度117也比较可疑,打开就是flag
在这里插入图片描述
点击追踪流-》TCP
在这里插入图片描述

方法二:

拿到流量分析的文件,观察到他现实读取了线圈和保存寄存器和输入寄存器,读取了离散寄存器,题目介绍到他通过协议破坏了正常的业务,那么就是他通过功能码写入或者修改了寄存器数据,目前学习知道的寄存器的功能码有三个,03,06,16。

03:读取
06:写入单个
16:写入多个

使用wireshark语句查询他是否写入了什么。

语句:modbus.func_code06,没有06的流量包
在这里插入图片描述
在读取功能码16
语句:modbus.func_code
16
可以看到他有写入多个寄存器的行为,而且还返回异常了,查看写入的数据,得到flag:TheModbusProtocolIsFunny!
在这里插入图片描述

2MMS协议分析

工业网络中存在的异常,尝试通过分析PACP流量包,分析出流量数据中的异常 点,并拿到FLAG,flag形式为 flag{}。

排序先看下最大的,发现是个图片,右键复制为text出来
在这里插入图片描述base64的png转图片:https://www.6api.net/tool/base642pic.html
http://m.91tool.com/base64&wd=&eqid=e133192b0003dd520000000664869e4b&wd=&eqid=9539a91e00075c7000000006657674c2
在这里插入图片描述

参考:https://blog.csdn.net/qq_61768489/article/details/126230999https://blog.csdn.net/weixin_46342884/article/details/125362773

3大工UDP协议

在进行工业企业检查评估工作中,发现了疑似感染恶意软件的上位机。现已提取出上位机通信流量,尝试分析出异常点,获取FLAG,flag形式为
flag{}。

下载文件得到是一堆UDP包,并没有发现异常长度数据包
在这里插入图片描述
过滤UDP内容中flag关键字得到关键数据包
udp contains “flag”
在这里插入图片描述
右键-追踪udp流,发现flag前后有一个16进制,666c61677b37466f4d3253746b6865507a7d
在这里插入图片描述
16进制转换成字符串得到flag:
https://www.sojson.com/hexadecimal.html
在这里插入图片描述

4工控蜜罐日志分析

工控安全分析人员在互联网上部署了工控仿真蜜罐,通过蜜罐可抓取并分析互联网上针对工业资产的扫描行为,将存在高危扫描行为的IP加入防火墙黑名单可有效减少工业企业对于互联网的攻击面。分析出日志中针对西门子私有通信协议扫描最多的IP,分析该扫描组织,Flag为该IP的域名,,flag形式为
flag{}。

题目解题思路:
就是给了日志找针对西门子私有通信协议出现最多的ip 查询其域名,西门子私有通信协议是S7COMM
IP反
查域名:太久了 已经不准确了
https://www.ipip.net/ip.html
Falg:
flag{scan-42.security.ipip.net}
参考:https://blog.csdn.net/mochu7777777/article/details/120261252

5 ICMP协议分析

某厂区遭到黑客恶意扫描,此为安全设备截取的一部分流量包,请尝试分析该流量文件,帮助安全人员找到黑客的行为轨迹,并找到隐藏的FLAG,flag形式为
flag{}

将下载的文件改为pcap后缀,用wiresahrk打开,搜索icmp类型的包只有5个,第一个data为空,其余四个Data一样,即为Falg
在这里插入图片描述

flag{2122232425262728292a2b2c2d2e2f30}

6 Modbus协议流量分析

黑客通过外网入侵到工厂的控制网络,之后对工控网络中的操作员站系统进行了攻击,最终通过工控协议破坏了正常的业务。我们通过监控工具得到黑客攻击前后的网络流量数据包,我们需要分析流量中的蛛丝马迹,找到FLAG,flag形式为
flag{}。

过滤modbus,然后查看tcp流,里面有这个。
在这里插入图片描述
flag:
flag{Easy_Mdbus}

7简单Modbus协议分析

由于操作员操作不当导致化工车间蒸馏塔控制器程序出错,请分析错误程序查找错误点并获得flag,flag格式为flag{}。

在流3里面各种 没找到啥有用信息
在这里插入图片描述
可以直接strings出来flag的16进制数据

strings t3.pcap|grep 666c6167
在这里插入图片描述

666c61677b44477377546667793147443233366673327366463264736b4c6e677d转为字符串为:
https://www.sojson.com/hexadecimal.html
在这里插入图片描述
flag{DGswTfgy1GD236fs2sfF2dskLng}

8 Modbus采集分析

安全巡检工程师会对控制设备运行情况进行检测分析,某日突然在流量中发现攻击者截取了工程师站采集数据的命令,并将采集命令进行了恶意篡改,导致上层无法获取设备正确的运行信息,影响企业正常生产运行,请分析出被篡改的恶意采集数据报文,获取flag。flag格式为:flag{}

题解:这题脑洞太大,感觉只有出题人能做出来,看了writeup,这里记录下
(1)打开数据包10.pcap,发现sourceip为192.168.1.55,控制器为:192.168.1.254,通信端口为502,使用modbus协议。
在这里插入图片描述

(2)筛选modbus协议和地址为192.168.1.254的,因为题目篡改了采集命令,因此只看发送包。然后按照length进行排序,查看长度异常的包,发现长度为155的包很少,分析长度155的发送包发现6条数据包中除了group1的数据不一样,其余都相同。
在这里插入图片描述
(3)将这6条包的group1 中的reference number按照16进制提取出来如下:
7a9cf684
0419dc54
90ee2384
072c4358
8a0230a2
92541671
(4)然后按照顺序将前5条包的信息进行拼接如下:
7a9cf6840419dc5490ee2384072c43588a0230a2
(5)将拼接后的字符串作为16进制,转换为32进制:https://8jz.cn/?d=7a9cf6840419dc5490ee2384072c43588a0230a2&form=16&to=32
32进制为:FAEFD10437E5947E4E20EB23B2504C52
在这里插入图片描述
(6)将转换后的字符串作为待解密字符串,将流量文件中的第6条提取的gourp1作为解密密钥:92541671(16进制)
http://tool.chacuo.net/crypt3des/
在这里插入图片描述

9 工控安全取证

有黑客入侵工控设备后在内网发起了大量扫描,而且扫描次数不止一次。 请分析日志,指出对方第4次发起扫描时的数据包的编号,flag形式为
flag{}。

题解:打开文件发下是乱码,file查看文件得知是pcap文件
在这里插入图片描述
使用wireshark打开capture.log文件,筛选icmp包
第4次发起扫描可以理解成两个意思:
根据题目描述可以理解为两种意思:

(1)一个IP的第四次扫描
(2)第四个IP的第一次扫描

分析流量包,发现了192.168.0.9、192.168.0.199、192.168.0.1、192.168.0.254共四个,流量包前面大部分都是192.168.0.9在进行SYN扫描192.168.0.99。如果题目意识是第一种意思,那么flag就应该为192.168.0.9的第四次扫描。
在这里插入图片描述

第四次扫描的数据包编号是11,提交flag发现不对。那么题目就应该是第二种意思,即第四个IP的第一次扫描。
继续分析每个IP的扫描包,不难发现每个IP扫描前,都进行了Ping操作,即第一次扫描都是Ping扫描。
直接筛选icmp包:第4个IP扫描的序号就是155989,flag{155989}在这里插入图片描述
参考:https://blog.csdn.net/mochu7777777/article/details/120300941

10 S7COMM协议分析

某10段工控网络中,工业协议中存在异常数据。请通过流量中的数据找寻 flag,flag形式为 flag{}。

题解:
打开文件,进行长度排序,发现192长度的包内容有个malformed ,打开包内容发现有个16进制:69735f6e6f745f7265616c
在这里插入图片描述
16进制转为字符串为:is_not_real
在这里插入图片描述

11 S7comm

工厂车间流水线某工业控制设备遭到不明人员攻击,根据对攻击行为的溯源分析发现攻击者对设备进行了程序上传操作,请根据网络数据流量协助运维人员查找证据找到flag,flag格式为flag{}。

题解:
(1)筛选协议为modbus的,然后直接看TCP流,搜索flag关键字和falg对应的16进制 666C6167,发现flag是用16进制写的。
在这里插入图片描述
在这里插入图片描述

(2)打开kaili使用strings字段筛选出16进制的,正则如下:strings S7comm.pcap|grep -E “^.{10}$”
在这里插入图片描述
666c61677b
3138676854
317772337d
在线转为字符串为:flag{18ghT1wr3}
在这里插入图片描述
参考:
https://writeup.ctfhub.com/Challenge/2020/%E4%B9%8B%E6%B1%9F%E6%9D%AF/fdiCUvG993FhAjEws6PuGc.html

12 异常的IEC104分析

小张在对电力企业进行渗透测试时,发现一台开启IEC104通讯协议的设备,并尝试对该设备进行测试。但是在IDS中发现了相关通讯异常。请尝试找出数据包中的flag。flag格式为:flag{}。

第一种方法:
题解:打开文件过滤iec60870_104协议,然后查看tcp流,发现welcome字符串。
flag: flag{welcome}
在这里插入图片描述
异常的IEC104分析

13 工控协议数据分析

生产系统的运维人员在进行日常审计中发现设备存在大量的告警日志,自动化工程师在进行上载分析中也没有发现相关的问题所在,请您帮助进行分析相关设备的存在的问题,flag格式为:flag{hex数据}

题解:打开文件autolink.pcap

告警日志

有APR流量,可能试APR攻击, 两个vm数据包比较可疑,flag提示hex数据,flag就是其Mac地址
flag{001c0615d309}
在这里插入图片描述

14 工控业务流量分析

题目描述:

某工场在厂区安全检测时,检测到一段异常流量数据包,分析数据包中的异常,找到FLAG,flag形式为 flag{}

题解:工控流量分析,首先看modbus协议同时题目位业务流量。可以考虑正常到modbus 协议正常业务常用的功能码为 0-16
0x01 (Read Coils): 该功能码用于读取离散输出(线圈)的状态。通常,它用于读取数字输出的状态,例如,获取开关或继电器的状态。

0x03 (Read Holding Registers): 这个功能码用于读取模拟输出寄存器的值。模拟输出通常表示传感器测量的数据,例如温度、湿度等。

0x0F (Write Multiple Coils): 用于写入多个离散输出(线圈)的状态。这个功能码通常用于设置多个数字输出的状态,例如,同时设置多个继电器

本题进行了大量 Read Holding Registers。

只有少量的 Read Coils和Write Multiple Coils

分别在modbus.func_code == 1 和 modbus.func_code ==15

func_code 1 存在大量data值 且和 func_code 15 data值一样。所以提取这段值

c29e46a64eeaf64e3626c2ae0ec2a22ac24c0c8c1c
在这里插入图片描述

data = 'c29e46a64eeaf64e3626c2ae0ec2a22ac24c0c8c1c'
data_new = bytes.fromhex(data)
flag = ''
for i in data_new:
    flag += chr(int(format(i, '08b')[::-1],2))

print(flag)
本题唯一坑的地方是要逆序。

flag{CyberWorldCupCETC2018}

参考:https://blog.csdn.net/m0_68113265/article/details/133894129

15 简单流量分析

不久前,运维人员在日常安全检查的时候发现现场某设备会不时向某不知名ip发出非正常的ICMP
PING包。这引起了运维人员的注意,他在过滤出ICMP包分析并马上开始做应急处理很可能已被攻击的设备。运维人员到底发现了什么?flag形式为
flag{}

题解:
参考:https://blog.csdn.net/qq_61768489/article/details/126230999
ICMP包都有奇怪的data数据,长度符合ASCII可见字符范围
使用tshark提取源地址为192.168.3.73的包的data字段:
tshark -r fetus_pcap.pcap -Y ‘ip.src_host==“192.168.3.73”’ -e data -T fields > icmp_data.txt
提取数据后自动转16进制了,我们再转回来字符串 然后计算长度

from binascii import *
import base64
 
result = ''
with open('icmp_data.txt','r') as file:
    lines = file.readlines()
    for line in lines:
        line = unhexlify(line.strip()) #去除空格后16进制转ASCII 得到原始的base64数据
        length = int(len(line)) #得到每行的长度
        result += chr(length)
print(base64.b64decode(result))


flag为:

flag{xx2b8a_6mm64c_fsociety}

15 S7协议恶意攻击分析

某天在硫化车间脱硫工艺所使用的的西门子PLC突然发生停机事件,经工厂人员调查发现该时间段PLC存在多次异常行为,请协助调查人员找出PLC相关行为,flag为异常行为数据包的前四位加后四位,格式为flag{}。

题解:参考:https://writeup.ctfhub.com/Challenge/2020/%E4%B9%8B%E6%B1%9F%E6%9D%AF/nQj9BgdiCh1bvXwhaFwbRY.html
通过了解s7common 应该是主设备向从设备发送 停机的指令,查看文件:通过info排序出job的,然后查看保温parameter发现stop口令,可以看到为中间6行数据包,异常行为数据包的前四位加后四位为:3201414d
falg:

flag{3201414d} 

在这里插入图片描述

16 异常的协议分析

题目描述

小代所在的企业车间PLC发生异常,造成生产线无法正常运行。请您帮助小代分析出PLC遭到异常的原因。flag格式为:flag{}。

解题思路

用Wireshark打开数据包,发现全部是TCP流量,无法下手,只能使用科来分析软件打开文件,进行回放数据包,发现3041,3042有问题,查看该序号前后的包.参考https://secgxx.com/ctf/competition/2021icsc-online/#toc-heading-20 在这里插入图片描述
使用wireshark查看3041,3042前后的包,发现3403包尾部发现额外一串字符XkrvX3fDmFjxmMNDQRjFORBOFMN9。
在这里插入图片描述
cypney -t XkrvX3fDmFjxmMNDQRjFORBOFMN9 在这里插入图片描述

  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OSCP 2023 Challenge Writeup-MedTech-CSDN博客是一个关于OSCP挑战赛的技术解析博客。在这篇博客中,作者详细讲解了一个名为MedTech的挑战项目,并提供了解决该挑战所需的步骤和工具。 这篇博客的开头介绍了OSCP证书的重要性和它在信息安全领域的认可度。接着,作者向读者介绍了挑战项目MedTech的背景和目标。MedTech是一个模拟医疗技术公司的网络环境,参与者需要在该环境中寻找漏洞、获取权限,最终控制主机,获取FLAG。 在解决这个挑战的过程中,作者详细介绍了使用的工具和技术。例如,他讲解了利用漏洞扫描工具Nmap进行主机发现和服务探测的步骤,以及如何使用Metasploit框架进行漏洞利用和提权。 博客中还涵盖了其他一些有关网络渗透测试的技术,如枚举、社会工程学和Web应用程序漏洞利用。作者详细解释了每个技术的原理和实际应用。 在解决MedTech挑战的过程中,作者还分享了一些遇到的困难和技巧。他提到了一些常见的错误和陷阱,并分享了如何避免它们的经验。 最后,作者总结了整个挑战的过程,并分享了他在完成挑战时的成就感和收获。他强调了在这个过程中学到的技能和知识的重要性,并鼓励读者积极参与类似的挑战和项目。 这篇博客不仅提供了对OSCP挑战赛的深入了解,而且为读者提供了解决类似问题的思路和方法。它对于那些对信息安全和网络渗透感兴趣的读者来说是一个很有价值的参考资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值