2016.06.30(木)

XORSearch(Scan Tech Report)

脆弱性と脅威 エクスプロイト

1.XORSearchとは
Didier Stevens氏によって開発された「XORSearch」は、XOR, ROL, ROT演算を利用して暗号化されたファイルに対して、ブルートフォースで復号化を試みることができるコマンドラインツールです。XORSearchは、2007年から公開されているツールですが、MAC OSX版もリリースされてWindows、Linux、MAC OSX上と複数のOS上で動作させることができます。

これら演算を使用した暗号は比較的簡単なものでありますが、マルウェア作者にはデータを難読化する方法として依然人気がある手口です。例えば、マルウェア感染ホスト内にある不正ファイルやWebフィルタリングソフトのHTTP POSTのログ、パケットキャプチャデータの解析時など、マルウェア解析や不正通信の調査時に難読化データに遭遇する機会は増えてきてますので、実際にこのようなデータに遭遇したような場合、復号を諦めている読者の方も多いと思いますが、XORSearchのような比較的すぐ簡単にチェックできるツールも存在しますので、一度試してみると良いと思います。


2.ダウンロード
XORSearchは次のURLよりダウンロードできます。執筆時点での最新バージョン
は1.7.0となっています。

XORSearch:
http://blog.didierstevens.com/programs/xorsearch/


3.インストール
インストールは標準のgccでコンパイルを実行して完了です。
ここではOSはUbuntu Desktop 12.10を使用しています。

$ gcc -o xorsearch XORSearch.c -v
組み込み spec を使用しています。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
ターゲット: x86_64-linux-gnu
configure 設定: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
スレッドモデル: posix
gcc バージョン 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
COLLECT_GCC_OPTIONS='-o' 'xorsearch' '-v' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/4.6/cc1 -quiet -v -imultilib . -imultiarch x86_64-linux-gnu XORSearch.c -quiet -dumpbase XORSearch.c -mtune=generic -march=x86-64 -auxbase XORSearch -version -fstack-protector -o /tmp/cc00s83j.s
GNU C (Ubuntu/Linaro 4.6.3-1ubuntu5) version 4.6.3 (x86_64-linux-gnu)
compiled by GNU C version 4.6.3, GMP version 5.0.2, MPFR version 3.1.0-p3, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
存在しないディレクトリ "/usr/local/include/x86_64-linux-gnu" を無視します
存在しないディレクトリ "/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/include" を無視します
#include "..." の探索はここから始まります:
#include <...> の探索はここから始まります:
/usr/lib/gcc/x86_64-linux-gnu/4.6/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
探索リストの終わりです。
GNU C (Ubuntu/Linaro 4.6.3-1ubuntu5) version 4.6.3 (x86_64-linux-gnu)
compiled by GNU C version 4.6.3, GMP version 5.0.2, MPFR version 3.1.0-p3, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 75e879ed14f91af504f4150eadeaa0e6
COLLECT_GCC_OPTIONS='-o' 'xorsearch' '-v' '-mtune=generic' '-march=x86-64'
as --64 -o /tmp/ccr9VpgW.o /tmp/cc00s83j.s
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-o' 'xorsearch' '-v' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/4.6/collect2 --sysroot=/ --build-id --no-add-needed --as-needed --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o xorsearch /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../.. /tmp/ccr9VpgW.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.6/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crtn.o


4.テスト準備
(Web非公開)

5.実行する
(Web非公開)

6.XORSearch使い方、オプション
(Web非公開)

(執筆:株式会社ラック サイバー脅威分析センター

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html

《吉澤 亨史》

編集部おすすめの記事

特集

脆弱性と脅威 アクセスランキング

  1. スマホアプリ「スシロー」にSSLサーバ証明書検証不備の脆弱性(JVN)

    スマホアプリ「スシロー」にSSLサーバ証明書検証不備の脆弱性(JVN)

  2. Apache Commons FileUpload のマルチパートリクエストの処理に起因する DoS の脆弱性(Scan Tech Report)

    Apache Commons FileUpload のマルチパートリクエストの処理に起因する DoS の脆弱性(Scan Tech Report)

  3. ガンホーゲームズを騙るメールに注意、本文に“流失”のミス(フィッシング対策協議会)

    ガンホーゲームズを騙るメールに注意、本文に“流失”のミス(フィッシング対策協議会)

  4. 複数の「ひかり電話ルータ」および「ひかり電話対応機器」に重大な脆弱性(JVN)

  5. NAS用OS「QNAP QTS」におけるクロスサイトスクリプティングの脆弱性(ラック)

  6. トレンドマイクロ「Deep Discovery Inspector」にコード実行の脆弱性(JVN)

  7. Apache Struts 2 において REST プラグインの実装不備により任意のコードが実行されてしまう脆弱性

  8. 2013年にサポートが終了している「Apache Struts1」に複数の脆弱性(JVN)

  9. 「Apache Struts 2」に深刻な脆弱性、バージョンアップを強く推奨(ラック)

  10. OMC Plusを騙るフィッシングメールを確認、文面は2014年2月とほぼ同一(フィッシング対策協議会)

アクセスランキングをもっと見る

★★ ( FB ログイン可) 会員限定記事、週 1 回のメルマガ、人気ニュースランキング、特集一覧をお届け…無料会員登録はアドレスのみで所要 1 分程度 ★★
★★ ( FB ログイン可) 会員限定記事、週 1 回のメルマガ、人気ニュースランキング、特集一覧をお届け…無料会員登録はアドレスのみで所要 1 分程度 ★★

登録すれば、記事一覧、人気記事ランキング、BASIC 会員限定記事をすべて閲覧できます。毎週月曜朝には一週間のまとめメルマガをお届けします(BASIC 登録後 PREMIUM にアップグレードすれば全ての限定コンテンツにフルアクセスできます)。

×