做了些纵横网络靶场的部分题目,将其整理了整理,希望对大家有所帮助
尝试jadx-gui 查看 然后搜索flag 并没有发现
发现没有东西,使用APX-TOOLS反编译
APKTOOLS
反编译一下
有个unknown
继续反编译
在这里搜到了flag
flag{ft-dt-src-2019-8}
下载下来是一个文件先file一下看看
发现是个流量包,改下后缀,wireshark打开
分析半天没分析出来
ICMP协议过滤只有5个包
发现长度58的4个data值是不变的
看评论说直接交,于是尝试直接交
flag{2122232425262728292a2b2c2d2e2f30}
记事本打开是这样
看特征是DES加密
gihub有个python实现DES加解密
https://github.com/liupengs/DES_Python
将这个S值与题目给的S值替换下
python2运行下
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的字符串
有点坑的是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{}
压缩包里面是这四个文本文件
猜测
CRC32爆破
CRC校验实用程序库 在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。在诸多检错手段中,CRC是最著名的一种。CRC的全称是循环冗余校验。
总之每个文件都有唯一的CRC32值,即便数据中一个bit发生变化,也会导致CRC32值不同。若是知道一段数据的长度和CRC32值,便可穷举数据,与其CRC32对照,以此达到暴力猜解的目的。但通常只适用于较小文本文件。
这1.txt和2.txt和3.txt三个大小都是6
使用CRC32 Tools爆破
https://github.com/theonlypwner/crc32#crc32-tools
将可能的拼起来试试
forum_91ctf_T_s6Z
forum_91ctf_cN3O_z
forum_91ctf_tf_ciJ
forum_91ctf_com_66
尝试一下发现是最后一个 发现这个密码的意思还有点特别、
打开之后在convert.txt发现是0101的数字
尝试解码发现是base64
直接复制粘贴到txt然后改成html打开
扫描一下
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
cmd5在线解密
Administrator:123456789 Guest:空密码 HelpAssistant:[email protected]
md5(123456789)
flag{25f9e794323b453885f5181f1b624d0b}
题目描述
工业业自动化运维管理员最近发现某工控设备频繁出现可疑地流量,请您帮助他分析确认一下问题
打开发现一个流量包和一个PDF文件
随便点开追踪一个就出来了,flag是倒着的,从下往上写
flag{c93650241853da240f9760531a79cbcf}
打开发现是一个图片
binwalk发现有压缩包
foremost分离出来
是一个mp3文件
直接SSTV
flag{no32dpi3194dof2}
题目描述
生产系统的运维人员在进行日常审计中发现设备存在大量的告警日志,自动化工程师在进行上载分析中也没有发现相关的问题所在,请您帮助进行分析相关设备的存在的问题,flag格式为:flag{hex数据}
发现有arp 过滤一下
有两个VMvare比较可疑
尝试提交该数据包的MAC地址
flag{001c0615d309}
题目描述
由于操作员操作不当导致化工车间蒸馏塔控制器程序出错,请分析错误程序查找错误点并获得flag,flag格式为flag{}
string 一下
有很多但我们可以过滤下,不过这个flag是16进制
于是我们发现flag转换成16进制开头是666于是我们可以
strings xx | grep 666
某生产车间PLC设备遭到攻击者恶意扫描攻击,请根据网络流量包分析攻击行为找到flag,flag格式为flag{}。
strings t4.pcap | grep 666
666c61677b7071634635716655516866713971386a7d
无脑解
工控安全工程师把工艺流程分享在论坛中,并留下关键敏感信息,你能找到相关线索吗?flag格式为:flag{}。
图片foremost出来压缩包
然后爆破出密码
使用7z打开
在里面发现了flag图
小明是一家新能源汽车制造厂的风机操作员,每天的工作是根据工厂的实时温度输入风机的转数,但由于机器的老化,风机最多能接受2000转/分钟的转速,在当天下班后,检修人员发现风机由于转速过快出现了故障,请根据维修人员捕获的流量包分析当天风机的转速达到了多少转才出现的故障,flag为发送高额转速的Data层的HEX数据。flag格式为:flag{}
flag{4d0000000006010600000bb8}
现存在一份被黑客攻击修改了的工程文件,请应急工作人员找出黑客攻击的痕迹,flag格式为:flag{}。
注意:
1.find命令:
在linux目录下,当需要找某个文件或者目录时使用,文件和目录都可以查找。find命令常用来搜索目录树中的文件或者目录,并可对搜索出来的目录或文件执行某些操作。
当想知道某个关键字xxx在那些文件里面的那些行出现的时候,用这个命令。这个命令可以配合正则表达式实现强大的功能。
xargs是给其他命令传递参数的一个过滤器,常作为组合多个命令的一个工具。它主要用于将标准输入数据转换成命令行参数,xargs能够处理管道或者标准输入并将其转换成特定命令的命令参数。
也就是说find的结果经过xargs后,其实将find找出来的文件名逐个作为了grep的参数。
strings $(find . | xargs) | grep flag
小张在对电力企业进行渗透测试时,发现一台开启IEC104通讯协议的设备,并尝试对该设备进行测试。但是在IDS中发现了相关通讯异常。请尝试找出数据包中的flag。flag格式为:flag{}。
iec104协议过滤
然后追踪
flag{welcome}
题目描述
某日公司车间部分上位机软件无法运行,网络安全工程师小吕在排查问题中怀疑机器感染了勒索病毒,小吕想通过恢复系统日志进一步确认病毒感染时间,你能帮助小吕将日志恢复出来吗?flag格式为:flag{}。
勒索病毒加密
使用BDGandCrabDecryptTool进行破解
某厂区内部出现勒索病毒,且重要工程文件被黑客锁住,请应急人员解锁被勒索病毒锁住的文件,flag格式为:flag{}。
直接使用BDGandCrabDecryptTool破解