2月 10

Kali Linux NetHunter “Bad USB” MITM Attack + sslstripメモ

Nexus5にインストールした「Kali Linux NetHunter」のココにある「”Bad USB” MITM Attack」を実行した上で「sslstrip」を実行しSSL通信を覗き見るということをしてみたのでそのときのメモです。

実施内容は下図の通りです。
fig01
通常では水色の経路で通信しているコンピュータにBadUSB機能を有効にした状態のNethunterをUSB接続することでそれ以後は黒色の経路の通信を行うように設定を変更してしまいます。これにより通信内容を覗き見たり、干渉したりすることが可能になります。

まず、NethunterのBadUSB機能をONにします。
下図のNethunterのメニューからの実行はうまく動作しなかったため起動スクリプトを編集した上でターミナルからスクリプトを実行しました。
menubadusb

【/sdcard/files/startbadusb.shの編集】

#dnsmasq -H /data/local/tmp/hosts -i $INTERFACE -R -S 8.8.8.8 -F 10.0.0.100,10.0..0.200 -x $TMPDIR/dnsmasq.pid
dnsmasq -C /sdcard/files/dnsmasq.conf -x $TMPDIR/dnsmasq.pid -i $INTERFACE

dnsmasq -H /data/local/tmp/hosts -i $INTERFACE -R -S 8.8.8.8 -F 10.0.0.100,10.0..0.200 -x $TMPDIR/dnsmasq.pid
#dnsmasq -C /sdcard/files/dnsmasq.conf -x $TMPDIR/dnsmasq.pid -i $INTERFACE

【/sdcard/files/startbadusb.shの実行】

/sdcard/files# ./startbadusb.sh
iptables v1.4.14
rndis,hid
1

これで準備は完了ですのでコンピュータにNexus5をUSBで接続します。
しばらくするとネットワークの設定が変更され、それ以降Nexus5を経由しての通信を行うようになります。
下図は設定を変更し、通信がNexus5を経由していることを確認するためwww.google.comにpingを送信しその内容をNexus5で表示しているものです。その左横にあるコマンドプロンプトを見ても分かる通りデフォルトゲートウェイが変更されています。また、その次に実行しているPingの内容がNexus5の画面に同様のものが表示されていることからNexus5経由の通信に変更されたことが分かるかと思います。
badusb_cap

これでMan In The Middle状態になりました。
しかし、SSL通信は暗号化されて覗き見ることができないため「sslstrip」を利用します。
「sslstrip」を実行した際に行われることは下図の通りです。
fig02

【IPTABLESのリダイレクト設定】

iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT
–to-port 8080

【sslstripの起動】

sslstrip -l 8080

この状態でYahooのログイン画面にアクセスしてみます。
sslstrip01
URLがhttpsになっていないことが分かります。この状態でログイン処理を行います。
入力、送信した情報は存在しないアカウントのもので
ユーザ名「test@pentest.ninja」
パスワード「MIMTtest」
です。

送信後、ログファイル「/sdcard/files/sslstrip」の内容を確認したものが下図です。
sslstrip02
送信した認証情報が表示されているのが分かるかと思います。

同じ内容をNexus5上で確認したものは下図の通りです。
sslstrip03

以上です。

Category: memo | Kali Linux NetHunter “Bad USB” MITM Attack + sslstripメモ はコメントを受け付けていません。
12月 26

ドメインに対する永続的な管理者権限での侵入の検証レポート

【概要】
WindowsのKerberos認証の脆弱性により、権限昇格が行える脆弱性(CVE-2014-6324)に関する検証レポート」で紹介した、MS14-068の修正プログラムにより修正される脆弱性は、ドメインに参加が許可されているユーザーがドメインの管理者権限を奪取することが可能な問題です。この脆弱性を利用した後の攻撃者による更なるシナリオとしては、

  • ドメインユーザー名とそのパスワードハッシュのリストを取得する
  • バックドア用のユーザーを作成する
  • マルウェアをインストールする
  • 侵入範囲を拡大するための情報(ホスト名、IPアドレス)を収集する
  • 侵入範囲を拡大する

などといった行動が考えられます。
他には、永続的な侵入を可能にするためにKerberosチケットの有効期限を変更するというものも挙げられます。

以下の図はチケットの有効期限を10年間に変更したものです。チケットの有効期限内であれば、チケットのユーザーのパスワードを変更したとしても、攻撃者はログオンすることが可能となります。すなわち、チケットの有効期限を変更することで攻撃者は永続的な攻撃が可能となります。
下図はチケットの有効期限を10年に変更したものの確認結果です。
P11_golden

このような状態のチケットは「Golden Ticket」と呼ばれています。
Golden Ticketは、任意のユーザー、または、任意の有効期限が設定された状態のチケットです。Windowsのドメインコントローラーはデフォルトで10時間のチケット有効期限が設定されていますが、Golden Ticketを利用することにより、この制限を回避してドメインのリソースへアクセスし続けることが可能となります。

また、以下の図は、Golden Ticketを利用してドメインコントローラーへアクセスした後、バックドア用のユーザー「golden」を作成し、ユーザー「golden」を「Domain Admins」権限へ追加するまでを示しています。

P11_golden2
このように攻撃者が任意のユーザ名、パスワードを設定した管理者ユーザアカウントを追加し、本来の管理者に気付かれぬよう永続的な侵入を行うといった攻撃が行われることもあります。

このGoldenチケットによるリソースへのアクセスを防ぐためには、krbtgtアカウントのパスワードを二回変更する必要があります。ただし、krbtgtアカウントのパスワードを変更することにより、現在ログオン中のセッション全てに影響を及ぼす可能性があるため、実行する際には運用中のシステムに影響を及ぼさないことを検証環境にて十分に確認を行ってから実施することを推奨します。

MS14-068の修正プログラムにより修正される脆弱性と併せて対策を実施する場合、

  1. MS14-068の修正プログラムを適用する
  2. krbtgtアカウントのパスワードを二回変更する

というステップを踏んでいただくことが挙げられます。

reported by y.izumita, ntsuji

 

Category: exploit, memo | ドメインに対する永続的な管理者権限での侵入の検証レポート はコメントを受け付けていません。
12月 10

WindowsのKerberos認証の脆弱性により、権限昇格が行える脆弱性(CVE-2014-6324, MS14-068)に関する検証レポート

【概要】
Microsoft WindowsのKerberos認証に、リモートから任意のドメインアカウントへ権限昇格を行える脆弱性(CVE-2014-6324)が発見されました。この脆弱性は、Kerberos認証のチケットの署名に対する検証処理に問題があるため、署名に細工をすることによりドメインの特権ユーザーへ昇格することが可能です。

攻撃者がこの脆弱性を利用するためには、ドメインへの有効なログオン情報が必要になります。攻撃者が何らかの方法でドメインユーザーのログオン情報を奪取できた場合、この脆弱性を利用することによりドメインの管理者権限を奪取される可能性があります。その結果、管理者権限でシステムを操作し、重要情報の改ざん、窃取されてしまうといった危険性があります。

本レポート作成(2014年12月10日)時点において、既にMicrosoft社より2014年11月19日に脆弱性の修正プログラムがリリースされております。しかしながら、攻撃を成立させるためのコードが容易に入手可能であり、かつ攻撃を受けた際にシステムへの影響が大きいことから、今回、このKerberos認証の脆弱性(CVE-2014-6324)の再現性について検証を行いました。

 

【影響を受ける可能性があるシステム】
– 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(Server Coreインストールを含む)
– Windows Server 2008 for x64-based Systems Service Pack 2(Server Coreインストールを含む)
– 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(Server Coreインストールを含む)
– 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(Server Coreインストールを含む)
– Windows Server 2012 R2(Server Coreインストールを含む)

 

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

 

【参考サイト】
CVE-2014-6324

マイクロソフト セキュリティ情報 MS14-068 – 緊急 Kerberos の脆弱性により特権が昇格される (3011780)

Additional information about CVE-2014-6324

 

【検証イメージ】
P09_post

 

【検証ターゲットシステム】
Windows Server 2008 R2 SP1

 

【検証概要】
ドメインに所属するクライアントへローカルの一般ユーザーでログオンした後、検証用のドメインユーザー(Domain Usersグループのアカウント)のKerberosチケットを取得します。このチケットに細工、利用しターゲットへアクセスすることで、ターゲット上にて特権で任意の操作が実行可能になるというものです。

 

【検証結果】
図①は、今回の検証においてターゲットシステムのコンソール画面で、ログオンしているドメインユーザーの権限を表示しています。このユーザーのチケットを取得します。

[図①]
P09_checkdomain

図②は、ドメインに所属するクライアントのコンソール画面で、ログオンセッションのチケットの情報と、ログオンしているユーザーの権限を表示しています。クライアント上での操作はこのユーザーで実行しています。

[図②]
P09_checkclient

ターゲットシステムでは「dctest」ユーザーを表示しており、「Domain Users」に所属しています。クライアントでは「test」ユーザーを表示しており、ローカル(evl7)の「Users」に所属しています。

以下より検証結果を記載します。以下の図③から図⑥はMS14-068の修正プログラムを適用する前、一方で図⑦は修正プログラムを適用した後の検証結果です。

■MS14-068適用前■
図③はドメインに所属するクライアント(Windows 7)のターミナル画面です。攻撃コードを含むスクリプトを実行することにより、ドメイン「2008R2AD.testdomain」のユーザー「dctest」のKerberosチケットに対して、ドメインの特権を付与する細工を行います。

[図③]
P09_prepatch1

図④は、③のチケットを現在のセッションに取り込みを行ったところです。この際、このチケットのユーザー名は「dctest」であることが分かります。

[図④]
P09_prepatch2

図⑤は、現在のセッションのチケットの情報を表示しています。このチケットを用いてターゲット(Windows Server 2008 R2)に対してnet useによる接続を試みたところです。Domain Users権限ではアクセスできないリソースである「\\<ターゲット>\c$」を、認証なしでzドライブとしてマウントできました。

[図⑤]
P09_prepatch3

図⑥は、チケットを使いターゲットのシェルを取得したところです。取得したシェルの実行権限を確認したところ、Domain Users権限のみ与えられているはずの「dctest」ユーザーに、「Domain Admins」や「Administrators」などの権限が付与されています。このことから、この脆弱性を持つドメインコントローラーは、細工されたチケットを検証できていないことが確認できます。

[図⑥]
P09_prepatch4

なお、WindowsのKerberos認証では、TGTチケットにはデフォルトで10時間の有効期限が設定されています。
この期限内では、TGTチケットを取得されたユーザーのパスワードを変更しても、攻撃者はログオンすることが可能です。

■MS14-068適用後■
図③から図④までと同じ手順で進めた後、図⑦では、現在のセッションにチケットがキャッシュされていることを確認しています。

次に、修正プログラム適用前の検証と同様にチケットを用いてターゲット(Windows Server 2008 R2)に対してnet useによる接続を試みていますが、MS14-068を適用した後は適用前と挙動が異なり、ドメインのリソースへのアクセスに認証が求められるようになります。脆弱性を修正するプログラム適用後は、細工されたチケットを用いてドメインのリソースにアクセスできなくなっていることが分かります。この脆弱性の修正プログラム(MS14-068)を適用していただくことにより、ドメインコントローラーはチケットを検証するようになったことが確認されました。

[図⑦]
P09_patched

■イベントログへの記録■
MS14-068を未適用の場合で特権の昇格の攻撃が成功した場合、WindowsのシステムログID4672を確認することにより、不審な挙動を検出することが出来ます。脆弱性を利用したリクエストが行われた場合、ログオンユーザーに対して特権が与えられるログが記録されます。以下の例ではDomain Users権限である「dctest」に対して特権が与えられていることが確認できます。

P09_log_ID4672

このログを取得するためには、グループポリシーの管理から使用しているポリシーを選択し、以下の設定を行います。

キー コンピューターの構成\ポリシー\Windowsの設定\セキュリティの設定\監査ポリシーの詳細な構成\監査ポリシー\特権の使用\
サブカテゴリ 重要な特権の使用の監査

 

MS14-068を適用済みの場合、WindowsのシステムログID4769を確認することにより、細工されたチケットを用いた特権のリクエストを検出することが出来ます。以下の例ではdctestユーザーとしての特権のリクエストを却下したことが確認できます。

P09_log_ID4769

このログを取得するためには、グループポリシーの管理から使用しているポリシーを選択し、以下の設定を行います。

キー コンピューターの構成\ポリシー\Windowsの設定\セキュリティの設定\監査ポリシーの詳細な構成\監査ポリシー\アカウントログオン
サブカテゴリ Kerberosサービスチケット操作の監査

 

【変更履歴】
(12/11) 修正プログラム適用前と適用後の比較に変更しました。
(12/14) 検証イメージを修正しました。
(12/15) 検証結果の内容を追記しました。
(12/17) イベントログへの記録を追記しました。

reported by y.izumita, ntsuji

 

Category: exploit | WindowsのKerberos認証の脆弱性により、権限昇格が行える脆弱性(CVE-2014-6324, MS14-068)に関する検証レポート はコメントを受け付けていません。
11月 28

Linuxカーネルの脆弱性により、権限昇格が行える脆弱性(CVE-2014-3153)に関する検証レポート

【概要】
Linuxカーネルに、システムにログイン可能な一般ユーザーが権限昇格を行える脆弱性(CVE-2014-3153)の攻撃方法が発見されました。この脆弱性は過去にAndroidのroot化を行う目的で利用されていた実績のある脆弱性です。
この脆弱性はkernelのfutexサブシステムの処理に不備が存在しており、悪意のあるローカルユーザーが細工したfutexシステムコールを送信することでリング0の制御を奪取することが可能です。

【※上記説明文章の参考ページ】

Linux kernel futex local privilege escalation

Debian セキュリティ勧告

本レポート作成(2014年11月27日)時点において、The Linux Kernel Archiveより2014年6月7日に脆弱性を修正するバージョンのカーネルがリリースされていることが確認できております。しかしながら、攻撃を成立させるためのコードが容易に入手可能であり、かつ脆弱性に対する攻撃が容易であること、また攻撃を受けた際にシステムへの影響が大きいことから、今回、この脆弱性(CVE-2014-3153)の再現性について検証を行いました。

 

【影響を受ける可能性があるシステム】
– Linux Kernel 3.14.5よりも以前のバージョン

現在利用されているシステムのカーネルバージョンは、以下のコマンドを実行することにより確認が可能です。

uname -r

P08_kernelver02

 

【対策案】
この脆弱性を修正するバージョンのカーネル(3.14.6)がリリースされています。
またRedhat Enterprise Linuxの場合、6系ならばkernel-2.6.32-431.20.3.el6以降のパッケージで、7系ならばkernel-3.10.0-123.4.2.el7以降のパッケージでこの問題が修正されています。
当該脆弱性が修正されたカーネルにアップデートしていただくことを推奨いたします。

なお、この脆弱性を利用するためには、システムにログインできることが前提です。そのため、運用上カーネルのアップデートを実施できない場合は、システムに登録されているユーザーのパスワードを強固にしていただくこと、またシステムへのアクセス可能な経路を必要最低限に制限していただくことにより、攻撃を受ける可能性を低減することが可能です。
しかしながら、正規のユーザーによりこの脆弱性を利用された場合は、上記の対策は回避策とはなりません。よって、根本的に問題を解決していただくため、カーネルのバージョンアップを実施していただくことが推奨されます。

 

【参考サイト】
CVE-2014-3153

JVNDB-2014-002785 Linux Kernel の kernel/futex.c の futex_requeue 関数における権限を取得される脆弱性

Kernel ChangeLog-3.14.6

 

【検証イメージ】
P08_post

 

【検証ターゲットシステム】
CentOS 7.0.1406

 

【検証概要】
脆弱性の存在するターゲットに一般ユーザーでログイン後、攻撃者が作成した細工されたコードを実行することにより権限昇格を行い、結果root権限を奪取するというものです。
これにより、ターゲットで全権の操作が可能となります。

 

【検証結果】
下図は、ターゲットシステム(CentOS)の画面です。黄線で囲まれている部分は、細工されたコードを実行する前のカーネル情報および一般ユーザーを示すID情報が表示されています。一方、赤線で囲まれている部分は、細工されたコードを実行した後の画面で、rootユーザーのID情報が表示されています。
これにより、ターゲットシステムで権限昇格を行うことに成功しました。

P08_cve-2014-3153_cut

reported by y.izumita, ntsuji

 

Category: exploit | Linuxカーネルの脆弱性により、権限昇格が行える脆弱性(CVE-2014-3153)に関する検証レポート はコメントを受け付けていません。
11月 26

1Password(Win版)がキーロガーに耐性があるか確認してみましたよ。

マルウェア「Citadel」に特定のパスワード管理ソフトのプロセスを検知するとキー入力を取得するという機能が追加されたという報道がありました。この狙いは、パスワード管理ソフトの要である「マスターパスワード」を盗み取るためでしょう。
マスターパスワードとは、登録されているすべてのパスワードにアクセスするための最も大切なパスワードです。例えるなら守衛室にあるような色々な部屋の鍵が入れてあるロッカーの鍵だと思っていただければいいかと思います。
パスワード管理ソフトでは登録されているすべてのパスワードをまとめたファイル(以下、パスワードデータ)は、このマスターパスワードで暗号化されています。そのため、仮にマルウェアに感染していて、最悪、パスワードデータを盗み出せたとしてもマスターパスワードが分からない限り中身を見ることができないわけです。しかし、前述したようにこのマスターパスワードを盗むために追加されたと思われる機能により、マルウェアに感染することでその理屈が通用しない状態となったわけです。
(パスワード管理ソフトの種別としては大きく分けて、パスワードデータがパスワード管理ソフトのインストールされているコンピュータに保存しているものと、クラウド上に保存する2つのタイプがあります。今回は前者のタイプへの確認です。)

パスワード管理ソフトにお世話になっているボクとしてはかなりの脅威です。

ということで今回はメインで使用しているパスワード管理ソフト「1Password」のWindows版においてマスターパスワード入力時にキーロガーから保護することが可能かどうかの確認を自作のキーロガーソフトで確認してみました。(入力文字列はテスト用です。)

1Passwordを起動し下図のように入力を行うと入力した文字列をキーロガーで取得することに成功し表示されました。
keylogtest01

しかし、下図のように「Unlock on Secure Desktop」ボタンで表示される入力ボックスに入力をした場合には入力した文字列はキーロガーでは取得できず表示されませんでした。
keylogtest02

残念ながらブラウザの拡張では「Unlock on Secure Desktop」ボタンがないためこの機能を使うことはできませんでした。(Chrome, Firefoxで確認)
keylogtest04

ブラウザの拡張ではなく、アプリの「Unlock on Secure Desktop」からマスターパスワードを入力し、ロックを解除しておけば設定されている時間内はブラウザの拡張もアンロック状態になりますので、その順でロックを解除するという運用は可能です。

ボクの作ったキーロガーで盗めないからといって、他のキーロガーで盗めないとは限りません。
もし、このあたりに詳し方がいらっしゃいましたらTwitterなどでこっそり教えていただけると嬉しいです。

Category: memo | 1Password(Win版)がキーロガーに耐性があるか確認してみましたよ。 はコメントを受け付けていません。
11月 17

Windows OLEの脆弱性によりリモートより任意のコードが実行される脆弱性(MS14-064)(CVE-2014-6332, CVE-2014-6352 )に関する調査レポート



【概要】
Windows OLE*に複数の脆弱性があるため、リモートより任意のコードが実行される脆弱性が発見されました。

*OLE(Object Linking and Embedding):
複数のデータや機能が含まれた複合データを、一つのアプリケーションで編集を可能とするテクノロジです。例えば、これによりWordに埋め込まれたExcelスプレッドシートをExcelを起動せずに、Word上で編集することが可能となります。

上記の脆弱性により、2種類の脆弱性(CVE-2014-6332とCVE2014-6352)が公開されています。

・CVE-2014-6332について
Windows OLEのOleAut32.dllライブラリがSAFEARRAY オブジェクトのサイズのエラーを検証する際の処理に不具合があるため、Internet Explorer Enhanced Protected Mode (EPM) サンドボックスや Enhanced Mitigation Experience Toolkit (EMET) をバイパスすることが可能です。このため、攻撃者はVBScriptを使用して細工したWebページに、攻撃対象者を誘導することにより、攻撃対象者のInternet Explorerを実行している権限を奪うことが可能となります。

・CVE-2014-6352について
攻撃者は、細工したOLEオブジェクトを含むOfficeファイルを作成し、そのファイルが含まれるサイトに攻撃対象者を誘導しファイルを開かせたり、電子メールにファイルを添付して送信し攻撃対象者に開かせる等の行為により、攻撃対象者がファイルを開いた際の実行権限にて任意のコードを実行することが可能です。

今回、Microsoftが提供している更新プログラム(MS14-064)の修正対象となっている、二つの脆弱性(CVE-2014-6332とCVE-2014-6352)について検証を行いました。



【影響を受ける可能性があるシステム】
・CVE-2014-6332
 - Windows Server 2003 Service Pack 2
 - Windows Server 2003 x 64 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
 - Windows Server 2008 for 32-bit Systems Service Pack 2(Server Core インストール)
 - Windows Server 2008 for x64-based Systems Service Pack 2(Server Core インストール)
 - Windows Server 2008 R2 for x64-based Systems Service Pack 1(Server Core インストール)
 - Windows Server 2012(Server Core インストール)
 - Windows Server 2012 R2(Server Core インストール)

・CVE-2014-6352
 - 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社より、この脆弱性を修正する更新プログラム(MS14-064)がリリースされています。
当該脆弱性を修正する更新プログラムを適用していただくことを推奨いたします。

CVE-2014-6332の脆弱性については、回避策は確認されておりません。上記の更新プログラム(MS14-064)の適用を推奨します。

CVE-2014-6352の脆弱性については、更新プログラムを適用しない場合の回避策として、以下の方法が提案されています。
・Fix it を導入する
・ユーザアカウント制御(UAC)を有効にする
・EMET5.0のAttack Surface Reduction 機能を使用する

【参考サイト】
 - Windows OLE の脆弱性により、リモートでコードが実行される (3011443)

・CVE-2014-6332
 - JVNVU#96617862 Microsoft Windows OLE ライブラリに任意のコード実行が可能な脆弱性
 - 複数の Microsoft 製品の OLE における任意のコードを実行される脆弱性
 - CVE-2014-6332

・CVE-2014-6352
 - マイクロソフト セキュリティ アドバイザリ 3010060 Microsoft OLE の脆弱性により、リモートでコードが実行される
 - 2014年10月 Microsoft OLE の未修正の脆弱性に関する注意喚起
 - 更新:Microsoft Windows の脆弱性対策について(CVE-2014-6352)
 - CVE-2014-6352

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

【検証ターゲットシステム】(CVE-2014-6332)
Windows 7 Enterprise SP1 日本語版
Internet Explorer10 日本語版

【検証イメージ】(CVE-2014-6332)
CVE2014-6332_kensho








【検証結果】(CVE-2014-6332)
攻撃者が用意したWebサイトに、攻撃ターゲットPCからInterneExplorer使い、アクセスします。
下図の様に、Internet Explorer セキュリティのダイアログが表示されますが「許可する」ボタンを押すと、脆弱性コードが攻撃ターゲットPCにて実行されます。

CVE2014-6331_kekka01











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

CVE2014-6331_kekka03















【検証概要】(CVE-2014-6352)
脆弱性が存在するシステムに添付ファイル付き電子メールを送信する等をして、細工を施したPowePointファイルをターゲットPCにて開きます。ターゲットPCは意図せず、攻撃者が用意した制御の誘導先ホストの指定ポートにコネクトバックするマルウェアをインストール・実行し、リモートからターゲットPCの制御が可能となります。

【検証ターゲットシステム】(CVE-2014-6352)
Windows 7 Enterprise SP1 日本語版
Office Professional Plus 2013 日本語版

【検証イメージ】(CVE-2014-6352)

CVE2014-6352_image01










【検証結果】(CVE-2014-6352)
下図は、ターゲットPC(Windows7)にて、細工したOLEオブジェクトを含むOfficeファイル(PowerPoint)ファイルを、ターゲットPC(Windows7)にて開いた時に出るダイアログです。Officeファイル(PowerPoint)ファイルを開くと、マルウェア(mal-CVE2014-6352.exe)の挙動を検知し、ユーザーアカウント制御のダイアログが表示されますが、「はい」を選択し、実行を許可すると、あらかじめ設定された任意のサーバのポートにコネクトバックします。

CVE2014-6352_kekka01










11/17追記:ターゲットPCにPythonがインストールされている場合は、この制限も回避が可能であることを確認しております。
(今回の検証対象の、Windows 7 Enterprise SP1 日本語版 , Office Professional Plus 2013 日本語版 にて確認済)

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

CVE2014-6352_kekka02















Category: exploit | Windows OLEの脆弱性によりリモートより任意のコードが実行される脆弱性(MS14-064)(CVE-2014-6332, CVE-2014-6352 )に関する調査レポート はコメントを受け付けていません。
10月 30

GNU Wgetの再帰的なダウンロード時の不具合により、任意のローカルファイルが操作される脆弱性(CVE-2014-4877)に関する検証レポート

【概要】
リモートのファイル取得を行うツールGNU Wget(以下、Wget)に、任意のファイルの作成や上書きなどの操作が実行される脆弱性(CVE-2014-4877)が発見されました。これは、Wgetが再帰的にファイルをダウンロードした際の、シンボリックリンクファイルの処理に不具合が存在するためです。

これにより、攻撃者は細工したシンボリックリンクファイルをターゲットPCにダウンロードさせることにより、任意のファイルの作成や上書きが実行可能となります。
今回、Wgetの再帰的にダウンロードする機能の不具合により、任意のファイルの作成や上書きが実行される脆弱性(CVE-2014-4877)の再現性について検証を行いました。

【影響を受ける可能性があるシステム】
– GNU Wget 1.16未満のバージョン

【対策案】
GNU Wget プロジェクトよりこの脆弱性を修正するプログラムがリリースされています。当該脆弱性への対応を含む最新バージョンへとバージョンアップしていただくことを推奨します。
回避策としては、ローカル側にシンボリックリンクを作成しない設定項目であるretr_symlinksオプションを有効にするという方法があります。

【参考サイト】
GNU Wget – ニュース: GNU wget 1.16 released [Savannah]
CVE-2014-4877
JVNVU#98581917: GNU Wget にシンボリックリンクの扱いに関する問題

【検証概要】
ターゲットPCより管理者権限にて脆弱性の存在するWgetコマンドを実行し、攻撃者が設置したFTPサーバへ接続します。攻撃者が細工したファイルがWgetを実行した権限にて、任意の場所にダウンロードされます。
今回の検証では、攻撃者側サーバの任意のポートにコネクトバックさせる様に細工したファイルを用意しました。ターゲットPCがこれをWgetコマンドにてダウンロードした結果、管理者権限のシェルを奪取できました。これによりリモートからターゲットPCのシステムの完全なアクセスが可能となります。

【検証ターゲットシステム】
Ubuntu Linux 14.04 LTS
Wget 1.15

【検証イメージ】
wget-gai01

 
 

 
 
 

【検証結果】
下図は、ターゲットPCから、攻撃者が設置したFTPサーバへアクセスしている画面です。
赤線の部分でファイルのダウンロードを実行しています。
wget_download02

 
 
 

 
 

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

shell_get002

 
 

 
 
 
 
 
 

 
reported by nao323, ntsuji

Category: exploit | GNU Wgetの再帰的なダウンロード時の不具合により、任意のローカルファイルが操作される脆弱性(CVE-2014-4877)に関する検証レポート はコメントを受け付けていません。
10月 22

Microsoft Windows のOLEオブジェクトが含まれるOfficeファイルの不具合により、リモートより任意のコードが実行される脆弱性(CVE-2014-4114)に関する検証レポート

【概要】
Microsoft Windowsに、OLEオブジェクト*が含まれるOfficeファイル(以下、OLEファイル)を開いた際に、リモートより任意のコードが実行される脆弱性(CVE-2014-4114)が発見されました。

*OLE(Object Linking and Embedding):
複数のデータや機能が含まれた複合データを、一つのアプリケーションで編集を可能とするテクノロジです。例えば、これによりWordに埋め込まれたExcelスプレッドシートをExcelを起動せずに、Word上で編集することが可能となります。

OLEは通常、内部に保存されているコンテンツを埋め込むために使用されるテクノロジですが、この脆弱性を利用し、細工したOLEファイルを攻撃対象に開かせることにより、外部に存在するファイルをダウンロードしてインストールさせ、そのファイルを開いたときのユーザー権限にて任意のコードが実行可能です。ファイルを開いたユーザが管理者権限であれば、システムの完全な掌握が可能となります。
攻撃者は、細工したOLEファイルが含まれるWebサイトに、攻撃対象ユーザーを誘導し、そのファイルを開かせたり、細工したOLEファイルを添付した電子メールを送信し、攻撃対象ユーザーにファイルを開かせることにより、この脆弱性を利用した攻撃が可能となります。
現時点において、脆弱性の利用にはPowerPointファイル形式のものが報告されていますが、今後その脆弱性の性質から他のOfficeアプリケーション(WordやExcel等)ファイルが攻撃に利用される可能性があります。

実際の悪用シナリオや検体については、@piyokangoさんのブログがまとめてくださっておりますので参照いただくことを推奨いたします。

今回、Microsoft Windows のOLEオブジェクトが含まれるOfficeファイルの不具合により、リモートより任意のコードが実行される脆弱性(CVE-2014-4114)の再現性について検証を行いました。

【影響を受ける可能性があるシステム】
-Windows Vista Service Pack 2
-Windows Vista x64 Edition Service Pack 2
-Windows Server 2008 for 32-bit Systems Service Pack2
-Windows Server 2008 for x64-based Systems ServicePack 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社より、この脆弱性を修正する更新プログラム(MS14-060)がリリースされています。
当該脆弱性を修正する更新プログラムを適用していただくことを推奨いたします。
また、更新プログラムを適用しない場合の回避策として、以下の方法が提案されています。
・WebClientサービスを無効化する
・TCP 139/445ポートを遮断する
・セットアップ情報ファイル(.inf)経由での実行ファイルの起動機能の停止

【参考サイト】
マイクロソフト セキュリティ情報 MS14-060 – 重要
CVE-2014-4114
Windows のゼロデイ脆弱性を悪用した Sandworm による標的型攻撃 | Symantec Connect
iSIGHT discovers zero-day vulnerability CVE-2014-4114 used in Russian cyber-espionage campaign – iSIGHT Partners (英文)

【検証イメージ】
OLE_image2

 
 
 
 
 
 
 
 

 
 
 

【検証ターゲットシステム】
Windows 7 Enterprise SP1 日本語版
Office Professional Plus 2013 日本語版

【検証概要】
脆弱性が存在するシステムに添付ファイル付き電子メールを送信する等をして、細工を施したPowePointファイルをターゲットPCにて開きます。ターゲットPCは意図せず、任意のサーバのポートにコネクトバックするマルウェアをインストール・実行し、リモートからターゲットPCの制御が可能となります。

【検証結果】
下図は、ターゲットPC(Windows7)のデスクトップ画面です。
細工したOLEオブジェクトを含むOfficeファイル(PowerPoint)ファイルを、ターゲットPC(Windows7)にて開きます。その際、ターゲットPC(Windows7)から参照可能なリモートのネットワーク上の共有フォルダに、xxx.gifとxxx.infを配置しておきます。Officeファイル(PowerPoint)ファイルを開くと、xxx.gif(画像ファイル)になりすましたマルウェア(xxx.exe)が実行され、あらかじめ設定された任意のサーバのポートにコネクトバックします。
desktop2

 
 
 

 
 
 

 
 
 

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

 
 
 

 
 
 

 
 
 

 
 

 
 
 

 
reported by nao323, ntsuji

Category: exploit | Microsoft Windows のOLEオブジェクトが含まれるOfficeファイルの不具合により、リモートより任意のコードが実行される脆弱性(CVE-2014-4114)に関する検証レポート はコメントを受け付けていません。
9月 25

GNU Bashの環境変数処理の不備により任意のコードが実行される脆弱性(CVE-2014-6271,CVE-2014-7169)に関する検証レポート

【概要】
GNU Bash(以下、単にBash)にリモートより任意のコードが実行される脆弱性が発見されました。一連の脆弱性の愛称?は「Bashbug」または「Shellshock」のようです。

本脆弱性は、Bashの環境変数に関数を設定し同一の環境変数内に任意のコードを設定することで発生します。
攻撃者は、細工した環境変数を設定することにより、Bashを経由した環境で任意のコードが実行可能となります。

Bashを経由した環境での脆弱性の利用方法は、以下のような場合があります。
– ApacheなどWebサーバ上でCGIをBashから実行している場合にWebサーバの実行権限で任意のコードを実行
– DHCPサーバで環境変数に任意のコードを埋め込みDHCPクライアントに対してBashを経由して任意のコードを実行
– sshのForceCommand設定なでで使用可能なコマンドを制限している環境でログインユーザー権限で任意のコマンドを実行

このほかの例として、以下のURLでRedhat社の製品で影響を受ける環境の例が掲載されています。
Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169)

今回、この脆弱性(CVE-2014-6271,CVE-2014-7169)について検証を行いました。

【影響を受ける可能性があるシステム】
CVE-2014-7169
– Bash 4.3 Patch 25 およびそれ以前
– Bash 4.2 Patch 48 およびそれ以前
– Bash 4.1 Patch 12 およびそれ以前
– Bash 4.0 Patch 39 およびそれ以前
– Bash 3.2 Patch 52 およびそれ以前
– Bash 3.1 Patch 18 およびそれ以前
– Bash 3.0 Patch 17 およびそれ以前

CVE-2014-6271
– Bash 4.3 Patch 25 以前
– Bash 4.2 Patch 48 以前
– Bash 4.1 Patch 12 以前
– Bash 4.0 Patch 39 以前
– Bash 3.2 Patch 52 以前
– Bash 3.1 Patch 18 以前
– Bash 3.0 Patch 17 以前

なお、ディストリビュータごとに影響を受けるバージョンが異なります。詳細は各ディストリビュータの脆弱性情報を参照ください。また、LinuxなどのOSをベースとしたネットワーク機器を含めた専用機器においても関連する脆弱性情報が発表されています。使用されている各機器のセキュリティ情報を収集されることを推奨いたします。

すでに、CiscoやF5のような利用者が多いと考えられる機器について各ベンダーから情報が公開されています。
GNU Bash Environmental Variable Command Injection Vulnerability
SOL15629: GNU Bash vulnerabilities CVE-2014-6271 and CVE-2014-7169

【対策案】
CVE-2014-6271については以下のバージョンで修正されています。
– Bash 4.3 Patch 25
– Bash 4.2 Patch 48
– Bash 4.1 Patch 12
– Bash 4.0 Patch 39
– Bash 3.2 Patch 52
– Bash 3.1 Patch 18
– Bash 3.0 Patch 17

CVE-2014-7169については、本レポート作成時点(2014年9月26日)において修正されておりません。各ディストリビュータによって独自のパッチを提供しています。詳細は@piyokangoさんのブログがまとめてくださっておりますので参照いただくことを推奨いたします。

回避策については、【概要】で紹介したRedhat社のページのように
– mod_securityによる回避
– iptablesによる回避
などの方法が考えられます。

【参考サイト】
CVE-2014-6271
CVE-2014-7169
JPCERT/CC Alert 2014-09-25 GNU bash の脆弱性に関する注意喚起
bash の脆弱性対策について(CVE-2014-6271 等)
bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた

【検証イメージ】
shellshock

【検証ターゲットシステム】
– Cent0S 7 + Apache 2.4.61 + GNU bash, バージョン 4.2.45(1)-release-(x86_64-redhat-linux-gnu)
– Ubuntu Server 14.04.1 LTS
– Bash 4.3-7ubuntu1
– Apache 2.4.7-1ubuntu4.1

【検証概要】
脆弱性の存在するターゲットシステムに、攻撃者が実行したいコードを含めたHTTPリクエストを送ります。ターゲットシステム上ではコードが実行され、攻撃者に応答を返します。
これにより、リモートからターゲットPCの操作が可能となります。

【検証結果】
下図は実際にCGIを経由してコードを実行した画面です。黄色で囲まれた部分はUser-Agentに実行コードを埋め込んていることを示しています。赤色で囲まれた部分は実行結果を示しています。これにより、ターゲット上で任意のコードを実行することに成功しました。
CVE-2014-6271

【2014/09/28 oda 追記】
なお、上記のUbuntu上で実行しているテスト用のCGIは「#!/bin/bash」としてbashを明示的にbashを呼び出して実行しています。Ubuntu上のCGIで「#!/bin/sh」としてshを呼び出している場合は、通常dashへlinkされているため本脆弱性の影響を受けません。

【2014/09/28 ntsuji 追記】
以下のようにhttp経由で細工を施したブラウザでアクセスすることでWebサーバの権限を奪取することに成功しました。
これによりリモートから特定の権限で任意のコマンドが実行可能な状態になったと言えます。
gotshell_http

また、細工したDHCPサーバを設置し、そのサーバにDHCPリクエストを行ってきたCentOSの制御を奪うことにも成功しました。奪取できる権限はDHCPリクエストを行った際の権限に依存します。
gotshell_dhcp_full_edited

reported by oda, ntsuji

Category: exploit | GNU Bashの環境変数処理の不備により任意のコードが実行される脆弱性(CVE-2014-6271,CVE-2014-7169)に関する検証レポート はコメントを受け付けていません。
9月 24

「STOP!! パスワード使い回し!!」について考えました。

JPCERT/CCとIPAが「STOP!! パスワード使い回し!!」というキャンペーンを開始しました。

JPCERT/CCのプレス
IPAのプレス

JPCERT/CCが
「STOP!パスワード使い回し!」キャンペーンにご賛同頂ける企業の募集
を出しているところを見るとJPCERT/CC主導のキャンペーンなのでしょうか。

複数のサイトでパスワードの使い回しがあり、その現状に狙いを定めてリスト型攻撃が多く発生し、不正ログインの被害に遭っている方が増えていることを考えるとこのようなキャンペーンを行うことはとてもいいことだと思います。しかし、一方でボクはこのキャンペーンに薄らと違和感を覚えていました。その違和感というのはこの不正ログインを防止する上でどのような対策を誰が行うのかということとこのキャンペーンを照らし合わせたときに不十分に感じたからです。

「不正ログインを防止する」ということをボクは交通安全を実現し人命を救うことに例えることがよくあります。
サービス提供側は車の製造メーカー。ユーザはドライバーです。
エアバッグや衝突被害軽減ブレーキなど安全に配慮した機能を実装するのは車の製造メーカーです。
その車を適正に利用し、危険な運転を行わないようにするのはドライバーです。
この両方が満たされることが交通安全、人命を救うことに繋がると考えています。つまり、どちらか一方が欠けてもいけないということです。この例えからすると、サービス提供側は、強固なパスワードを設定することが可能となる実装するなどといったユーザを最大限に保護する機能を提供し、ユーザは強固なパスワードを設定し、使い回しをしない。ということで「不正ログインを防止する」ということが実現できると考えています。もちろん、それぞれは義務ではありませんので強制することはできず、一定の自由があるとも考えています。いずれにせよ、「不正ログインを防止する」にはサービス提供側とそのユーザそれぞれが努力する必要があると思います。

今回のキャンペーンを見てみるとユーザにしか努力しようがない「パスワードの使い回し」にフォーカスされています。不正ログインに対抗するためには「パスワードの使い回し」だけではなく、推測可能な「弱いパスワード」もSTOPさせる必要があると考えています。今回のキャンペーン対してはいくつかの賛同企業があり、それによって多くの方に「パスワードの使い回し」をやめてもらうための情報発信をすることはとても価値のあることだと思いますが、不正ログインそのものに対抗するためには、その賛同企業にも努力の余地があるのではないだろうか。と考えました。そこで賛同企業の提供サービスの一部ではありますがどのようなユーザを保護する機能を実装しているのかということを調査してみました。調査の結果は以下の通りです。(ボク自身が登録していなかったサービスが多数あったため今回登録して調査をしてみたのですが誤りやお気づきの点があればこっそり教えていただければ幸いです。修正いたします。)

社名 サービス名 長さ 文字種 二要素 ユーザ名 [pasw0rd]を設定
Gunho ガンホーID 8~16 *1 半角英数 独自ID  可
Hoikuu 保育のひろば WordPre *2 WordPre *2 WordPre *2  WordPre *2
CyberAgent アメーバID 6~12 半角英数 *3 独自ID  可
dowango niconico 6~32 半角英数 メールアドレス
電話番号
 可
ナナロク 個人向けなし?
mixi mixi 6~ *4 半角英数記号 メールアドレス  不可
Yahoo!JAPAN Yahoo!JAPAN ID 6~32 半角英数記号 ユーザID *5  不可
楽天 楽天会員 6~ *6 *7 半角英数 メールアドレス *12  可
DeNA DeNA ID 8~20 半角英数記号 メールアドレス  可
GMOグループ GMOとくとくID 6~16 半角英数 メールアドレス  可
DMM.com
DMM.comラボ
DMM.com 4~16 半角英数 メールアドレス
独自ID
どちらも可
 可
セブン&アイ・ネットメディア セブンネット 6~12 半角英数記号 メールアドレス
独自ID *8
 可
グリー GREE 6~20 半角英数記号 メールアドレス  可
ジャックス インターコム
クラブ
6~8 半角英数 非会員の為
確認できず
検索した限り「無」?
独自ID 非会員の為
確認できず
ソースネクスト マイページ 6~16 半角英数記号 メールアドレス
自動で割振
12桁の独自ID
どちらも可
 可
ネット・コミュニケーションズ フレーバー
ネット
4~10 半角英数 メールアドレス  可
ビッグローブ マイページ 8~16 半角英数記号
(一部使えない記号有)
メールアドレス
独自ID
(自動割振)
どちらでも可
 不可
ポケットカード 会員専用
ネットサービス
5~10 *9 半角英数
及び「-」「_」 *10
非会員の為
確認できず
検索した限り「無」? *11
独自ID(自動割振) 非会員の為
確認できず
リクルートホールディングス リクルートID 6~20 半角英数記号 メールアドレス  可

*1 同じ文字が4文字以上連続、数字のみ、英字のみ不可
*2 WordPre利用と考えられるため不明
*3 数字のみIDに含まれる文字列は使用不可
*4 33文字でも設定できた
*5 シークレットID利用可
*6 33文字でも設定できた
*7 ユーザIDと同一は不可
*8 独自IDを登録した場合、独自IDでのみログイン可能
*9 少なくともアルファベット1文字以上を含ませる必要あり
*10 大文字小文字の区別なし
*11 ログイン時にはCAPTCHA有
*12 任意の独自IDに変更可能

記号が使えないサービスや設定できる文字数が長くないもの、辞書攻撃に耐性が弱そうなパスワードを設定可能なサービスが見受けられます。だから、ダメだとはならないと思うのですが、今回の「STOP!! パスワード使い回し!!」を継続しつつ。今後は「STOP!! 弱いパスワード!!」キャンペーンといったサービス提供側とそのユーザが一丸となって不正ログインに立ち向かうようなキャンペーンが実施されればいいな。と思いました。

度々、穴となる「秘密の質問」もSTOPしてくれると嬉しいですね。

2015年08月24日
楽天で利用できるユーザ名について注釈を追記しました。

2015年08月23日
「DMM.com、 DMM.comラボ」「セブン&アイ・ネットメディア」
「グリー」「ジャックス」「ソースネクスト」
「ネット・コミュニケーションズ」「ビッグローブ」
「ポケットカード」「リクルートホールディングス」
のサービスについて追記しました。

Category: memo | 「STOP!! パスワード使い回し!!」について考えました。 はコメントを受け付けていません。