BlackHat MEA CTF Qualification 2022 Writeup

この大会は2022/9/30 23:00(JST)~2022/10/2 5:00(JST)に開催されました。
今回もチームで参戦。結果は700点で435チーム中189位でした。
自分で解けた問題をWriteupとして書いておきます。

Discord (Introduction 10)

Discordに入り、#rulesチャネルでルールにリアクションすると、たくさんのチャネルが現れる。#intro-flagチャネルのメッセージにフラグが書いてあった。

BlackHatMEA{WelcomeToBlackHat2022Qualifications}

Bus (Digital Forensics 150)

Modbusの通信がたくさんある。よく見ていくと、ペイロードの末尾2バイト目が0x00と0xffの場合がある。これを0, 1に置き換え、デコードする。

#!/usr/bin/env python3
from scapy.all import *

packets = rdpcap('bus.pcap')

bin_msg = ''
for p in packets:
    if p[TCP].dport == 502 and p.haslayer(Raw):
        if p[Raw].load[-2] == 0xff:
            bin_msg += '1'
        else:
            bin_msg += '0'

msg = ''
for i in range(0, len(bin_msg), 8):
    msg += chr(int(bin_msg[i:i+8], 2))
print(msg)

実行結果は以下の通り。

your FLAG is: Modbus_is_easy_after_all!
BlackHatMEA{Modbus_is_easy_after_all!}