私は少しデバッガを使ったことはあるのですが実際にマルウェアを解析したことはありません。

それはやっぱりなんか怖いじゃないですか。。

でも実際にどんな感じで解析するのか学びたい。

探してみるとcouseraというサイトでIBMのマルウェア解析の授業があるじゃないですか。

https://www.classcentral.com/course/malware-analysis-and-assembly-110435


なんか修了証をもらうにはお金がかかるみたいですが、普通に受講する分にはお金がかからないみたいですね。

それで実際にやってみました。

全部で8週あるんですが、三週目のところまで行きました。


・1週目

1週目はマルウェア解析の概要みたいですね。

解析する種類とか動画で説明してました。


・2週目

2週目は解析する環境の構築の話でした。

この実行環境を整えるのは結構めんどくさかったですね。

特に時間と容量を食うことですね。

FLARE-VMというのを仮想環境にインストールするのですが、ずーっとインストールし続けてましたねw

いろいろ解析に必要なものをまとめて入れてくれたみたいでした。

私のPCは残り70GBくらいしかなかったのに実行環境をインストールしたらもう10GBを切ってしまいました。

時間も数時間かかりましたねー。


・3週目

3週目は実際に手を動かして解析してみる内容です。


静的解析については動画と実際にプログラムを渡されて、解析してFlagを手に入れるCTF形式でした。

CTF は解析する方法を学ぶためのものであるため難しくはないですね。

cmdからstringsコマンドで文字を抽出する感じです。

あとはハッシュ値を出したりファイル形式はどんな感じかとか。

フラグは求められたんですが、お金を払わないと週ごとの最後の問題に解答できない感じなので答え合わせはできませんでした。

しかしその前にヒントがあり、フラグはこのうちのどれかだよって教えてくれていたのでそれがほぼ答えみたいなもんですね。

なのでお金をかけなくても学べそうな感じです。


次に動的解析です。

これも動画を見て問題を解く感じです。

最初にFakenetを起動してexeが外部と実際には通信しないがしているように動作させるようにし、exeがどこと通信しようとしているのかをみる。

Regshotでファイルやレジストリがexe実行後にどう変化したのか見て、どんなファイルが作られたのか、レジストリはどう書き換えられたのかをみる。

あとはprocess monitorでプロセスを見る感じみたいですが、なんかfakenetを起動してから仮想環境がネットにつながらなくなってしまい、process monitorがインストールされていなかったのでprocess monitorがインストールできなくて最後のフラグが手に入らない。。

なんとかVBのネットの種類を変えて接続させて、process monitorをインストールしましたが結局できない。

mutexの名前がわかれば最後のフラグの一部がわかるらしいのですがどこを見ればいいかわからない。

難しいのでまたわかるようになったらこの問題に戻ってきます。

とりあえず次に進んでみます。


こんな感じですね。

面白いんですが自分のpcのスペックが足りなくてすぐにフリーズします。。

物理的な実行環境が足りない。。


・4週目

マニュアル解析。

x64dbgを使ってアセンブリを読む。

でもそんなの読まなくても演習課題はフラグが文字列としてそのまま入っていたから特に何もしなくていい。


今更だがシラバスに何週目で何を学ぶか書いてあった。

5週目はPowerShell

6週目はELF

7週目はASPX Webshell and JAR files

8週目はアセンブリの紹介


今興味があるのはアセンブリのなので8週目を先にやってみる。

やってみたら説明動画と理解しているか確認する選択式の問題しかなかった。。

まじか。

てかこれならそんなたくさん仮想環境に入れる必要なかったやんかー。

過剰すぎて俺のpcのストレージが一時一桁切ってゴミ箱とかダウンロードフォルダの中身全て消したというのにー。

やっぱりwindowsのリバーシングができるCTFを探すしかないかー。