setodaNote CTF Exhibition Writeup (Network)
Network - Host
あなたはある通信を保存したファイルを受け取りました。添付されたファイルを解析し、通信先の Web サーバのホスト名を特定してください。
フラグはホスト名をフラグ形式で答えてください。英字が含まれる場合はすべて小文字にしてください。例えばホスト名が
host.example.com
であった場合、フラグはflag{host.example.com}
となります。
問題に添付されているhost.pcap
を開くと、HTTPのGETリクエストがNo. 8に記録されています。
その通信のHostヘッダの値がflagです。
正答:flag{ctf.setodanote.net}
Network - tkys_never_die
うまく爆発を避けれられているといいが。爆発音とともに通信が途切れる間際、後輩からデータが送られてきました。ターゲットが重要なファイルにアクセスしたことを示す証拠だと言い残して。後輩のためにもデータを解析し、重要なファイルの内容を特定してください。
添付されたファイルを解析し、フラグを得てください。
問題に添付されているtkys_never_die.pcap
を開くと、HTTP通信が記録されています。
HTTPストリームを追跡してみると、flag.png
にflagが書かれていそうだと予想できます。
Wiresharkの機能でflag.png
をエクスポートします。
flag.png
を開くと案の定flagが記載されています。
正答:flag{a_treasure_trove}
Network - echo_request
組織内の通信を監視している部署から不審な通信データがあるので解析をしてほしいと依頼がありました。通信自体は許可されたプロトコルが使用されているようですが、、、
添付されたファイルを解析し、フラグを入手してください。
問題に添付されているecho_request.pcap
を開くと、問題タイトルにもある通りICMPのEchoリクエストが記録されているので、ICMP通信のみ表示します。
No. 29 - 54のEchoリクエストのデータ部を見ていくと、66
(f
)~7d
(}
)の1バイトのみとなっているので、これらを繋げればflagになりそうです。
tsharkを使用してデータ部を抽出します。
$ tshark -r "F:\CTF\setodaNote CTF Exhibition\Network\echo_request\echo_request.pcap" -Y "icmp && frame.number >= 29 && frame.number <= 54" -T fields -e data
66
6c
61
67
7b
49
43
4d
50
5f
54
75
6e
6e
65
6c
69
6e
67
5f
54
31
30
39
35
7d
$
これらをCyberChefでデコードするとflagを取得できます。
正答:flag{ICMP_Tunneling_T1095}
Network - stay_in_touch
あなたはある事件の調査としてある人物の通信を監視しています。どうやら誰かと連絡を取り合っているようです。通信データファイルを解析し、やりとりの内容を明らかにしてください。
添付されたファイルを解析し、フラグを入手してください。
問題に添付されているstay_in_touch.pcapng
を開くと、IMAP通信が記録されています。
TCPストリームを追跡するとcharset=utf-8
とあるので、UTF-8で表示してみます。
ストリーム14にパスワード「Yatagarasu-Takama-Kamuyamato2
」が記載されているのでメモしておきます。
「先ほどのファイルのパスワード」ということなので、ストリーム12を見てみると
アカリ課長補佐
あ、試作機のレポートが
届いておりましたので転送しておきます。
なかなかの性能のようです。パスワードは別にお送りします。
セトダ
とあります。
さらに下のほうを見てみると、Report-AV-T0097.zip
が添付されていることが分かります。
Content-Transfer-Encoding: base64
とあるので、CyberChefでBase64デコードしてからReport-AV-T0097.zip
として保存します。
パスワード「Yatagarasu-Takama-Kamuyamato2
」を使ってReport-AV-T0097.zip
を展開すると、Report-AV-T0097.txt
にflagが記載されています。
正答:flag{SoNtOkIhAmOuKaTaHoUmOtSuMuRuNoSa;)}
Network - yes_you_can
精密機械の技術者である古い友人から一通の封筒が送られてきました。中にはあなたに解析してほしいと震えた筆跡で書かれた手紙と1枚の SD カード。SD カードの中には1つのファイルが記録されていました。
添付されたファイルを解析してフラグを入手してください。
問題に添付されているdump.log
を開くと、94667行のCAN通信が記録されています。
1行目の
(1628245600.155918) vcan0 095#800007F400000017
を例として説明すると
-
(1628245600.155918)
:Unixtime -
vcan0
:インターフェース名 -
095
:CAN ID -
800007F400000017
:データ
という構造です。
データ部が16進数表記になっているので、f
l
a
g
{
}
を表す66
6c
61
67
7b
7d
を含んでいると予想します。
そこで、データ部に66
6c
61
67
7b
7d
を全て含んでいるCAN IDを抽出してみます。
# 共通CAN IDを抽出する関数
def get_common_ids(filename, strings):
id_lists = {s: set() for s in strings}
with open(filename, "r") as f:
for line in f:
# 「#」の前後で分割
parts = line.split("#")
# CAN IDは「#」の前半の最後3文字
id = parts[0].strip()[-3:]
# データ部は「#」の後半
data = parts[1].strip()
# 検索文字列がデータ部にあるか確認
for string in strings:
if string in data:
id_lists[string].add(id)
# 共通CAN IDを抽出
common_ids = set.intersection(*id_lists.values())
return common_ids
# メイン処理
if __name__ == "__main__":
strings = ["66", "6C", "61", "67", "7B", "7D"]
common_ids = get_common_ids("dump.log", strings)
print(common_ids)
$ py dump.py
{'244'}
$
CAN IDが244
の通信に66
6c
61
67
7b
7d
が含まれていると分かります。
次に、CAN IDが244
の通信のみを記載したdump_244.log
を用意します。
dump_244.log
の内容を確認してみると、(1628245605.005261) vcan0 244#0000006600
~(1628245625.995532) vcan0 244#0000007D00
の通信のデータ部の4バイト目に66
6c
61
67
7b
7d
が含まれています。
あとはこれらの通信の4バイト目だけを抽出し、重複を削除した上でCyberChefでデコードすればflagを取得できます。
正答:flag{can_bus_hacking}
Network - Digdig
組織内の通信を監視している部署からマルウェア感染した端末から他にはない不審な通信が発生していたことが分かり、急ぎ解析してほしいを依頼がありました。どうやら、通信自体は組織内で許可されているプロトコルが使用されていたため外部に通信できた可能性もあり焦っているようです。
添付されたファイルを解析し、フラグを入手してください。
問題に添付されているdigdig.pcap
を開くと、問題タイトルから予想できる通りDNS通信が記録されています。
No. 15以降のDNSリクエストのサブドメイン部分が16進数表記となっていて怪しいので抽出してみます。
なお、AAAAレコードは直前のAレコードに対する名前解決リクエストと同様なので抽出対象外としています。
$ tshark -r "F:\CTF\setodaNote CTF Exhibition\Network\Digdig\digdig.pcap" -Y "ip.src == 192.168.224.105 && ip.dst == 192.168.224.20 && dns.qry.type == 1 && frame.number >= 15" -T fields -e dns.qry.name
005aa002735f69735f44414d.setodanote.net
005aa00663655f7472795f53.setodanote.net
005aa0034d595f464c41477d.setodanote.net
005aa0085f746861747d2066.setodanote.net
005aa00a6c61677b444e535f.setodanote.net
005aa00b5333637572313779.setodanote.net
005aa0076f7272795f666f72.setodanote.net
005aa00420666c6167206973.setodanote.net
005aa0096c61672069732066.setodanote.net
005aa00c5f5431303731217d.setodanote.net
005aa011797d323232323232.setodanote.net
005aa00d20666c6167206973.setodanote.net
005aa00f335f6b33795f3135.setodanote.net
005aa00e20666c61677b3768.setodanote.net
005aa001666c61677b546869.setodanote.net
005aa0105f35336375723137.setodanote.net
005aa000666c616720697320.setodanote.net
005aa00520666c61677b4e69.setodanote.net
$
.setodanote.net
を削除してCyberChefでデコードしてみます。
ちらほらflagのような文字列はあるのですがノイズが多いです。
先頭の005aa0
は共通なので削除してみます。
ノイズが少し減りました。
ここから私はflagのような文字列になるよう並び替えて力技で正解したのですが、本来は1バイト目の昇順で並び替える[1]ようです。
正答:flag{DNS_S3cur17y_T1071!}
Network - Logger
夕暮れ時、あなたの携帯が鳴動します。相手の番号は不明。非通知は拒否設定のはずと不思議に思いつつ電話に出ると「お前の秘密を知っている」と低い男の声が聞こえすぐに切れてしまいました。直後、あなたの携帯にファイルが添付された空白のメールが届きます。
添付されたファイルを解析してフラグを入手してください。
問題に添付されているlogger.pcap
を開くと、USB通信が記録されています。
2.1.1
からhost
への通信を見てみると、Leftover Capture Dataに値が入っています。
これはUSBキーボードの入力値なので、tsharkで抽出してみます。
tsharkの実行結果
$ tshark -r "F:\CTF\setodaNote CTF Exhibition\Network\Logger\logger.pcap" -Y "usb.src == 2.1.1 && usb.dst == host" -T fields -e usb.capdata
0200000000000000
0200120000000000
0200000000000000
0000000000000000
0000110000000000
0000000000000000
0000080000000000
0000000000000000
00002c0000000000
0000000000000000
0000130000000000
0000000000000000
0000120000000000
0000000000000000
0000130000000000
0000000000000000
0000180000000000
0000000000000000
00000f0000000000
0000000000000000
0000040000000000
0000000000000000
0000150000000000
0000000000000000
00002c0000000000
0000000000000000
0000050000000000
0000051800000000
0000180000000000
0000000000000000
0000170000000000
0000000000000000
00002c0000000000
0000000000000000
0000180000000000
0000000000000000
0000110000000000
0000000000000000
0000190000000000
0000000000000000
0000080000000000
0000000000000000
0000150000000000
0000000000000000
00000c0000000000
0000000000000000
0000090000000000
0000000000000000
00000c0000000000
0000000000000000
0000080000000000
0000000000000000
0000070000000000
0000000000000000
00002c0000000000
0000000000000000
0000080000000000
0000000000000000
00001b0000000000
0000000000000000
0000130000000000
0000000000000000
00000f0000000000
0000000000000000
0000040000000000
0000000000000000
0000110000000000
0000000000000000
0000040000000000
0000000000000000
0000170000000000
0000000000000000
00000c0000000000
0000000000000000
0000110000000000
0000000000000000
00002a0000000000
0000000000000000
0000120000000000
0000121100000000
0000110000000000
0000000000000000
00002c0000000000
0000000000000000
0000090000000000
0000000000000000
0000120000000000
0000000000000000
0000150000000000
0000000000000000
00002c0000000000
0000000000000000
0000170000000000
0000000000000000
00000b0000000000
0000000000000000
0000080000000000
0000000000000000
00002c0000000000
0000000000000000
0200000000000000
0200140000000000
0200000000000000
02001a0000000000
0200000000000000
0200080000000000
0200000000000000
0200150000000000
0200000000000000
0200170000000000
0200000000000000
0000000000000000
0200000000000000
02001c0000000000
0200000000000000
0000000000000000
00002c0000000000
0000000000000000
0000040000000000
0000000000000000
0000150000000000
0000000000000000
0000150000000000
0000000000000000
0000040000000000
0000000000000000
0000110000000000
0000000000000000
00000a0000000000
0000000000000000
0000080000000000
0000000000000000
0000100000000000
0000000000000000
0000080000000000
0000000000000000
0000110000000000
0000000000000000
0000170000000000
0000000000000000
00002c0000000000
0000000000000000
00000c0000000000
0000000000000000
0000160000000000
0000000000000000
00002c0000000000
0000000000000000
0000170000000000
0000000000000000
00000b0000000000
0000000000000000
0000040000000000
0000000000000000
0000170000000000
0000000000000000
00002c0000000000
0000000000000000
00000c0000000000
0000000000000000
0000170000000000
0000000000000000
00002c0000000000
0000000000000000
00001a0000000000
00001a0400000000
0000040000000000
0000000000000000
0000160000000000
0000000000000000
00002c0000000000
0000000000000000
0000070000000000
0000000000000000
0000080000000000
0000000000000000
0000160000000000
0000000000000000
00000c0000000000
0000000000000000
00000a0000000000
0000000000000000
0000110000000000
0000000000000000
0000080000000000
0000000000000000
0000070000000000
0000000000000000
00002c0000000000
0000000000000000
0000170000000000
0000000000000000
0000120000000000
0000000000000000
00002c0000000000
0000000000000000
0000150000000000
0000000000000000
0000080000000000
0000000000000000
0000070000000000
0000000000000000
0000180000000000
0000000000000000
0000060000000000
0000000000000000
0000080000000000
0000000000000000
00002c0000000000
0000000000000000
0000170000000000
0000000000000000
00000b0000000000
0000000000000000
0000080000000000
0000000000000000
00002c0000000000
0000000000000000
00000f0000000000
0000000000000000
00000c0000000000
0000000000000000
00000e0000000000
0000000000000000
0000080000000000
0000000000000000
00000f0000000000
0000000000000000
00000c0000000000
0000000000000000
00000b0000000000
0000000000000000
0000120000000000
0000000000000000
0000120000000000
0000000000000000
0000070000000000
0000000000000000
00002c0000000000
0000000000000000
0000120000000000
0000000000000000
0000090000000000
0000000000000000
00002c0000000000
0000000000000000
0000090000000000
0000000000000000
00000f0000000000
0000000000000000
0000040000000000
0000000000000000
00000a0000000000
0000000000000000
0200000000000000
02002f0000000000
0200000000000000
0000000000000000
0200000000000000
0200140000000000
0200000000000000
02001a0000000000
0200000000000000
0200080000000000
0200000000000000
0000000000000000
0200000000000000
02002d0000000000
0200000000000000
0000000000000000
00000e0000000000
0000000000000000
0000080000000000
0000000000000000
00001c0000000000
0000000000000000
0000050000000000
0000000000000000
0000270000000000
0000000000000000
0000040000000000
0000000000000000
0000150000000000
0000000000000000
0000070000000000
0000000000000000
0200000000000000
02002d0000000000
0200000000000000
0000000000000000
0200000000000000
0200150000000000
0200000000000000
0200170000000000
0200000000000000
02001c0000000000
0200000000000000
0200300000000000
0200000000000000
0000000000000000
00002c0000000000
0000000000000000
00000c0000000000
0000000000000000
0000110000000000
0000000000000000
0000170000000000
0000000000000000
0000080000000000
0000000000000000
0000150000000000
0000000000000000
0000110000000000
0000000000000000
0000040000000000
0000000000000000
00000f0000000000
0000000000000000
00002c0000000000
0000000000000000
0000060000000000
0000000000000000
00000f0000000000
0000000000000000
0000040000000000
0000000000000000
0000160000000000
0000000000000000
00000b0000000000
00000b0c00000000
00000c0000000000
0000000000000000
0000110000000000
0000000000000000
00000a0000000000
0000000000000000
00002c0000000000
0000000000000000
0000120000000000
0000000000000000
0000090000000000
0000000000000000
00002c0000000000
0000000000000000
0000170000000000
0000000000000000
00001c0000000000
0000000000000000
0000130000000000
0000000000000000
0000080000000000
0000000000000000
0000050000000000
0000000000000000
0000040000000000
0000000000000000
0000150000000000
0000000000000000
0000070000000000
0000000000000000
00002a0000000000
0000000000000000
0000160000000000
0000000000000000
00002c0000000000
0000000000000000
0000050000000000
0000000000000000
00001c0000000000
0000000000000000
00002c0000000000
0000000000000000
0000130000000000
0000000000000000
00000f0000000000
0000000000000000
0000040000000000
0000000000000000
0000060000000000
0000000000000000
00000c0000000000
0000000000000000
0000110000000000
0000000000000000
00000a0000000000
0000000000000000
00002c0000000000
0000000000000000
0000060000000000
0000000000000000
0000120000000000
0000000000000000
0000100000000000
0000000000000000
0000100000000000
0000000000000000
0000120000000000
0000000000000000
0000110000000000
0000000000000000
00000f0000000000
0000000000000000
00001c0000000000
0000000000000000
00002c0000000000
0000000000000000
0000180000000000
0000000000000000
0000160000000000
0000160800000000
0000080000000000
0000000000000000
0000070000000000
0000000000000000
00002c0000000000
0000000000000000
0000060000000000
0000000000000000
0000120000000000
0000000000000000
0000100000000000
0000000000000000
0000050000000000
0000000000000000
00000c0000000000
0000000000000000
0000110000000000
0000000000000000
0000040000000000
0000000000000000
0000170000000000
0000000000000000
00000c0000000000
00000c1200000000
0000120000000000
0000121100000000
0000110000000000
0000000000000000
0000160000000000
0000000000000000
00002c0000000000
0000000000000000
0000120000000000
0000000000000000
0000090000000000
0000000000000000
00002c0000000000
0000000000000000
00000f0000000000
0000000000000000
0000080000000000
0000000000000000
0000170000000000
0000000000000000
0000170000000000
0000000000000000
0000080000000000
0000000000000000
0000150000000000
0000000000000000
0000160000000000
0000000000000000
00002c0000000000
0000000000000000
0000090000000000
0000000000000000
0000040000000000
0000000000000000
0000150000000000
0000000000000000
0000170000000000
0000000000000000
00000b0000000000
0000000000000000
0000080000000000
0000000000000000
0000150000000000
0000000000000000
00002c0000000000
0000000000000000
0000090000000000
0000000000000000
0000150000000000
0000000000000000
0000120000000000
0000121000000000
0000100000000000
0000000000000000
00002c0000000000
0000000000000000
0000080000000000
0000000000000000
0000040000000000
0000000000000000
0000060000000000
0000000000000000
00000b0000000000
0000000000000000
00002c0000000000
0000000000000000
0000120000000000
0000000000000000
00000b0000000000
0000000000000000
0000080000000000
0000000000000000
0000150000000000
0000000000000000
00002c0000000000
0000000000000000
00000c0000000000
0000000000000000
0000110000000000
0000000000000000
0000160000000000
0000000000000000
00000c0000000000
0000000000000000
0000070000000000
0000000000000000
0000080000000000
0000000000000000
00002c0000000000
0000000000000000
0000170000000000
0000000000000000
00000b0000000000
0000000000000000
0000080000000000
0000000000000000
00002c0000000000
0000000000000000
0000100000000000
0000000000000000
0000040000000000
0000000000000000
0000060000000000
0000000000000000
00000b0000000000
0000000000000000
00000c0000000000
0000000000000000
0000110000000000
0000000000000000
0000080000000000
0000000000000000
0000370000000000
0000000000000000
0000280000000000
0000000000000000
$
1バイト目は修飾キー(Controlキー、Shiftキー、Altキー、GUIキー)の状態を表していて、3バイト目は標準キーを表しています。
USB Implementers Forum, Inc.のWebサイトにある「HID Usage Tables FOR Universal Serial Bus (USB)」の「10 Keyboard/Keypad Page (0x07)」の表を見ながら変換していきます。
その際、先ほどのtsharkの実行結果から0000000000000000
を除いたものをlog.txt
として保存しておきます。
# 修飾キー(1バイト目)の辞書
modifier_key_map = {
0x01: "LeftCtrl", 0x02: "LeftShift", 0x04: "LeftAlt", 0x08: "LeftGUI",
0x10: "RightCtrl", 0x20: "RightShift", 0x40: "RightAlt", 0x80: "RightGUI"
}
# 標準キー(3バイト目)の辞書
standard_key_map = {
0x04: "a", 0x05: "b", 0x06: "c", 0x07: "d", 0x08: "e", 0x09: "f",
0x0A: "g", 0x0B: "h", 0x0C: "i", 0x0D: "j", 0x0E: "k", 0x0F: "l",
0x10: "m", 0x11: "n", 0x12: "o", 0x13: "p", 0x14: "q", 0x15: "r",
0x16: "s", 0x17: "t", 0x18: "u", 0x19: "v", 0x1A: "w", 0x1B: "x",
0x1C: "y", 0x1D: "z", 0x1E: "1", 0x1F: "2", 0x20: "3", 0x21: "4",
0x22: "5", 0x23: "6", 0x24: "7", 0x25: "8", 0x26: "9", 0x27: "0",
0x28: "Enter", 0x2A: "Delete", 0x2B: "Tab", 0x2C: "Space",
0x2D: "-", 0x2E: "=", 0x2F: "[", 0x30: "]", 0x31: "\\", 0x33: ";",
0x34: "'", 0x36: ",", 0x37: ".", 0x38: "/"
}
# ファイルを読み込んでキーに変換する関数
def decode(file_path):
with open(file_path, "r") as file:
lines = file.readlines()
modifier_keys = []
standard_keys = []
for line in lines:
line = line.strip()
# 修飾キーの変換
modifier_byte = int(line[0:2], 16)
if modifier_byte in modifier_key_map:
modifier_key = modifier_key_map[modifier_byte]
else:
modifier_key = "なし"
modifier_keys.append(modifier_key)
# 標準キーの変換
standard_byte = int(line[4:6], 16)
if standard_byte in standard_key_map:
standard_key = standard_key_map[standard_byte]
else:
standard_key = "なし"
standard_keys.append(standard_key)
return modifier_keys, standard_keys
# メイン処理
if __name__ == "__main__":
file_path = "log.txt"
modifier_keys, standard_keys = decode(file_path)
for modifier_key, standard_key in zip(modifier_keys, standard_keys):
print(f"修飾キー:{modifier_key} 通常キー:{standard_key}")
decode.pyの実行結果
$ python decode.py
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:o
修飾キー:LeftShift 通常キー:なし
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:p
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:p
修飾キー:なし 通常キー:u
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:b
修飾キー:なし 通常キー:b
修飾キー:なし 通常キー:u
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:u
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:v
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:f
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:d
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:x
修飾キー:なし 通常キー:p
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:Delete
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:f
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:Space
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:q
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:w
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:e
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:r
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:t
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:y
修飾キー:LeftShift 通常キー:なし
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:g
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:m
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:w
修飾キー:なし 通常キー:w
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:d
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:g
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:d
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:d
修飾キー:なし 通常キー:u
修飾キー:なし 通常キー:c
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:k
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:d
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:f
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:f
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:g
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:[
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:q
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:w
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:e
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:-
修飾キー:LeftShift 通常キー:なし
修飾キー:なし 通常キー:k
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:y
修飾キー:なし 通常キー:b
修飾キー:なし 通常キー:0
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:d
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:-
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:r
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:t
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:y
修飾キー:LeftShift 通常キー:なし
修飾キー:LeftShift 通常キー:]
修飾キー:LeftShift 通常キー:なし
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:c
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:g
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:f
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:y
修飾キー:なし 通常キー:p
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:b
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:d
修飾キー:なし 通常キー:Delete
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:b
修飾キー:なし 通常キー:y
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:p
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:c
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:g
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:c
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:m
修飾キー:なし 通常キー:m
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:y
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:u
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:d
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:c
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:m
修飾キー:なし 通常キー:b
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:f
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:l
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:f
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:f
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:m
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:c
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:o
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:r
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:s
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:d
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:t
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:Space
修飾キー:なし 通常キー:m
修飾キー:なし 通常キー:a
修飾キー:なし 通常キー:c
修飾キー:なし 通常キー:h
修飾キー:なし 通常キー:i
修飾キー:なし 通常キー:n
修飾キー:なし 通常キー:e
修飾キー:なし 通常キー:.
修飾キー:なし 通常キー:Enter
$
時々Shiftキーが押下されていることに注意して出力結果を並べると以下のようになります。
One popular bbut unverified explanatioon for the QWERTY arrangement is that it wwas designed to reduce the likelihood of flag{QWE_keyb0ard_RTY} internal clashhing of typebars by placing commonly ussed combinatiioons of letters farther froom each oher inside the machine.
正答:flag{QWE_keyb0ard_RTY}
Network - tkys_not_enough
せっかく内偵中の後輩から通信データが送られてきたのに。いわく決定的な証拠を掴んだとのことですが、普段とは異なる方法で取得したデータなのか解析ツールにうまく取り込めません。後輩に聞こうにも通信データが送られた直後「やはり君だったか」という聞きなれない男の声を最後に連絡が途絶えてしまっています。あなたは何とかしてこの通信データを解析しなければなりません。
添付されたファイルを解析し、フラグを入手してください。
問題に添付されているtkys_not_enough.pcap
を開こうとすると、
The file "tkys_not_enough.pcap" isn't a capture file in a format Wireshark understands.
というエラーが出て開くことができません。
そこで、file
コマンドでファイルの種類を調べてみます。
$ file tkys_not_enough.pcap
tkys_not_enough.pcap: Windows Event Trace Log "C:\Users\setodaNoteCTF\nicetry\Temp\NetTraces\NetTrace.etl"
$
これはMicrosoft Network Monitor[2]で開けるファイルだと分かるので、以下のサイトからインストーラをダウンロードします。
インストールしたMicrosoft Network Monitorにてtkys_not_enough.pcap
を開くと、HTTP通信が記録されています。
ただ、これ以上の分析はMicrosoft Network Monitorに慣れていなさ過ぎて厳しかったので、一旦tkys_not_enough.cap
として保存し、手動で拡張子をpcap
に変更してからWiresharkで開きます。
すると、Microsoft Network Monitorで確認できていたHTTP通信が見当たりません。
「Malformed Packet」となっているISAKMP通信を見てみると、本当はHTTP通信であることが分かります。
Wiresharkの機能でこれらの通信がHTTP通信であると認識させます。
HTTPストリームを追跡すると、ストリーム3にflagが記載されています。
正答:flag{netw0rk_shell_2000}
-
https://takahoyo.hatenablog.com/entry/2021/09/09/234804#digdig-200pts-121solves ↩︎
-
Microsoft Network Monitorのサポートは終了しています。 ↩︎
Discussion