Bootstrap

CTF工控工业互联网(ISC)复现总结WP(超详细)

Modbus协议:

Modbus 市场占有率高、出题频率高,算是最常见的题目,
因为这个协议也是工控领域最常见的协议之一,主要有三类:

  • Modbus/RTU:

  • 从机地址1B+功能码1B+数据字段xB+CRC2B

  • 最大长度256B,所以数据字段最大长度252B

  • Modbus/ASCII:

  • Modbus/RTU衍生,采用0123456789ABCDEF 表示原本的从机地址、功能码、数据字段,并添加开始结束标记,所以长度翻倍

  • 开始标记:(0x3A)1B+从机地址2B+功能码2B+数据字段xB+LRC2B+结束标记\r\n2B

  • 最大长度513B,因为数据字段在RTU中是最大252B,所以在ASCII中最大504B

  • Modbus/TCP:

  • 不再需要从机地址,改用UnitID;不再需要CRC/LRC,因为TCP自带校验

  • 传输标识符2B+协议标识符2B+长度2B+从机ID 1B+功能码1B+数据字段xB

功能编码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MMS协议:

工控领域的TCP协议,有时wireshark会将response包解析为tcp协议,影响做题,如果筛选mms时出现连续request包,考虑wireshark解析错误,将筛选条件删除手动看一下

initiate(可以理解为握手)

initiate-RequestPDU

initiate-ResponsePDU

confirmed(可以理解为交互,即传数据)

confirmed-RequestPDU

confirmed-ResponsePDU

通常情况为:

1轮initiate:即发送1个initiate-RequestPDU,接收1个initiate-ResponsePDU

n轮confirmed:直到会话主动关闭或被动断开即confirmed-RequestPDU和confirmed-ResponsePDU交替发送和接收

交互时的指令称为confirmedService 常见的confirmedService有:

对象操作:

  • getNameList (1)

  • read (4)

  • write (5)

  • getVariableAccessAttributes (6)

  • getNamedVariableListAttributes (12)

文件操作:

  1. fileOpen 打开文件(72)
  2. fileRead 读取文件(73)
  3. fileClose 关闭文件(74)
  4. fileDirectory 文件目录(77)

S7Comm协议:

S7Comm(S7 Communication)是西门子专有的协议,是西门子S7通讯协议簇里的一种

S7Comm协议包含三部分:

  • Header:主要是数据的描述性信息,包含长度信息,PDU参考和消息类型常量,最重要的是要表明PDU的类型
  • Parameter:参数,随着不同类型的PDU会有不同的参数
  • Data:数据,该数据是一个可选字段来携带数据,例如存储器值,块代码,固件数据等。

在这里插入图片描述

  • Protocol ID: [1b]协议常量,始终设置为0x32

Message Type: [1b]消息的一般类型(有时称为ROSCTR类型),消息的其余部分在很大程度上取决于Message Type和功能代码。

0x01- Job Request:主站发送的请求(例如读/写存储器,读/写块,启动/停止设备,通信设置)
0x02- Ack:从站发送的简单确认没有数据字段(从未见过它由S300 / S400设备发送)
x03- Ack-Data:带有可选数据字段的确认,包含对作业请求的回复
0x07- Userdata:原始协议的扩展,参数字段包含请求/响应id,(用于编程/调试,SZL读取,安全功能,时间设置,循环读取…)

Reserved: [2b]始终设置为0x0000(但可能忽略)

PDU reference: [2b]由主站生成,每次新传输递增,用于链接对其请求的响应,Little-Endian(注意:这是WinCC,Step7和其他西门子程序的行为,它可能是随机的生成后,PLC只将其复制到回复中)

  • Parameter Length: [2b]参数字段的长度,Big-Endian
  • Data Length: [2b]数据字段的长度,Big-Endian

在这里插入图片描述

其实这里就只用记住他的特征码就知道他干了什么(异常中,不一样的):

  • 0x01,硬件错误
  • 0x03,想访问的东西不让访问
  • 0x05,地址越界了
  • 0x06,你请求的数据类型和请求的”东西“的数据类型不一致

数据读取/与写入(0x04和0x05):

在这里插入图片描述
在这里插入图片描述
功能码:
在这里插入图片描述
区域类型:

在这里插入图片描述

ISC工业互联网比赛题目复现:

Modbus协议分析:

2019-工业信息安全技能大赛-深圳站-Modbus协议分析

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

一般这种题目就是使用脚本提取然后 查看常见协议的功能码 然后在进一步分析。

这里是Moudbus协议而且是Modbus/TCP的脚本提取

import pyshark
def get_code():
     captures = pyshark.FileCapture("Modbus.pcap")
     func_codes = {}
     for c in captures:
         for pkt in c:
             if pkt.layer_name == "modbus":
                 func_code = int(pkt.func_code)
                 if func_code in func_codes:
                     func_codes[func_code] += 1
                 else:
                     func_codes[func_code] = 1
     print(func_codes)
if __name__ == '__main__':
 get_code()

在这里插入图片描述

四个功能码都出现了702次,唯独16(预置多个寄存器)功能码只出现了两次,所以猜测与16功能码相关的流量可能存在关键数据,于是运行脚本分析与16功能码相关的流量,提取其中的数据,脚本和运行结果如下:

import pyshark

def find_flag():
    cap = pyshark.FileCapture("Modbus.pcap")
    idx = 1
    for c in cap:
        for pkt in c:
            func_code = int(pkt.func_code)
            if pkt.layer_name == "modbus" and if func_code == 16:
                payload = str(c["TCP"].payload).replace(":", "")
                print(hex_to_ascii(payload))
                print("{0} *".format(idx))
        idx += 1
def hex_to_ascii(payload):
    data = payload
    flags = []
    for d in data:
        _ord = ord(d)
        if (_ord > 0) and (_ord < 128):
            flags.append(chr(_ord))
    return ''.join(flags)

if __name__ == '__main__':
    find_flag()

将16进制字符串在线转换对应的ASII码,得到TheModbusProtocolIsFunny!

flag{TheModbusProtocolIsFunny!}

组态软件安全分析:

2019-工业信息安全技能大赛-深圳站-组态软件安全分析

一些组态软件中进行会配置连接很多PLC设备信息。我们在SCADA 工程中写入了flag字段,请获取该工程flag,flag形式为 flag{}。

放入010 发现是PK 头修改zip后缀 因为文件比较多直接放入kali 使用 grep 进行过滤 找flag

grep -r "flag" ./

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

flag{D076-4D7E-92AC-A05ACB788292}

工业协议分析1:

2019-工业信息安全技能大赛-深圳站-工业协议分析1

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

这个是MMS协议先过滤,然后在ctrl +Fflag 先是77就是有目录,然后就是打开了flag.txt文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用过滤规则 (mms) && (mms.fileRead == 87504092) 找到1800序列号

在使用过滤规则查看回显包(frame.number == 1801) 因为是回显包所以过滤1801

看到一串数据 data 一眼Base64编码 只想想到转图片 然后提取即可。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

iVBORw0KGgoAAAANSUhEUgAAAdAAAABiCAYAAADgKILKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABzXSURBVHhe7Z2Js11Fncfn75maqZmaqZkaS0elXAp1GHRUhGFAQHYQFQRFBWQRiBoBWQyyKaBsxo0tCAgkQHayQEL2jSxAyEoSIAHOvM/JPTPn9fv1Od19+9z3bvh+qr5FkXe77z33ntO/7l//fr/+m0IIIYQQ0ciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAnIgAohhBAJyIAKIYQQCciACiGEEAl0ZkDff78oNm/ZV8xfuK2Y8fxrxex5W4vlK3cVe/Ye6L1CCCGEGF6yGtC33n63uOPuNcW/fHJG8bcffsarf/3UjNLAVtz/h/Xm6/h3IYQQYiKSzYBufePt4thT55qG0NXxp8/ttTqIDGj/vP3Oe+VKf/L1y4qTzppffOq/ni/+6bDpxY+ve7n3irHw/VrKzdsjE6tFL24v7p26rrhs0pLy8x3+pZnFhz/zbDnZ+th/PFd86auzi3MuWFhcc+Py4qFpG4s1694cNcmKYf/+94oXFm4rbr1zdXHe9xcVn/+fWcVHPvv/7/WVk+YU371kcXHbyN9nzd1a7JVXRHxAeGdknFi2Ylfx+FNbiql/3lA8MPK8/+XJzcXLy3eWz80wcdxpc4t//sSMciw55Zz5xXW/WF4+zwcODO46shhQBqCjvzbHNIKWfnjVS72WB2HQtl7XxWB+KDJz9tbiM1+eaX6HTQbUej3KxZKXdxRXTV5aehys92kThm/u/Dd6vbXD9sDd960tPvH558z+fGKicfmPl5RGW4hBsnDx9lGT10q5YTuNyemHDn/WfAYQk8xf3LqyeGPb271W3bLl1X2l0bP01PRXe6/ygwG1ruOLx88uFr+0o/eqbsliQPlhrAvxiZVBHW4Y63Vd3EiHGtOe2Gx+d5XGw4CuWLWrOPv8BWbfsXp25uu9XptZMDIQ+SYRoXrksU293oToFp6Rc7+3yLwPUS7ee+/94r6p64t//Ph0830sYWSffGZLr4duwLt0wcWLzfdHGNE2fAYU/f1HpxezR1ajXdO3Ad24aW/xdx+xL+LIY2cV0597rdj95v7yh9y9e3/pysOFUEcGNA1mcKyerO/us0fNLF2iv/vjht6rx2K1Q6ngAvrlHau890OKdu3a3+vdz2NPbs7ynq++tq/XoxDd8MrGvaUHzrr/6srBu+++X1w5eanZf4gwvF2BXbDes1KIAWXhdta3FxSHHWl7nNiueXNP+/jRD30b0Ft+tcr88J/7ysxi+/YwV4AMaBpTbls55js75uQ5xcpVu3uvaMZtWymFnbveKc449wWzv1SxV9rG3BfeyGI8+d6E6IrXt75VDvisjKz7z1UOMEJW3zF68un8K9E9ew6U+5bW+1UKMaAVrGbJ9vj0F58f088fH3ql96pu6NuAEvzhfmjEDCMUGdA08PXXv69/+Nj0cq8jlHrbumLZsfOdoD3wE8+cV9zzwLrS3cpqjz1LghrwUODJwBiyh0lAAK8norsJ2n3yC2Mfmkpfv2BBOQDQ9959B8pgph073iknGLi+L5+05P/2Z2+/a/S2ghA52LV7f3Hrr1eXwS7u/dmkfmla4bG4mfqnDaU3kBiDm+9YVfzbp+3Px/OBpysnN94yduLvKsaAVry4ZMeYfggi7JK+DCgrTPcDo3//3LNRkVAyoPGQMuR+X0SWxuC2rxQDRunkrx80eD5d+MPFwaviig0b9xSbNu/t/Z/NXfesNd+P/Z6/PtMehAAYcaIRyVEWIjd4Uax7tE39wGTRWo0hDIqVi8/E252QVyJyPhfs/YZ4jFIMKBBhX++HbIQu6cuAWhYfff/yF3uvCEMGNB5r8tK2YnNx21eK4Wc3LDP7QAQjPPNsuCciBvbUfYMEq0shJgKkSln36FfPmFemWvk8eP1wz+/WmX1iXDCuPja8sse7Ul67vv8IdfZk8ULV+/3a2fPNgMNUA0o0fb0fvHJd0pcBfXrGq6M+bCVcFjHIgMaDa8j9vnhwYnDbVwpl/oJtZnvExv7qtXGrzhhWrdltvu9RJ85Jzh8VIjdLl+0cdX/iPmVbgQkg5DagBPL5tjVw2bbx69+uMdv+fMqK3ivSYT/S7Ze8zRMco4pSDShZB/V+cEF3SV8G9M+PbBz1YSs1RX5ayIDGw2zO/b64+WNw21cK4cDI+2OsrPa4UEnM7hLC7K33nnL7qt4rhBh/eE7JSybHkqIFbHnUyW1AMUhWf6d/64XeK5ohnoFVm9uez99PoQVyS90cVAwnk13yvev/jlINKC7qej9HHD2r95du6MuAYijrH7ZSbOSTDGgargvzhl/GzRLrbesKgT1Gqy2i4lDXsG9pvTdBSkJMJJ6f/bo3HSu3AaVwidXfE0+FR9N+77IXzT4I/kvFSt2ZOedgnqaVhpJqQL98wujv89RvhE0cUunLgPoM33gaUGY0zHZwV7BKeXBklcznmfb45jLijIiyrlx89EvEJxFwvx8Z4Pn8vO9LS3eU0aa5YVZZ/75+ct2y3l/CqLetKwRfcASBCIMoCeYzoKkP3kSHqGXuK6InmaCwz4sbO/Re5jdZ8vLO8n4kv4/VEFswg8h95d4nXuLhaZvKz86zwUqJKOpQSAOhqMYfHnyl7IPnmmozuZ8rVmDsTfL9Mm48+OjG8n2pUoXXJTc5DShuYcsYEbQTkk9dQUERtw/0q9/EebgqGHfdvtj7rO5dKwI45TmmPzcv/uIfja56l5soA9qW/Nqm8y+yQ4r7NaC4SbjpybOigIDVV124DNgvzJVki1uGh833MCDqvhIuTjGJihtuXjHmdTGRtKRh1Nte/TN/1SGLetu62li3/k2zHaKowSDwrYBx2XQx0HXBFT8Zu1pwXdBMBM88z1/VicCQ52b5qzVhELjvcMFZ7REFN2Jd7gScWH3VB2qiPUkP8r03rn6eWT6jBQMi1WRO+6Y/v5iI/7vvXVtGpaeC4SHYrS2PGRckv9mCRduCJy5t5DSg6zfYvwmBOzGsWWs/39wnsfC7UFDH7Yu8zQqrGEyKASUX3e2HMbZLht6AMpD6wq/bxN5ETK1VC2bW1g3iEwnEhHKDVSWEKLJQ3A1zSoPFUG9bVxusAKx2zCT37UsfyGJoMuKscIYBCv+7n33StQcnQUwKb7q1PV+uEgNFFZhSwRGCHz8irC4wq5SY2AVWrlY/m7YcTD1atXp3OZmxXuOKZ8KtQ0x97ZCKPZX++5S55So1ltdef2uMJydE/Y4bFTkNqC+oM9aI4K2wCj6wCIidODCBcvv5xncWjurH/TtKMaBECrv9dL2lM/QGlFJOVttQMXBwXSlwikFoZZG6uBEp6fUdoxYkM/JQfvrz0QMwq5EY6m3raoOZqNXu0qvz5Yu1wQPomzjxm3RRQSU37Fm7n52cWa4NQ+r+rU31IDK2L1IqNBEYGML2HWNn+4h8WlYw3OPW330iX68qYk6lGlx81uuahDGKcQuTZ+xLhWoSK6amdJAYchpQ0tisvnCdx+LuJVaKKTS/bmRF7AYk4XVg7KtT/3ulFAPKqtbthzG6S4begOI6tdoiaiFWx3pZf69E7pP7o7bhm+2FigHCzYlClEYMxR2Aud4Y6m3ragL3qC9X7NHHB1uMnYHB+hyVmGCQ7jNR4VAF9zMT9MD+nvvvIcJgYrzwiqRM7JA1wFlg5Kz2jBExHpm6LrnypXIVzThh/T1E1Qq+DfZOWbVafSC+P8YOa3+OIJtc5DSgbg5kJba3Yvn2D+zfYLlTx9wHv6O1uMHd7uK+BqUYUCbNbj9UN+uSKAOK24xSa5V8pwnw7/XXVfJV+O/HgFauJAYPfvRH/rKp/Jz1QBZ+TGZDFDq3QrRRzEPB/k/ToeHlHusD68o8SQKIOJqHmztkUIspKefOOOk/hnrbupogSMpqgyrX9KCg2pWVQ1YXkwoCZnKtGHJCUIb7edkvdI9/I9Gc54frwO3fNCHEq/Gfx4w2YASWXHvT8jIAiepNbV6bkMozb701thIWcmuc1t+b+7XJaCGrMAclGRl46QMPTZtbmue/jT89bE+8Mf4cD8j5uhU7RlbbRNJi4BlnHv9rvlVNTgPq2ysO+T5cJl1je0CqyNk2iIVw25L2ZgV9ua9DKQbUWkwRaNclUQbUpR/DV6fffu4cGRTayr5VEADgM2QhdWRxrzUFdWAAfVGoFBawcp7qiol0w0jX27IyjKHetq4mLDdJpXqA1KBgzy1kn49gE77b0AMOBgFG0fqslTiejdWkC9fsy8F1xfmOGDsX9vB89U95PnDRNsE9brWtC8PpTlyYzLr3rU8YMyKHXVj9XnSFf3+Ua27DLfmGcDtvfaP5/iBQJ+d9ntOA+rY0tiXc89ZBFYiDuNsgmMd6Jq17GdzXoRQDykH8bj8p++IxHBIGNJbrp4zde0KEyLcxZ97YkOxKv7m/fcOaoIWmA58ZVENxb3Iexhjqbetqgnwyqw0r8tgAg1ysXL07+BBtJhl8bzzk481vR+4X6zMiBqCmCR21gnG3Wm0rtZV2nPG8f0umbaDElW+1q9RmxHwrnEq4T5sGPwy4z/tAtZ+me9FXwzsm/iAXOQ2oL9o5JbDPV5GIlXsbbnAjYjvFh/talGJArSISXR+S/4E0oOSPWe+Hi6YN394AbjE3CtKHzwghBtUQeC93o59BKYZ627qa8O05E4wxnpDfG1O4mxUpe7bjZfTBd9+jEDehNVBVOvbUuWUkbxNcu+8ggBBjYrVDIbnATA6stpVCAvvY37Laoibjy1aD1SZm8pqLnAbUF5vQ9ltY+LwjuNGbYJXptmFy2xSL4L4epRhQApzcfrqOyP9AGlD2NKz3a4tixRVitUNLXrbdExbs3VkJzyjkmjGeVgCKz0Xiw21fqQnfb4VrerxhoCC/1zeQWOLgA+t0ikHg+y4ZcEJOMyJH0mqPQgvq+yZE7Ke1YbVDoZG8FFS32uO6DpmMsgpmImT10RQ4w8lAVhtfkGOX5DSgVj8oZZJ4/+/jx2SeP+tYw7aTkdzXoxQDCq5rn/sDD1VXfCANKAEC1vuRKN2EFeWFMLyxN+mPfmqX3PJdMwMKqxL28aybNLaMH7h9VGrCVwGIQW+iwD4Wbvq26OtKDOTj4dL13ffcGyGw6rbao9AzHH2rsZDf02qHQiPa3TSsSjEVtS681C471+SCZg/TaoOowjNIchpQX9pSzNGSFd4VaMOKzjoFhtq0bWOj2walGlA8D9y79b4IHMW7yGQxNIo4lEPWgPJFUl2ElRqrjONPn1u6GZuiZ1ETnEhgtYk9fQYIfLL68l0zszvr9axWSHtImWVa/aEmrI161Db5GA/wNOASD9kfJX2kydVFdDe/TayaKvzwd+uzWKH+Fr6JIAqtxkTlIKt9yCkWVjsUWl7P9wyEbmOAL9ilba/uWxfaucyIil5twUS5yGlAfWNbPaI4FF9Oqe97xSXven74/5DAzHqbSqkGFPjtyHqwJhT99GtxSBlQSvMxy/C5hkLUhC/8n1qZscRes2VACTShtmnTwN+E21+lJkjJsdogK9pzIkCpRarstCX3NwXd+Aa6NjXdw/3e90yarPYoFN/EDLVhtUGh9Hv94FsptfVBdK/VrhLeC/aBSVnrkpwG1HeMWUwd3ArKP1p9WUXpuQ+t3F1qLofgtkP9Gjo8MPSRu1+XQ8KA4t4kgrap3meomiC6z2rDnkossdfcNNDhQq5KqMVg9YWasIIEKpFrO5EhyOCb3/WvPBg0fZVWJqIBBas9isFqj9qw2qBQclx/P32EptNQn7qr4/lyGlBfjm2oO7+Oz73OvruLVWCHILbQib3bFvVj6LAFvnz/2AM32hh6A8p+BrUVrfYpasLnIglxU7ikXDOuMfLQCDF3UxiIfIwtqF1vX1cTvhqoiOpMEx32gzihwfr8yFc7UwZ0LFYbFEqO6++nD1ZOBMv49g5dMfhSozcnOQ2ozy2dYvwpKWn15e4hkpPrFs9A1DHmNwiR2xaxpeK+LiRQ0zpkgpgRjDzpSyHBaTEMtQHFYDTVzGRfjv0MqmIsG/nhycEkJ4pBNOXGtV6P6DeWfr87KwKT/ckY3PaVmuAGdA/GrTQeeXQp4Gr+wnH27+87P5DBiXsmVuyd+uj3HgCrPYrBao/asNqgUHJcf44+8KpYhRUsMRjnTM7nHrHeJwWrihMKSQlyYQVp9eUWZfAdbN+F2tKMSNtyT+Pi9+oyyn6oDeiNt9gBBCzf+bKbZospN64vPYKk9lhyfHfuKRKUcYuh3rauNqwi+Ijk92E5SowcUOsaWNnnnqX6yHEPWO1RDFZ71IbVBoWS4/pz9AHctxQetyLcXfGaiVhM3vddEB0bA/e/NdZRucp9Nppy2nOrzYBa6UldHyoxtAYUv75Vko9/CykgnHLj+vZAFyac1J6SZ+Vym5MLiislhnrbutrw5Q4ia49kIoLXwPr8yHc+ZW5yPD9WexSD1R61YbVBoeS4/hx91MGtSw5p27YQdbVzkNOAzvMUlsCdGoOv3jVBlC4TyYBanyX2kJBYhtaA+qLvQupgQsqNS1Frq01IeSsXX6msmO+O0oH1tqy8Y6i3rauNpn1QXKApKTWDpqkUXcyRTf2Q4/mx2qMYrPaoDasNCiXH9efowwdF5X11lknzybEKzWlAmfhZfRGdG/NM+iLtrUnDRDKgBA+5bVK212IYWgPqSymhYHsIKTcuxtlqQ55pLJxsb/UV8925oea4H2Oot60rBF9JQzQMZ3Gyf259dkRgxCDI8fxY7VEMVnvUhtUGhZLj+nP00QQnmbin41RixdcvOQ0o+PYuQ8dF8JWItA4R5zliwtmPrPe6avLSMa9rC+CytmU4ZLtLhtaA+maGoUnDHHNltW+CI42sNhiuHS2nV9Rhs9uXsxXz3bkFudmDjKHetq4Qmk5lIZ0o9HSc8cJXzo37alDkeH6s9igGqz1qw2qDQslx/Tn6aMMXa/Hgo3FBexa5Dah1RB4KPeWJnGkrHZAMhK6OBHTfC6WksWDg3X5iy5vGMrQG1Bd6HpJ71FTIuglmQL5UlpiDsCm8YPWBYr47ymTV23IOZAz1tnWFgEvonAv8+0TUxu3afdIPN3m8CT+4It9hyW3keH6s9igGqz1qw2qDQslx/Tn6aMMXadpU1i6U3AaUlabVH9W4QgqdEEhltaeyT1dY75diQDn70+0nJQI5hqE1oL5UCvIk28DYWW1RG74EY4KXQmY71Fz1BSOhmO/OTZym3xjqbesKhSotTfVmWRGnnIYfSkoBC1i6bKc30XqQ7uccz4/VHsVgtUdtWG1QKDmuP0cfbbDStN4j5GzMNnIbUPAdrM1h6k2wQPCNTV2u5Kz3SzGgnGHr9kPAY5cMrQE95Rw7/5PI1CY4ysw3eKK2FAaiunwHclMqbv4Cv8Eg+KatzGDMd+fWeOUA4hjqbeuKgTq8Vh91XT5pSbFmbdxeBJGATW2qgAlW4ZzRGlIwm1UzM1JfST9qJePCGhQ5nh+rPYrBao/asNqgUHJcf2ofbDGEBNY0eVpynPLRhQH1ndLDuOWb0LKtRLSu1Q6DHBOEFIv1nikGlLHbHdtvvyu+TnkMQ2tAfYWo+QI5WNWFL5cZoy8goFKIC5hoNKttJdyAuGnJDyXdZtGL28ui123vjWK+O3evwgozb6Letq4YeLBuuNkusu+KyQN7MUQ34m5hQkFwAMaS2qS4yqbcvqo47rSDK2uK9/twD4NmT5tTTFgtMEmiT4pK8/1TwQR324meA5grWXU+uyTH82O1RzFY7VEbVhsUSo7rT+mDe/aIo2eVk3Aq1/gS7ZlM+Vz9bJe0TbZD6MKAcn1nn28HWeIxoi50tZ/Ja5kINJW47KqMYYX1nqml/Phd6v1MujbujORYhtaAMjA2rSQvuHhxeZgqxdaZhRx1YlilkZB9Akrq+Q4iDtWZ59k3eOh3x43vroRDj8GqqLetKxYGEo5Ts/rqRxhcH9feNLZQdD+6cvLS8jsdJDmeH6s9isFqj9qw2qBQclx/Sh94NuqvZRxh8kmwEEUHSJeggpkvUBER8ZmDLgwoMIGk8IHVN+KaqcblC6asxIS2a6z3TTWgZ5w72n2Nh6pLhtaAgltIIFTcNL5jkELPhSTqtlopxYo9WF8xAmaHITA7dttyTTG47SulwlmKMYdZt4lAMUovumDo3JlmP7ps0pLgwtc5yfH8WO1RDFZ71IbVBoWS4/pT+rDOrYwRxeVzrD6hKwMKeOJ8200hYhGScpZoLNZ7pxpQt871MSfP6f2lG4bagPLj+g7U9Yl9LlwWCxbZaRjM3ELh+LRLr15i9mOJWR8PLwbAZ0BDN70x4G7bmHMUwW1fqR/4/nyl/lL00tKxwQt8702rg1DhzuIeyzUYxpLj+bHaoxis9qgNqw0KJcf1p/TRj/eInO+cx/Z1aUCB7ZKQrSNXjGsp54imYL1/qgF1gzyJd+iSoTaggBFlJdrkzq1E8QIq8gMDvfUa9itjISey6YBe8kQJpKkn9foM6LQnNvde0QzX4bYNzfWqcNtXygH7JrhFU1ekzJyZ6fvOY8SIPjByf/gGoCbh2sIFnHLMU05yPD9WexSD1R61YbVBoeS4/pQ+MCqxRpToVFI8crv5uzagQOBj6IlVLDC6uM4mrM+RakAZc+r9YBe6pC8DyiDJjeoqdtM5Rz8EpLB3wV4G0anMuqgNy+Y4Je/clSWzK+s9+znTklUhEaFEpjK449JcsHi7GaTgK0VoBUBZWJV0Lrkyrualdf0oJ7hg+U7Yh8ZbwKkXBD9VriUmF/xOJ501v5z13n3v2vL1GMgQeNBJXXp42qZy9klgCOkz1YQKA467lwGE/ZyZc7Z2lhAeS4773mqPYrDaozasNiiUHNffTx9Mzij/xn1Hgfhqz5CtA+4h9tPYFiGyvitXJqf1WJ+/C/hOeAZ41qprZZzk2tnzJUJ9UKvOOtb1N2UzNHGCEyhIwZou6cuAinSIDqv/0JVWRYTGuzlbPBScjyqEEB80WGnXx0NEClKXyICOE5brhplvzP7K5OvHFnXgINyJssISQohBgPfPOhvad0B+LmRAxwH2Qt0fGpGnGAOHhFv9HHbkc+UKF9c17lAhhDjUeOzJzWV1JaLorZQdtodyHn5uIQM6DpCv6f7YiOIQsfhOoa/EyQpCCHGo0ZZGeO/UblefIAM6YNiot35sROWiWAhuuOZGf1EBGVAhxKGIz4CyFcbKdBCRxDKgiVAyjvM4if4NgVzDh6Zt9KbbpJwpWocC6Rxv5tbHlQEVQhyKuAaUoMrrp6zoK5MiFhnQROp5n6TO3Dd1fbFw8fbS506VIIozE8zDgbwYzqYi8iT0p6w+LZh1UU2J/las2lVs2jKxz+UUQogUKMlIURxSFHe/OT7ZBzKgCZDXGVK4IVS56moKIYQYHDKgCVDJxDKEKaLgghBCiOFDBjQBcossYxgj/PXzXlCKiRBCDCsyoIlwQjvlrz50uH04s0/Hnjq3DEAa5MHNQggh8iMD2icH3n2/WLlqd1kE/tY7VxdXTV5a1nw9/6JF5X8paECR96dnvDruxcuFEELkQwZUCCGESEAGVAghhEhABlQIIYRIQAZUCCGESEAGVAghhEhABlQIIYRIQAZUCCGESEAGVAghhEhABlQIIYRIQAZUCCGESEAGVAghhEhABlQIIYRIQAZUCCGESEAGVAghhIimKP4XBcAIzFfvoBoAAAAASUVORK5CYII=

在这里插入图片描述
PS:如果复制不出来可以使用 strings 提取命令如下:

strings test.pcap |grep ".png"

在这里插入图片描述

flag{ICS-mms104}

工业协议分析2:

数据包名称是UDP数据估计这个是考点 先过滤一下 发现len 的长度有些重复了 排个序看看。

发现这几个好像没重复 105 好像可以看到flag标识 131137 下面好像是字符串提取转ASCII

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

666c61677b37466f4d3253746b6865507a7d

在这里插入图片描述

PS:其实flag16进制为666c6167 看到后面这一窜大概可以知道了 大家可以记一下。

flag{7FoM2StkhePz}

特殊的工控流量:

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

S7comm工控流量 直接筛选协议,然后就排个序就一直按(下键)知道找到这一条。

然后转码 和上面的题目一样的 得到flag

在这里插入图片描述
在这里插入图片描述

69735f6e6f745f7265616c

在这里插入图片描述

flag{is_not_real}

异常的工程文件:

2020-之江杯-异常的工程文件

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

文件有点大,直接strings 查看一下 配合xargsgrep使用 搜flag

strings $(find . | xargs) | grep flag

在这里插入图片描述
在这里插入图片描述

flag{854P_l5q2_9Y4a_30Yw}

异常的流量分析:

2020-之江杯-异常的流量分析

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

这里是Modbus协议和上面MMS那题一样,数据包里面有相关回显包TCP的里面就是图片

这里没找到,直接放kali 使用strings 直接搜相关图片特征不是png就是jpg

strings   9.pcap  |grep ".jpg"      #下次可以直接先搜 搜不到在数据包里面找

在这里插入图片描述

在线Base64转图片:https://tool.jisuapi.com/base642pic.html

在这里插入图片描述

flag{4eSyVERxvt70}

简单Modbus协议分析:

2020-之江杯-简单Modbus协议分析

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

里面好像没有工控的协议,我们直接使用strings 直接 搜相关信息666c6167

PS:为啥是搜666c6167呢这个上面也讲了 就是flagASCII

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

666c61677b44477377546667793147443233366673327366463264736b4c6e677d

在这里插入图片描述

flag{DGswTfgy1GD236fs2sfF2dskLng}

modbus:

2020-之江杯-Modbus

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

Modbus协议直接过滤 然后分组字节流搜666c 找到 flag的标识,继续往下找即可。

在这里插入图片描述

有点不好找老样子使用strings 进行过滤 strings 6.pcap | grep -E "^.{10}$"

.为匹配任意内容
^为匹配开头
{10}匹配的数量
$为匹配结尾

在这里插入图片描述

666c61677b => flag{
3138676854 => 18ghT
317772337d => 1wr3}

在这里插入图片描述

flag{18ghT1wr3}

工控组态分析:

2020-之江杯-工控组态分析

gk文件添加zip后缀,解压得到.PCZ文件 使用工具力控得 我用的7.1版本

然后恢复文件 运行即可看到flag

PS:工具网上有这里我贴一个链接 方便大家复现吧(良心博主!!!)

ForceControl下载:

在这里插入图片描述

flag{NxdzzOE3qqqqHk6lqOXM}

S7协议恶意攻击分析:

2020-之江杯-S7协议恶意攻击分析

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

S7comm的工控协议 使用tcp.stream eq 0 分析0流的S7 Communication

1321条为异常数据 stop 前四位和后四位拼接。

在这里插入图片描述

flag{3201414d}

上位机通讯异常分析:

2020-之江杯-上位机通讯异常分析

生产车间某流水线运行异常,而上位机SCADA系统未开启报警功能,导致无法查询控制设备异常情况,请根据组态软件与控制设备之间通讯流量查找问题,flag为异常数据包data内容,flag格式为flag{}。

筛选S7somm6847 这一条的data找到了异常,

Return code返回为Hardware error(0x01) 硬件错误上面 协议有介绍

在这里插入图片描述

flag{010400100100}

黑客的大意:

2019-工业信息安全技能大赛-哈尔滨站-黑客的大意

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

放入010 png文件修改后缀, 从图片中可见 WATCHIN YUR SCREENZ的字样,

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

flag{[email protected]}

工控协议数据分析:

2020-工业信息安全技能大赛-湖州站-工控协议数据分析

运维人员在某工控环境内网发现内网控制系统被攻破,附件为从现场抓取的报文, 请通过分析报文,得出黑客都获取到了哪些信息?flag格式为:flag{}。

筛选S7comm协议 在Data中 发现二进制 01100110f

在这里插入图片描述
在这里插入图片描述

继续使用过滤规则:(s7comm) && (s7comm.param.func == 0x05) && (s7comm.header.rosctr == 1)

在这里插入图片描述

011001100110110001100001011001110111101101100110011011000110000101100111010111110110100101110011010111110110100001100101011100100110010101111101

在这里插入图片描述

flag{flag_is_here}

;