keroqueue logs

アウトプット癖をつけるために始めました。何を書くかはよくわかりません。


マルウェア解析メモ #1 マルウェア解析とは - 環境構築

概要


最近勉強しているマルウェア解析についての備忘録。

マルウェア解析とは


マルウェア解析とは、マルウェアのファイルを解析し、挙動を明らかにすること。解析の結果明らかとなった動作や通信のパターンは、組織ネットワークの保護に活用する。

マルウェア解析の手法


マルウェア解析には大まかに表層解析、動的解析、静的解析の3つがあり、解析の労力と得られる情報の詳細さは以下の関係になっている。

静的解析 > 動的解析 > 表層解析

表層解析

解析対象を実行せずに解析を行う。解析のコストが少ない分、明らかになる情報は多くないが、その後の解析の方針を決めるのに役立つ。

得られる情報:

  • ファイル形式
  • ハッシュ値
  • ファイルに含まれる文字列
  • パッカー
  • PEヘッダ情報 etc.

代表的なツール:

動的解析

解析対象を隔離された環境で実行し、その動作を監視することで解析を行う。表層解析よりも多くの動作を明らかにできるが、すべての機能が明らかになるわけではない。

得られる情報:

代表的なツール:

静的解析

表層解析、動的解析では判断できない情報を明らかにするためにコード解析を行い、プログラムの内部動作を解析する。コード解析では分析対象を逆アセンブルしてコードを調査したり、デバッグを行ってファイルの機能を調査したりする。

得られる情報:

  • 表層解析、動的解析では判断できないプログラムの機能

代表的なツール:

環境構築


環境概要

解析環境は下図のとおり。Windows VMマルウェアを実行する環境として利用し、Linux VMではマルウェアのリクエストに対するレスポンスを行うようINetSimを導入、構成する。

f:id:keroqueue:20210103175627p:plain

Linux側構築

  • INetSim導入
    NATモードでVMの立ち上げ後、以下のコマンドでINetSimを導入する。
$ sudo su
# echo "deb http://www.inetsim.org/debian/ binary/" > /etc/apt/sources.list.d/inetsim.list
# wget -O - http://www.inetsim.org/inetsim-archive-signing-key.asc | apt-key add -
# apt update
# apt install inetsim
  • Host-Onlyモードへの変更
    ネットワーク構成をHost-Onlyモードへ変更し、VM側で192.168.1.100のスタティックIPを設定する。

  • INetSim設定
    /etc/inetsim/inetsim.conf のservice_bind_addressセクションに、以下のエントリを追記する。

# 192.168.1.100でリクエストを受ける。
# service_bind_address
#
# IP address to bind services to
#
# Syntax: service_bind_address <IP address>
#
# Default: 127.0.0.1
#
#service_bind_address 10.10.10.1
service_bind_address 192.168.1.100

dns_default_ipセクションに、以下のエントリを追記する。

# すべてのDNSリクエストに、192.168.1.100を返す
# dns_default_ip
#
# Default IP address to return with DNS replies
#
# Syntax: dns_default_ip <IP address>
#
# Default: 127.0.0.1
#
#dns_default_ip 10.10.10.1
dns_default_ip 192.168.1.100

INetSimを起動して、192.168.1.100でリッスンしていることを確認する。

$ sudo inetsim
...
Listening on: 192.168.1.100
...

Windows側構築

  • Host-Onlyモードへの変更
    ネットワーク構成をHost-Onlyモードへ変更し、VM側で192.168.1.128のスタティックIPを設定する。

  • Windows Defender無効化
    手順割愛。

  • INetSim動作確認
    Windowsホストでhttp://example.comへアクセスし、以下のページが表示されればOK。

f:id:keroqueue:20210104021245p:plain

参考文献

Monnappa K A (2018). Learning Malware Analysis: Explore the concepts, tools, and techniques to analyze and investigate Windows malware