freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

纵横网络靶场部分题目WP
2023-01-08 15:34:02
所属地 河南省

前言

做了些纵横网络靶场的部分题目,将其整理了整理,希望对大家有所帮助

简单的APK逆向

1673162694_63ba6fc6044a3b74ff195.png!small?1673162619351

尝试jadx-gui 查看 然后搜索flag 并没有发现

1673162707_63ba6fd336c38f616925a.png!small?1673162632665

发现没有东西,使用APX-TOOLS反编译

APKTOOLS

1673162714_63ba6fda9901f3ade0049.png!small

反编译一下

1673162722_63ba6fe2bfb68c7a0d5fd.png!small?1673162648175

有个unknown

继续反编译

在这里搜到了flag

1673162727_63ba6fe7f391013260782.png!small?1673162653418

1673162742_63ba6ff664317d9d0523a.png!small?1673162668078

flag{ft-dt-src-2019-8}


ICMP协议分析

下载下来是一个文件先file一下看看

1673162747_63ba6ffb67806a879dffc.png!small?1673162672803

发现是个流量包,改下后缀,wireshark打开

分析半天没分析出来

ICMP协议过滤只有5个包

1673162756_63ba70049dd1749d61546.png!small?1673162682481

发现长度58的4个data值是不变的

1673162761_63ba700979dd2ac938d9b.png!small?1673162687183

看评论说直接交,于是尝试直接交

flag{2122232425262728292a2b2c2d2e2f30}

常见的对称加密

记事本打开是这样

1673162766_63ba700eabaa5ccb2bd5d.png!small?1673162692466

看特征是DES加密

gihub有个python实现DES加解密

https://github.com/liupengs/DES_Python

1673162805_63ba703599343d9388b19.png!small?1673162731092

将这个S值与题目给的S值替换下

python2运行下

1673162809_63ba70395b7d50ebd216d.png!small?1673162734974

Modbus简介

Modbus是一种广泛应用于工业控制领域串行通信协议,以其开放性、高可靠性、高效简单性、免费等优点,成为了工业领域通信协议的业界标准,是工业现场电子设备之间常用的连接方式。Modbus按其格式可分为Modbus-RTU,Modbus-ASCII,Modbus-TCP,其中前两者适用于串行通信控制网络中,例如RS485,RS232等,而Modbus-TCP主要应用于基于以太网TCP/IP通信的控制网络中。通过此协议,控制器相互之间、或控制器和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控设备方所使用的协议称为Modbus Master,从设备方使用的协议称为Modbus Slave。典型的主设备包括工控机和工业控制器等;典型的从设备如PLC可编程控制器等。Modbus通讯物理接口可以选用串口(包括RS232和RS485),也可以选择以太网口。

先过滤了下modbus协议 然后追踪了TCP 可以发现有类似flag的字符串

1673162838_63ba70560771a5c71e7ea.png!small?1673162763963

1673162841_63ba7059de81246d76d21.png!small?1673162767781

有点坑的是flag是flag{Easy_Mdbus}

破解加密数据

题目描述

某工控厂商自行研发了一套加密系统,这样的话只要不是系统内部人员,即使数据被窃听没关系了。你截获了一段密文:109930883401687215730636522935643539707,请进行解密,flag形式为 flag{}

m = "unknown"
e = 2
n = 0x6FBD096744B2B34B423D70C8FB19B541


assert(int(m.encode('hex'), 16) < n)
c = pow(int(m.encode('hex'), 16),e,n)
print c
#109930883401687215730636522935643539707

可以看出python写的加密方式

pow() 方法返回 xy(x 的 y 次方) 的值。

语法

math.pow( x, y )

内置的 pow() 方法

pow(x, y[, z])

函数是计算 x 的 y 次方,如果 z 在存在,则再对结果进行取模,其结果等效于 pow(x,y) %z。

抄了个解题脚本

import gmpy2
c=109930883401687215730636522935643539707
n=0x6FBD096744B2B34B423D70C8FB19B541
p=10848126018911527523
q=13691382465774455051
r=pow(c,(p+1)/4,p)
s=pow(c,(q+1)/4,q)
pni=int(gmpy2.invert(p,q))
qni=int(gmpy2.invert(q,p))
a=(s*p*pni+r*q*qni)%n
a1=n-a
b=(s*p*pni-r*q*qni)%n
b1=n-b
print(['0',''][len(hex(a))%2]+hex(a)[2:-1]).decode("hex")
print(['0',''][len(hex(a))%2]+hex(a1)[2:-1]).decode("hex")
print(['0',''][len(hex(a))%2]+hex(b)[2:-1]).decode("hex")
print(['0',''][len(hex(a))%2]+hex(b1)[2:-1]).decode("hex")

常见编码转换

题目描述

某企业的SCADA系统主机被黑客入侵,管理员小华发现黑客上传了一个压缩包,我们需要帮助小华分析压缩包内的蛛丝马迹,找到FLAG,flag形式为 flag{}

1673162860_63ba706c53167d56a0f74.png!small?1673162785683

压缩包里面是这四个文本文件

猜测

CRC32爆破

CRC校验实用程序库 在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。在诸多检错手段中,CRC是最著名的一种。CRC的全称是循环冗余校验。

总之每个文件都有唯一的CRC32值,即便数据中一个bit发生变化,也会导致CRC32值不同。若是知道一段数据的长度和CRC32值,便可穷举数据,与其CRC32对照,以此达到暴力猜解的目的。但通常只适用于较小文本文件。

1673162865_63ba7071a8e079acbad47.png!small?1673162791342

1673162869_63ba70755befcf421bb08.png!small?1673162794743

1673162873_63ba7079cdc2989404eb5.png!small?1673162799215

1673162877_63ba707dadae458db31b3.png!small?1673162803243

这1.txt和2.txt和3.txt三个大小都是6

使用CRC32 Tools爆破

https://github.com/theonlypwner/crc32#crc32-tools

1673162884_63ba708463774966a230c.png!small?1673162810207

1673162890_63ba708a17aa7862cea69.png!small?1673162815717


将可能的拼起来试试

forum_91ctf_T_s6Z

forum_91ctf_cN3O_z

forum_91ctf_tf_ciJ

forum_91ctf_com_66

尝试一下发现是最后一个 发现这个密码的意思还有点特别、

打开之后在convert.txt发现是0101的数字

1673162923_63ba70ab2522b078c4288.png!small?1673162848933

尝试解码发现是base64

1673162931_63ba70b37911ab60d63c9.png!small?1673162857204

直接复制粘贴到txt然后改成html打开

扫描一下


1673162952_63ba70c8b36499a85b5fb.png!small

flag{owid0-o91hf-9iahg}

内存镜像分析

一黑客通过互联网扫描,发现某企业的互联网入口,经过一系列操作将工控机进行了锁定,你能通过分析内存镜像,破解黑客留下的登录密码吗,并找到FLAG,flag形式为 flag{}

使用volatility

python2 vol.py -f memory imageinfo

python2 vol.py -f memory --profile=WinXPSP2x86

python2 vol.py -f memory --profile=WinXPSP2x86 hashdump

1673162969_63ba70d9248b99a040af4.png!small?1673162894763

1673162973_63ba70dd19d2a3b25f36b.png!small?1673162898974

cmd5在线解密

1673162976_63ba70e0af08f414e3410.png!small?1673162902123

Administrator:123456789 Guest:空密码 HelpAssistant:8v@9dknykalak3

md5(123456789)

flag{25f9e794323b453885f5181f1b624d0b}

协议精准定位分析

题目描述

工业业自动化运维管理员最近发现某工控设备频繁出现可疑地流量,请您帮助他分析确认一下问题

打开发现一个流量包和一个PDF文件

1673162982_63ba70e6b4e35777f76f1.png!small?1673162908090

随便点开追踪一个就出来了,flag是倒着的,从下往上写

1673162987_63ba70eb9e091eb36e8e6.png!small?1673162913363

1673162992_63ba70f0e07bcb8dd498a.png!small?1673162918610

flag{c93650241853da240f9760531a79cbcf}

奇怪的声音

打开发现是一个图片

1673162997_63ba70f55879a3c934427.png!small?1673162922769

binwalk发现有压缩包

foremost分离出来

是一个mp3文件

直接SSTV

1673163001_63ba70f98d7c37f38040a.png!small?1673162927191

flag{no32dpi3194dof2}

工控协议数据分析

题目描述

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

发现有arp 过滤一下

1673163006_63ba70fedc01bf3b1a7a1.png!small?1673162932472

有两个VMvare比较可疑

尝试提交该数据包的MAC地址

flag{001c0615d309}

简单Modbus协议分析

题目描述

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

string 一下

1673163012_63ba71045786e9f9f5ff8.png!small?1673162937783

有很多但我们可以过滤下,不过这个flag是16进制

于是我们发现flag转换成16进制开头是666于是我们可以

strings xx | grep 666

1673163025_63ba7111399c9ea85f747.png!small?16731629506201673163033_63ba7119c6cf554e44c2a.png!small?16731629592131673163038_63ba711e9290ab569154d.png!small?1673162964072

工控现场的恶意扫描

某生产车间PLC设备遭到攻击者恶意扫描攻击,请根据网络流量包分析攻击行为找到flag,flag格式为flag{}。

strings t4.pcap | grep 666

1673163044_63ba7124eacb067921413.png!small?1673162970316

666c61677b7071634635716655516866713971386a7d

无脑解

1673163049_63ba71290feddb21d533f.png!small?1673162974406

隐藏的工艺

工控安全工程师把工艺流程分享在论坛中,并留下关键敏感信息,你能找到相关线索吗?flag格式为:flag{}。

图片foremost出来压缩包

然后爆破出密码

1673163054_63ba712ed2cca6dfee08b.png!small

使用7z打开

在里面发现了flag图

1673163071_63ba713fb1a7f07ded259.png!small?1673162997150

损坏的风机

小明是一家新能源汽车制造厂的风机操作员,每天的工作是根据工厂的实时温度输入风机的转数,但由于机器的老化,风机最多能接受2000转/分钟的转速,在当天下班后,检修人员发现风机由于转速过快出现了故障,请根据维修人员捕获的流量包分析当天风机的转速达到了多少转才出现的故障,flag为发送高额转速的Data层的HEX数据。flag格式为:flag{}

1673163078_63ba71468717ec8a8b077.png!small?1673163004219

flag{4d0000000006010600000bb8}

异常的工程文件

现存在一份被黑客攻击修改了的工程文件,请应急工作人员找出黑客攻击的痕迹,flag格式为:flag{}。

注意:

1.find命令:

在linux目录下,当需要找某个文件或者目录时使用,文件和目录都可以查找。find命令常用来搜索目录树中的文件或者目录,并可对搜索出来的目录或文件执行某些操作。

  1. grep命令:

当想知道某个关键字xxx在那些文件里面的那些行出现的时候,用这个命令。这个命令可以配合正则表达式实现强大的功能。

  1. xargs命令:

xargs是给其他命令传递参数的一个过滤器,常作为组合多个命令的一个工具。它主要用于将标准输入数据转换成命令行参数,xargs能够处理管道或者标准输入并将其转换成特定命令的命令参数。

也就是说find的结果经过xargs后,其实将find找出来的文件名逐个作为了grep的参数。

strings $(find . | xargs) | grep flag

1673163097_63ba71598b674cd5bb462.png!small?1673163023019

异常的IEC104分析

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

iec104协议过滤

然后追踪

1673163104_63ba7160ed5d80481dbf8.png!small?1673163030618

1673163108_63ba7164c80c2a89ab01f.png!small?1673163034297

flag{welcome}

被加密的系统日志

题目描述

某日公司车间部分上位机软件无法运行,网络安全工程师小吕在排查问题中怀疑机器感染了勒索病毒,小吕想通过恢复系统日志进一步确认病毒感染时间,你能帮助小吕将日志恢复出来吗?flag格式为:flag{}。

勒索病毒加密

使用BDGandCrabDecryptTool进行破解

1673163116_63ba716c335990512ae6c.png!small?1673163041634

1673163125_63ba7175858bf1c627667.png!small?1673163050915

病毒文件恢复

某厂区内部出现勒索病毒,且重要工程文件被黑客锁住,请应急人员解锁被勒索病毒锁住的文件,flag格式为:flag{}。

直接使用BDGandCrabDecryptTool破解

# 网络安全 # 系统安全 # 数据安全 # CTF
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录