この大会は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!}