4ensiX

4ensiX

FPと言ったものはFPを選んだが表示はTPになっていることに気づいた。

X-MASCTF2019 Forensic Writeup(解けたやつ)

年越して、今頃感のX-MAS。

2019/12/13 ~ 12/20開催してやつの記録を残しておく。遅れても、アウトプット大事だと思っているのです。

ctftime.org

Santa's Forensic

Santa needs the help of an experienced forensics analyst. But first, he has to make sure that you are worthy.

与えられたzipファイルを解凍する。出てきたpng画像にzipファイルが含まれている。そのzipファイルを解凍して出てきたpngファイルのバイナリのケツにflag.

X-MAS{W3lc0m3_t0_th3_N0rth_Pol3}

 

Santa's letter

It seems that Santa may have used some Invisible Ink to write this letter... he is surely playing Hide&Seek.

与えれるファイルはpngファイルのみ。Steganoなのは分かったけれど、うさみみとかsteghideとかで見ても手がかりが得られない。

たまたま「invisible ink hideseek」で調べたらこんなの発見。

Digital Invisible Ink Toolkit - Background

javaで動く。起動してみる。

f:id:Zarat:20200107174227p:plain

Get imageに与えられたpngをセット。algorithmにHideSeekといういかにもっぽいものをセット。messeageの出力ファイルを設定する。GoしてSuccess出たら、出力ファイルをチェック。

X-MAS{NOBODY:_SANTA:Hyvää joulua!}

珍しくflagがユニコ。

A trip to grandma's house

This Christmas I went to grandma's house and booted up my old computer from when I was a kid! Sadly, I don't remember my password, but I'm really curious to see what I had in there :(

 

ディスクイメージがvdiで与えられて、とりあえずrawイメージに変換(qemu使用)してAutopsyで見てみたら何かWindows98だし、デスクトップに沢山謎のtxtファイルある。

これって実際起動してみないと分からんやつでは。ということで、virtualboxへ。

起動までに何度かミスったので、windows98で知らなかったこと一覧。

Windows98

  • メモリ1GB以上はデフォルトだと動作しない

→何も考えずに適当にメモリ4GB振ったら動かなかったので、virtualboxおススメらしい64MBで動かした。

  • ログイン画面でescキーを押すとパスワード無くてもログインできる?

Windows98にはパソコンのロックに十分な機能がないのでescキーで認証回避できる。しかし、localhostにログインするようになってしまった場合vmのネットワーク設定でネットワークアダプタのチェックを外す必要がある。

 

これらを利用して起動してみる。

f:id:Zarat:20200107221254p:plain

なんとなく先ほどの沢山のtxtファイルの意味が分かった。何かのpasswordを示しているのだね。

デスクトップのファイルを色々弄ってみた結果気になったのは、

  • 実行できない「m2.exe」

→調べてもよく分からない

  • passwordとあるので関係ありそうな「TrueCrypt

→暗号化された仮想ディスク作ったり、マウントしたりする。マウントにpassword使いそう。

  • これまたpasswordと関係ありそうな「secret.txt」

→txtファイルとして開けない。

 

真ん中あたりにある「yeah thats the password」というファイルは特に重要ではなさそうだった。secret.txtは容量が大きく、txtファイルとして開けないし、24MBもあるのでとても怪しい。これTrueCryptでマウントするんじゃないか。ということで試す。passwordはlowercaseで「mysekritd4tum」

f:id:Zarat:20200107224902p:plain


何かマウントされた。やはり「secret.txt」が暗号化されたドライブであったようだ。中を見てみる。

f:id:Zarat:20200107225101p:plain

これはなんだろか。そんなこんなでregionフォルダに見覚えのない.mcaという拡張子を見つけた。

qiita.com

どうやらmcaファイルはマインクラフトのマップデータ?らしい。このマシンにはこのファイルから上手く情報を取り出せそうなものは無さそうなので、ここからファイルを取り出してビューワーを探す。

(autopsy経由で取り出してもう一度「secret.txt」をマウントした)

色々探した結果「Chunky」というのが良さそうだと思ったので使ってみる。

先ほどマウントした中身を別フォルダにコピーして、「Chunky」のChange Worldから、Change world directoryを選択。ここで、先ほど作成したフォルダを選択する。マップが正しく読み込まれれば、DimentionをOverWorld、Map viewの欄をLayer、scaleを13,Layerを0とかにすると何か出てきた。

f:id:Zarat:20200107233520p:plain

X-MAS{Druaga1_W0uld've_ruN__th1s_0n_4n_SSD}

 

Windows98を扱ったのは面白かったけど、Minecraftの下りいらなかった。

 

最後に

まさにCTFって感じで、技術を楽しむものだった。

Windows7が終わる時期にWindows98を学んだ。

 

 

Forensics toolのまとめ(windows多め)最終更新2020/04/16

使ってないのも、使ったことがあるのも含めて色々まとめ。

使えないのもあるかも。間違っている部分はご教授ください。

また、全てのリンクを確認できていないので危険なリンクなどがあれば教えてください。

 

ディスクイメージ系

FTK Imager Lite
ディスクイメージを参照
NTFSマスターファイルテーブル($MFT)を抽出したり、削除済みファイルを復元したりする。

MFTDump
$MFTの情報を解析して表形式で出力する。

> mftdump.exe /o output.csv <MFTファイル/ディスクイメージ>

Autopsy

ディスクイメージを解析して見やすく表示
FTK Imagerにはない「ファイルタイプ別」「削除されたファイル」「EXIFメタデータ」「Eメールメッセージ」などの観点で一覧できる。

Sleuthkit
ディスクイメージのCUI解析ツール(AutopsyのCUIバージョン)

使用例 Autopsy & The Sleuth Kitの基本的な使い方 - 4ensiX

autoruns
システムで自動起動するように登録されたエントリを一覧できる
FTK Imagerなどでマウントしたドライブを対象に解析することもできる。

使用例 contrailCTF2019 Forensic Writeup - 4ensiX

Log Parser Studio
SQLでイベントログを参照し、テキスト出力できる。

Bulk Extractor with Record Carving
ディスクイメージからファイルをカービングする。

OSForensics
ディスクイメージを解析して見やすく表示※有償・30日トライアル可能
日付を指定して操作履歴を確認、削除ファイルを含めてファイルを検索、
メモリダンプの詳細が確認できる。
ブラウザのパスワード、Windowsパスワードなども探索できる。

RAIDのrebuildができた。

NTFS Log Tracker
$LogFileからファイル操作記録を抽出(要SQLite)。ファイル操作記録がどれほどのものなのかは未知。

ADS Manaager
代替データストリームを表示。何に使うのか分かっていない。

USN Analytics

$JやUSNジャーナルの解析に特化したツール。

NetworkUsageView

SRUDB.datの解析。

 ・ReclaiMe

RAIDのrebuildが足りないファイルがあってもできることがあった。

使用例 RR - HackTM CTF 2020 Forensic writeup - 4ensiX

TestDisk
ファイル復元ソフト。パーティション?領域が壊れていなければ、読み取って復元できる。sleuth kitでファイル復元するよりは、こっちの方が簡単な気がする。

PhotoRec

仕組みが分かっていないけれど、無理やりこいつが理解できたファイル形式のファイルを取り出す。

レジストリ

 ・KaniReg
レジストリハイブ解析。

Windows Registry Recovery
レジストリビューワー。 

creddump

windows hiveファイルからパスワードなどの情報を抜き出す。(windows機だとウイルス判定されそう)

 

メモリ系

KaniVola
メモリダンプを解析する

volatility

メモリダンプの解析といえばこれだと思っている。プロセスのダンプではなく、メモリ全体のダンプでなければ解析できない。

Windbg

windowsの実行ファイル解析だけでなく、windowsのプロセスメモリダンプ(windows minidump)にも使う。

 

 

ステガノグラフィー系

Steghide

画像や音声パスワードを使用してデータを埋め込み・取り出しを行う。javaで動く。

 ファイルの隠ぺい

  > steghide.exe -cf <ファイル> -ef <隠すファイル>

 隠ぺいファイルの抽出

  > steghide.exe extract [-xf <隠ぺいファイル>] -sf <ファイル>

    隠ぺいファイル情報表示

    > steghide.exe info <ファイル名>

使用例 NeverLAN CTF 2020 PCAP/Forensic writeup - 4ensiX

Digital Invisible Ink Toolkit

複数のアルゴリズムで、画像にファイルや文字列を埋め込める/取り出せる。

使用例 X-MASCTF2019 Santa's letter

画像系

F6Exif
EXIF情報を表示する。

Exif読取り君
EXIF情報を表示する。

PNG_Analyzer
pngのチャンクサイズを変更できる。
IHDRのEditorタブで縦横のサイズを増やし、左のIHDR項目をクリックするとCRCが更新され、画像の表示領域を増やせる。

 ・TweakPNG

pngのチャンクを一覧表示する。

【レビュー】PNG画像を解析して詳細なフォーマット情報を取得・表示するツール「TweakPNG」 - 窓の杜

PCRT

pngのチャンクをチェックして、エラーがあれば修正してくれる。ヘッダー以外にpngに問題がある場合に活躍する可能性があるかもしれない。

使用例  UTCTF 2020 Forensics writeup - 4ensiX

Stegsolve
画像のビット要素を分解して様々なパターンで表示することができる。リンク先には他にも色々あるけど分からん。Java環境必須。画像を弄るせいなのか、動作が重い。

初音

PNGファイルに任意のファイルを埋め込んだり、取り出したり。

OpenStego
画像ファイルにデータを埋め込む。

StegoShare
画像ファイルにデータを埋め込む。

Gimp
画像ファイル編集ソフト。

音声系

MP3Stego
MP3にデータを埋め込むだり、取り出したり。

Audacity
音声ファイル編集ソフト。

使用例 UTCTF 2020 Forensics writeup - 4ensiX

    NeverLAN CTF 2020 PCAP/Forensic writeup - 4ensiX

RX-SSTV

SSTVが来たらこいつに聞かせる。音が再生されれば自動で録音が始まる。大音量で迷惑にならず、雑音の少ないところで使うべし。

使用例 UTCTF 2020 Forensics writeup - 4ensiX

動画系

GOM Player

動画の静止画キャプチャができる。

 

ZIP系

Pika Zip

zipのパスワード解析。本当に簡単で短いパスワード(英数8桁くらい?)じゃないとダメだった気がする。

DiskInternals ZIP Repair

壊れたzipファイルを復元する。

pkcrack

暗号化されたzipファイルの中身のファイルの内、どれか一つでも平文のファイルを持っていればzipの暗号化を解けるというもの。とても癖が強いので今度ブログにまとめる。

 

Android

dex2jar

dexをjarに変換。

jad(cui)/jadx(gui)

javaのデコンパイラ

apktool

apkファイルを展開する。

Kali Linux Forensics tools(2) [apktool] androidのアプリ用の.apkファイルを解析 - 4ensiX

AXMLPrinter2

AndroidManifest.xmlのバイナリをテキストに変換する。

ApkStudio

apkファイルの編集が可能。apktool,uber-apk-signer,adb,zipalignが必要。

 

Util

CEE Explorer

PEのエディタ。

HashMyFile  
複数ファイルのハッシュを一度に計算できる。

7zip

何だかんだで圧縮、解凍だけでなくimgとかfirmwareとか、binとか沢山色々なやつの構造が見れるので、実はとても役に立つ子なんです。

XorFiles

2つのファイルをXORしたファイルを作る。

mpv

これ一つで動画も音声も色々再生できるプレーヤー。aptとかでも入る。

kgb archiver

kgbファイルを開くときに利用する。aptとかでも入るハズ。

 

その他

青い空を見上げればいつもそこに白い猫

色々な機能を備えた総合ツール。ファイル形式の解析、ファイル抽出、バイナリ表示など色々できる。

ResourcesExtract

dll/ocx/exeに含まれるファイルを抽出する。

pyOLEScanner
Office関連ファイルの解析で使えるツール。

PDF Stream Dumper
PDF内のJavaScript解析してくれる。

HashTab
ファイルのプロパティにハッシュを表示するタブを追加する。

bkhive and samdump2

windowsからパスワードハッシュを取得する。

  • apt-get install samdump2 bkhive

Windowsアカウントのパスワードをクラッキングする方法 - セキュリティ

 ・PDF Stream Dumper
PDF内のJavaScript解析してくれる。

Hexinator
ファイルの種類に応じたバイナリ構造のハイライト機能を持ったバイナリエディタ

※一部機能は14日でトライアル切れとなる

 

Unicode Steganography with Zero-Width Characters

ユニコードZero windthを使ったsteganoを解くやつ。いつかまた使う日を夢見ている。

使用例  UTCTF 2020 Forensics writeup - 4ensiX

 

 

未知のツールまとめ

Eric Zimmerman's tools

色々ありすぎてまとめるのがメンドクサくなった。

Nirsoft

ちゃんと探したら良いツールありそう。

 

 参考

 

CTFで役立ちそうなツールの一覧 Windows編 - セキュリティこねこね

大部分はここ↑にお世話になりました。

CTF - A painter and a black cat

 画像および音声オブジェクトの内部に情報を隠す4つの方法 | OSDN Magazine

GitHub - SandySekharan/CTF-tool: A curated list of Capture The Flag (CTF) frameworks, libraries, resources and softwares.

Forensics · CTF Field Guide

CTF/Toolkit - 電気通信大学MMA

GitHub - zardus/ctf-tools: Some setup scripts for security research tools.

 

 実はほとんど未使用なので分かっていない部分が多い。

他にも良いツールがあれば教えてください。 

某社のCTFに参加してそこで学んだことを軽くまとめておく

先日参加した某社のCTFにおいて、Forensics的に今後有用だと思ったことをまとめておく。

Windows minidumpにはWindbg

実際に使ったことは無かったのでいい経験をした。

docs.microsoft.com

使用ごとにシンボルを忘れない。

Windowsにはlsaas.exeという重要プロセスがある

www.windowsfiles.jp

認証情報を持っているプロセス。

 

Windowsの認証情報を取り出すのが得意な「mimikatz」にはWindbgのために使えるライブラリがある

github.com

mimikatzは対windowsの認証情報ぶっこ抜きで様々なmetasploitに組み込まれているけれど、それがWindbgでも使えるとのこと。

mimikatzのDLは、ウイルスとして検知されるし、Windows Defenderにも止められるからwindowsの良く使用する環境ではやらん方がいい。というかそもそも、mimikatazをDLするURLがブロックされたりする。

 

時にWRRでレジストリを眺めるだけじゃダメな時がある

プログラムの起動回数等が簡単に分かったregripperが良かった

github.com

 

 

まだまだ、Forensicの基礎知識、基礎装備がなっていないことが分かった。

装備については少し整理する必要がある。

TUCTF2019 Misc writeup 解けたやつのみ

今回は、2019 11/30 08:00—12/02 08:00 JSTに開催された TUCTFのMiscの中でも、解けたやつのwriteupを記す。

 

ctftime.org

 

 

Red Yarn

We like the simple things in life -- this file went back to the basics!

「DEBUG.COM」というファイルが与えられる。これは.comというMS-DOSの実行ファイルだが、ここはとりあえずバイナリエディタとかで開いてフラグフォーマットの「TUCTF」を検索してみると、

 

f:id:Zarat:20191204140546p:plain

flag:TUCTF{D0NT_F0RG3T_TH3_B4S1CS!}

 

Super Secret

Something's blocking my flag from this file...

「document.odt」をダウンロードする。このファイルは、拡張子通りのファイルである。こういうドキュメントファイルは.zipとして解凍するのが相場なので、.zipとして解凍する。

f:id:Zarat:20191204144014p:plain

とりあえず現れたファイルの中からflagの手がかりを探す。「META-INF/manifest.xml」を見ると、

f:id:Zarat:20191204145506p:plain

flagの手がかりらしきものが見えるので、「Basic/Standard/flag.xml」を確認する。

f:id:Zarat:20191204145929p:plain

flag: TUCTF{ST0P_TRUST1NG_M4CR0S_FR0M_4N_UNKN0WN_S0URC3}

 

Onions

Ogres are like files — they have layers!

 「shrek.jpg」というファイルをDLして見てみる。画像自体は特に違和感なく、exiftoolから見える情報にも違和感無い。しかしbinwalkで確認してみると、

f:id:Zarat:20191204150701p:plain

7zが見えるので、これを取り出す。これを解凍してみると、

「flag.tar.gz」が出てくる。これを解凍すると「flag.cpio」が出てくる。これは初めて見たので、メモを残しておく。

cpioメモ

kazmax.zpp.jp

www.webhtm.net

ということで、「flag.cpio」を解凍すると、「flag.lzma」、その次は

ファイル名がflagの「current ar archive」、次いで「XZ compressed data」をdecompressするとASCII textのファイルが現れた。

flag: TUCTF{F1L3S4R3L1K30N10NSTH3YH4V3L4Y3RS}

 

終わりに

今回は、Forensicが無かったがmiscは少し楽しめた。CTFが終わってサーバが閉まって

しまったので、解けてない問題が色々楽しめなかったのが悲しい。

 

 

 

RITSEC CTF 2019 Forensic writeup(そのうち更新?)

11/16 (土) 2:00(JTC) - 11/18 (月) 14:00 に開催されたRITSEC CTF 2019のForensicのwriteupを解いたやつも解けてないやつも自分で理解できた分は解いた風にやる。

ctftime.org

Take it to the Cleaners 100pt 409 Solves

Author: Impos73r Description: People hide things in images all the time! See if you can find what the artist forgot to take out in this one!

f:id:Zarat:20191120172318p:plain

まず上のような画像をDLする。とりあえず色々見ているとexifに何か見つけた。

f:id:Zarat:20191120174628p:plain

このUser Comment をbase64でデコードして、rot13すると,

$ echo "RVZHRlJQe1NCRVJBRlZQRl9TTlZZRl9KQkFHX1VSWUNfTEJIX1VSRVJ9" | base64 -d | nkf -r

 

RITSEC{FORENSICS_FAILS_WONT_HELP_YOU_HERE}

これがflag.

 

That data? No it's long gone. It's basically history

完全な理解に至らなかったので、writeupリンクのみ

 

ctftime.org

 

These are my favorite places to visit

完全な理解に至らなかったので、writeupリンクのみ

 

ctftime.org

 

findme 320pt 169 Solves

Find me! Challenge created by Security Risk Advisors for RITSEC CTF

まず「findme.pcap」というパケットキャプチャファイルを見ていく。

大部分が「HTTP」の通信であり、二つのIPアドレスの通信が見られる。TCPストリームを追っていくと、2種類の怪しいbase64のような文字列がある。

f:id:Zarat:20191120184344p:plain

それぞれbase64デコードしてみる。

aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kUXc0dzlXZ1hjUQo=

              ↓ decode

https://www.youtube.com/watch?v=dQw4w9WgXcQ

この動画には特に何も無かった。 

 

H4sIAFSZx10AA+3OMQuCQBiH8Zv9FPcFgrvUcw2kIWgydzG1EkQPvZui757S0lSTRPD8lmd43+F/6cqrWJmaGRMt1Ums3vtitkKHsdGJDqNtKJSeGwup1h628JMrRymFP/ve+Q9/X+5/Kjvkp316t1Vpp0KNReuKuq17V9x21jb9IwjSPDtuKukGWXXD1AS/XgwAAAAAAAAAAAAAAAAAWDwB38XEewAoAAA=

              ↓ decode

gzip compressed data, last modified: Sun Nov 10 05:00:04 2019, from Unix, original size modulo 2^32 10240

              ↓    Extract

POSIX tar archive (GNU)

                                                  ↓   Extract

flag: ASCII text

                                                 ↓

RITSEC{pcaps_0r_it_didnt_h@ppen}

flag出ました。

 

URGGGGG 480pt 58 Solves

One of our operatives sent us this packet capture but we aren't quite sure what to make of it, what can you find?

 「USGGGGG.pcap」というUSBキーボードのパケットキャプチャが与えられる。USBのキャプチャデータはどこを見ればいいのか分からなかったが、少し調べると「Leftover Capture Data」という部分を見るといいらしい。

picoCTF -LEVEL2 Just Keyp Trying- - ぴよぴーよのチラ裏

サークル合宿で主催したCTFの解説|nekomaru|note

NCC Onsen-CTF 2018 Write-up - Qiita

USBキャプチャファイルについて参考サイト

Wireshark · Display Filter Reference: USB

CTF Series : Forensics — tech.bitvijays.com

USBのUSキーボードと16進数の関連

http://www.mindrunway.ru/IgorPlHex/USBKeyScan.pdf

キャプチャファイルからキーボード操作の抽出プログラムの参考

kaizen-ctf 2018 — Reverse Engineer usb keystrok from pcap file

USB - CTF Wiki

GitHub - WangYihang/UsbKeyboardDataHacker: USB键盘流量包取证工具 , 用于恢复用户的击键信息

picoctf-2017-write-up/Just Keyp Trying.md at master · vabhishek-me/picoctf-2017-write-up · GitHub

 

これらを参考にして抽出プログラムをキャプチャファイルかキャプチャファイルから取り出した「Leftover Capture Data」をプログラムにかける。「RITSEC{」から始まり意味のありそうな文字列部分を取り出すと以下のようになった。(実際には一文字一文字が何度も繰り返されているので、少しguessing要素がある?)

 

RITSEC{wH0_s@d_ntw0rk1nG_wAs_tH3_oNlY_pAck3t_TyP3}

 

これを一度flagに通してみたが、お察しの通り違った。少し文としておかしなものになってしまっているので、まだ何か見逃しているようだ。実は、上のflagについて、

RITSEC{wH0_s@ d_n tw0rk1nG_wAs_tH3_oNlY_pAck3t_TyP3}

           ↑    ↑

この部分に色々な入力がされており、Left、Rigtht、[Ctrl]やx、c、vなどの様々な入力が見られた。ここでじっくり考えてみる。もしかすると、Ctrlやx、c、vを見るからに何か↑の部分で、コピペ?が行われているように思える。だが、何がコピペされているかはよく分からなかった。ここからはguessingかぁと思いながら、google翻訳にかけてみると、

f:id:Zarat:20191121180532p:plain

who said networking was the only packet type ?

これか!?

少しいじってみたらいけました。

RITSEC{wH0_s@id_n3tw0rk1nG_wAs_tH3_oNlY_pAck3t_TyP3}

 

他の方のwriteup

ctftime.org


Lion
500pt 10 Solves (no writeup)

when the lion rars, it's time to GO

 ファイル入手できず。writeup見つからず。

 

 

Long GoneとVacationの分かりやすいwriteup

soji256.hatenablog.jp

 

soji256さんにはForensicを学んでいく上でいつも感謝しっぱなしです。