Try   HackMD

マルウェア解析に必要な素養~スクリプト編~

マリシャスなスクリプトファイルにまつわるトピックをまとめています。

コマンドプロンプト

cmd.exe

難読化

DOSfuscation: Exploring the Depths of Cmd.exe Obfuscation and Detection Techniques | FireEye Inc (2018/3/22)

PowerShell

急増中。特にダウンローダーがよく使っている。

PowerShell は、元は Windowsで動作する、コマンドラインシェルおよびスクリプト言語を指します。システムの管理やプロセスの自動化を実現するもので、非常に「無駄に」多機能です。PowerShell は 2017 年にオープンソース化され、Linux、macOSでも利用可能なプラットフォームとなりました。

攻撃者の気持ちになってコードを書こうとすると情報が少なすぎて結構苦労します(APIリストを片っ端から目grepしたほうが早いくらい)。PowerShellを調べているつもりが .Net Frameworkの話にすり替わっているのはあるあるです。

[PR]同人誌「TomoriNao Vol. 2」で、筆者はPowerShellでのDLLインジェクションのやり方を解説しました。

Powershellの実行方法

TODO:他にある?

実行ポリシーの回避

TODO

攻撃経路

LNKファイル→PowerShell

LNKファイル→HTAファイル→VBScript→PowerShell/RTFファイル→HTAファイル→VBScript→PowerShell

Powerpointファイル→リンクをホバー→Powershell

難読化と難読化解除

TODO

例:

  • -enc(頻出) UTF-16をBase64でエンコードしたやつ?

難読化参考情報

バイパス

https://twitter.com/omespino/status/1082361280248336384 (2019/1/8)

@omespino
#Protip can you pop a calc with "C:>powershell C:**2\n??ed.?" ? yes.
bypass blacklisted words filter (or firewalls) via wildcards

C:>powershell C:???*3?\c?lc.?x? calc
C:>powershell C:**2\n??e
d.* notepad
C:>powershell C:**2\t?sr. taskmgr

#BugBounty #infosec

Invoke-PSImage

https://github.com/peewpw/Invoke-PSImage

Embeds a PowerShell script in the pixels of a PNG file and generates a oneliner to execute

実例:

  • McAfee Labs脅威レポート: 2018年3月
    • 2017年12月: 平昌冬季オリンピックを含む組織を標的にした攻撃では、ステガノグラフィーと、攻撃の数日前にリリースされた新しいツールInvoke-PSImageが使用されました。Operation Gold Dragonは被害者のシステムに常駐し、デバイスやクラウドアカウントに保存されたデータを、攻撃者が自由に検索してアクセスできるようにしていました。

WMI

TODO

.NET Framework

PowerShellはC#が使えるからね。

PowerShellに関する情報セキュリティ系論文

[1709.07508] Hijacking .NET to Defend PowerShell (2017/9/21)

This paper focuses on repurposing various stealthy runtime .NET hijacking techniques implemented for PowerShell attacks for defensive monitoring of PowerShell.

比較的平易に書かれていてPowerShell入門者には読みやすいかも。Powershellを堅牢化する話。まあまあ面白かったです。

VBScript (VBS)

TODO

.NET

解析例

The anatomy of a .NET malware dropper (2018/9/10)

解析ツール

  • dnSpy … デコンパイラ+デバッガ

JavaScript

標的型メールの添付ファイルとして登場する。

TODO:具体例

難読化と難読化解除

TODO

実例

よくわからないJavaScriptが綺麗にされたらCard Stealerだった件 | リクルートテクノロジーズ メンバーズブログ (2019/5/10)

今回観測した攻撃の流れは、以下と推測しており、クレジットカード情報の盗み出しを目的としていると考えられます。

脆弱性検出

バグハンターのためのクライアントサイドJavaScriptの静的解析 - No1zy Web Security Blog(2018/12/2)

HTA

本章はmalicous な HTML Applicationsを扱う。

HTAを利用したワンクリックウエアの新たな手口 | トレンドマイクロ セキュリティブログ (2009/4/7)

Smuggling HTA files in Internet Explorer/Edge (2017/8/)

A HTA file is usually made up of HTML and script such as JScript or VBScript, much like a normal web page.

TODO:HTAをよく理解してないのでやってみたい

PowerShell Empireを利用した標的型攻撃 | LAC WATCH | 株式会社ラック (2017/8/7)

中身はリンク先としてHTML Application (HTA)を実行する機能を持つmshta.exeがIPアドレス(80[.]209[.]252[.]70)を引数として指定されています
HTAファイルは、図7に示す通り、VBScriptを利用して、PowerShellスクリプトを実行します。オプション「-enc」以降のPowerShellスクリプトはコードがエンコードされており、図8(筆者注:省略)がデコードしたものです。

Demiguise by NCC Group (2017/8)
暗号化されたHTAファイルを含むHTMLファイルを生成

悪性文書ファイル

マリシャスな文書ファイルは、主に研究方面で「悪性文書ファイル」と呼ばれる。解析者がmaldocと読んでいることもある。

VBAマクロ

VBAはMicrosoft Officeのマクロ機能。典型的、古典的手口。

Advanced VBA Macros Attack & Defence - eu-19-Lagadec-Advanced-VBA-Macros-Attack-And-Defence-2.pdf (2019/12)

例:

[余談]筆者が学生時代でしていた学内バイトでの話。SEの方に某動画データベースの疑似ダンプを渡す必要がありました。Webページをスクレイピングして、メタ情報をデータベース化するためにExcelのVBAマクロを使いました。自動でIEが立ち上がって、ページをなめてくれるので便利でした。うまく使うとポータビリティが高い便利な機能です。

PDF

TODO:説明。メインターゲットはAdobe Acrobat。フォーム機能もエクスプロイトされているのも抑えたいところ。

解析例:

参考:

RTF

リッチテキストファイル。

TODO:具体例

気になる子ちゃん:

  • Webページで利用可能なリッチテキストエディタはExploit可能なのだろうか?