
Node.jsマルウェア解析用ランタイムトレーサー。コアモジュールをフックし、呼び出しをログ記録し、アンチ解析チェックを偽装し、ファイル書き込みとHTTPリクエストをキャプチャします。
コアモジュールへの呼び出しをログ記録するシンプルなNode.jsトレーサーです。特定の呼び出しをスプーフィングしてアンチ解析を無効化したり、アプリケーションが書き込んだファイルを保存したりできます。高度に難読化されたNode.jsマルウェアの解析に役立ちます。
node -r .\tracer.js main.js
DISPLAY_STACK 有効時のトレース例:

スクリプト内の定数を調整して、以下のオプションを設定します:
const DISPLAY_STACK = true // Display stack trace for each call
const SAVE_FILE_WRITES = true // Save files written by the application to the current working directory
const LOG_HTTP_REQUESTS = true // Log HTTP requests to requests.txt
const SKIP_SLEEPS = false // Skip calls to sleep and timers
const TRACE_ERRORS = false // Log errors, caught and uncaught
const IGNORED_APIS = [] // List of APIs that won't be hooked (e.g. ['path.normalize'])
マルウェアによっては、スクリプト上部のanti-anti-VMインターセプトを調整する必要がある場合があります。
現在、以下のanti-anti-VMを実装しています:
tasklist 呼び出し時に空の結果を返します(マルウェアが実行中の解析ツールを列挙しようとする場合)