More Related Content Similar to CyberChefの使い方(HamaCTF2019 WriteUp編) (20) More from Shota Shinogi (11) CyberChefの使い方(HamaCTF2019 WriteUp編)6. Operations一覧
Favourites Extractors (抽出系)
Data format Compression
Encryption / Encoding Hashing
Public Key Code tidy (コード整形)
Arithmetic / Logic Forensics
Networking Multimedia
Language Other
Utils (diffなど) Flow Control (プログラミング系)
Date / Time
6
8. 答え合わせ
次のうち、CyberChefで実現可能なものはどれでしょうか? Operations
Base64デコード Data form→From Base64
ログ内のIPアドレスを抽出する Extractors→Extract IP Addresses
QRコードの生成・読み取り Other→Generate QR Code / Parse QR
Code
マルウェアのリバースエンジニアリング Other→Dissasemble x86
位置情報(座標)に基づく距離の計算 Other→Haversine Distance
mp3の再生 Multimedia→Play Media
文字化けを修正する Language→Encode/Decode Text
IPアドレスをサブネットごとに分類する Networking→Group IP Addresses
URLを共有する際のハイパーリンクがつかないように変換する
例)http://shinobot.com/top.php
↓
hxxp[://]shinobot[.]com/top[.]php
Networking→Defang URL
画像をぼかす Multimedia→ Blur Image
8
37. 戦略
• 値を分ける(Fork)
• 値が「0x」で始まっていたら(Conditional Jump + Label)
• 0xを取って、(Drop bytes)
• 16進数から10進数に戻す(From Base 16)
• 最後の処理に飛ぶ(Jump)
• 値が「b」で始まっていたら
• bを取って、(Drop bytes)
• 2進数から10進数に戻す(From Base 2)
• 最後の処理に飛ぶ(Jump)
• 同様の処理を8進数に行う
• 10進数をASCIIに戻す(From Decimal)
37
Editor's Notes 以下のデータを復号せよ。VGhlIGZsYWcgaXMgIkhhbWFDVEZ7QmFzZTY0fSIu From_Base64('A-Za-z0-9+/=',true) 以下のデータを復号せよ。ef bc a6 ef bc ac ef bc a1 ef bc a7 e3 80 80 ef bd 89 ef bd 93 e3 80 80 22 ef bc a8 ef bd 81 ef bd 8d ef bd 81 ef bc a3 ef bc b4 ef bc a6 ef bd 9b ef bc a2 ef bd 81 ef bd 93 ef bd 85 ef bc 91 ef bc 96 ef bc 9d ef bc a8 ef bd 85 ef bd 98 ef bd 9d 22 e3 80 80 ef bd 89 ef bd 8e e3 80 80 ef bd 93 ef bd 89 ef bd 8e ef bd 87 ef bd 8c ef bd 85 e3 80 80 ef bd 82 ef bd 99 ef bd 94 ef bd 85 e3 80 80 ef bd 83 ef bd 88 ef bd 81 ef bd 92 ef bd 81 ef bd 83 ef bd 94 ef bd 85 ef bd 92 ef bd 93 ef bc 8e 以下のデータを復号せよ。Vmtkb2NHTjVRbkJqZVVKb1NVaFNiR1ZJVVdkYVZ6VnFZakpTYkZwRFFubGFXRUpzV1ZoU2JGcEhlRFZKU0ZaNllWYzFia2xGU21oak1sVXlUa00wWjFaSGFHeEpSMXB6V1ZkaloyRllUV2RUUjBaMFdWVk9WVkp1ZEU1a1YzZ3dZVlZXZFZreU9XdGhWelZ1WmxNMFBRPT0= これらはIPアドレスを表しています。通信のドット付きのIPアドレスに変換してください。最後のIPアドレスを「xxx.xxx.xxx.xxx」という形式に変換してください。フラグは「HamaCTF{IPアドレス}」です。31621080 cb8acbda cb8acb62 cb8acb57 316210d4 3162102a cb8acb7a 316210be cb8acb3a 316210dc cb8acb28 31621026 cb8acbd0 cb8acb99 316210f3 cb8acb28 cb8acb5e cb8acb32 3162105d 3162107f cb8acb9f 31621087 cb8acb09 Find_/_Replace({'option':'Regex','string':'\\s'},'\\n',true,false,true,false)
Change_IP_format('Hex','Dotted Decimal') Split(' ','\\n')
Change_IP_format('Hex','Dotted Decimal') Detect_File_Type(true,true,true,true,true,true,true/disabled)
Unzip('',false) Label('start')
From_Base64('A-Za-z0-9+/=',true)
Jump('start',20) 以下はマルウェアの通信で、先頭4バイトがXORの暗号鍵、その後ろに実際のデータが格納されている。01 20 15 16 55 48 70 36 67 4c 74 71 21 49 66 36 49 41 78 77 42 74 53 6d 46 52 70 77 75 6a 7a 74 7c 0e。このマルウェアの通信を解くRecipeを作成せよ。 0x59 0145 115 32 0164 0150 b1101001 115 040 b1101001 0x73 0x20 b1110100 104 0x65 b100000 0x72 105 b1100111 0150 0x74 040 97 0x6e 0x73 b1110111 0145 0x72 041 040 b1010100 b1101000 101 040 0x66 0x6c 97 103 b100000 0x69 0x73 0x20 72 97 b1101101 0x61 b1000011 b1010100 0x46 0x7b 0123 0105 0x43 b1000011 b1001111 b1001110 0x32 060 b110001 b110100 69 0x41 83 0x59 0103 0x49 0120 72 0105 0122 b1011111 82 b1000101 0x53 0120 b1000101 b1000011 b1010100 125 0x2e Fork(' ','',false)
Conditional_Jump('^0x',false,'hex',10)
Conditional_Jump('^0',false,'oct',10)
Conditional_Jump('^b',false,'bin',10)
Jump('dec',10)
Label('hex')
Drop_bytes(0,2,false)
From_Base(16)
Jump('dec',10)
Label('oct')
From_Base(8)
Jump('dec',10)
Label('bin')
Drop_bytes(0,1,false)
From_Base(2)
Label('dec')
From_Decimal('Space',false)