診断員見習いのセキュログ

自分用のメモとかWrite-up

#9 Digest is secure!

問題

ksnctf.sweetduet.info

pcapファイルが渡されるだけ。
問題名からして、パケットファイルを解析してDigest認証を突破しろという問題だと予想。

解法

pcapを見ると、まず ctfq.sweetduet.info:10080/~q9/ にアクセスしていることが分かる。
その際のリクエストではDigest認証を行っており、レスポンスでは <p>The flag is <a href="flag.html">here</a>.</p> という文章が書いてあった。
どうやら /~q9/flag.html にアクセスすることがゴールらしい。しかし、このサイトにアクセスするにはDigest認証を通過する必要がある。

ここでDigest認証について勉強 → Digest認証 - Wikipedia

Digest認証

Digest認証とは、パスワード等の情報をMD5でハッシュ化して送信することで、Basic認証よりも少しだけセキュアになった認証方式らしい。
ちなみに、#8の問題はBasic認証を扱っていて、盗聴に弱いことが分かる。

swime.hatenablog.jp

それで、Digest認証のアルゴリズムは以下の通り。

A1 = ユーザ名 ":" realm ":" パスワード
A2 = HTTPのメソッド ":" コンテンツのURI
response = MD5( MD5(A1) ":" nonce ":" nc ":" cnonce ":" qop ":" MD5(A2) )

A1とA2を作成し、それぞれハッシュ化する。その後、ハッシュ化したA1, A2とnonce等の値を用いてresponseを作成する。
このresponseの値が正しければ認証成功になるらしい。

解法の続き

ここで問題の方に戻る。
パケットを見てみると、実はパスワード以外の情報が分かっている。

f:id:swime:20180819180715j:plain

username = q9
realm = secret
となっており、nonce, nc, cnonce, qop はアクセスする際にサーバから教えられるので知っていなくても大丈夫。
また、今回の場合、A2はGET:/~q9/flag.htmlとなる。

しかし、このままではパスワードが分からないのでA1を作成できない・・・と思いきや、pcapファイル内の/~q9/htdigestにアクセスした際の通信データにヒントがあった。
このサイトにアクセスした際のレスポンスに、q9:secret:c627e19450db746b739f41b64097d449と記述されていた。
どうやらc627e19450db746b739f41b64097d449がA1の値になると考えられる。(さすがにパスワードがこんなに長いとは思わないし…)
よく調べていないが、htdigestというLinuxのコマンドや、digest認証用の.htdigestファイルがあるみたいで、それと関係があると思う。

さて、これで必要な情報が揃ったので、あとはFiddler等を使って認証を突破するだけ。
まずはブラウザでflag.htmlにアクセスし、401エラーが返ってくる。
そのレスポンス内にnonce等の情報がある。

f:id:swime:20180819183501j:plain

それらを利用してresponse値を計算し、認証情報を含めたリクエストを作成する。

f:id:swime:20180819183528j:plain

これで認証に成功してflag.htmlにアクセスでき、FLAGをゲットできる。

感想

まさかパスワードを知らなくても認証を突破できるとは思わなかったな…。
実際はA1の値を取得するのは簡単ではないと思うので、ここまでアッサリと不正に認証が通ることはないと思うけど、Digest認証が完全に安全だとは言えないね…(そもそも使ってるハッシュ関数MD5だし)
いやー面白かったし勉強になった!

『鴨川ホルモー』聖地巡りの旅

3泊4日で京都に行ってきました!(観光したのは実質2日間)
旅行の目的は、映画化もされた小説『鴨川ホルモー』とそのサイドストーリーの『ホルモー六景』で舞台となった場所を巡ること!いわゆる聖地巡りなんだけど、結果的にパワースポット巡りになったかも(笑)

最初にイラストで描かれた聖地だけ紹介します!!
まずは八坂神社前の横断歩道!
f:id:swime:20180309164935j:plainf:id:swime:20180309164950j:plain

そして一番行きたかった鴨川デルタ!!!
f:id:swime:20180309165022j:plainf:id:swime:20180309165037j:plain

最後にホルモー六景の八坂神社!
f:id:swime:20180309165124j:plainf:id:swime:20180309165140j:plain

もうこれだけでも満足(*´Д`)笑
では、ストーリー順に巡った場所を紹介していきます!!

鴨川ホルモー

京都大学

まずは主人公の安倍が所属する京都大学
f:id:swime:20180309142805j:plain
京大の周辺は異様な雰囲気だったけど、敷地は広いし中はキレイで設備も整ってそうで羨ましい…
ただ、テレビで見るように寮や部室がボロボロだったのは驚いた(笑)

葵祭

物語の冒頭で葵祭が行われている京都御所建礼門・下鴨神社上賀茂神社
f:id:swime:20180309143959j:plain
f:id:swime:20180309144046j:plain
f:id:swime:20180309144227j:plain
安倍が高村や菅原と出会ったのが上賀茂神社
それと、2年目の葵祭では、葵祭路頭の儀でオニたちも行列に加わってる('ω')

宵山協定

物語は進んで、安倍らが京大青竜会に入部し7月16日の祇園祭宵山を迎える。
まずは主人公たちの集合場所の四条河原(この辺?)
f:id:swime:20180309150131j:plain
ここで宵山協定が解除される。
宵山協定とは、新入生にホルモーに関する情報を漏らしてはいけないこと。

そして四条烏丸交差点の会!
f:id:swime:20180309150624j:plain
こんな都市部にある交差点だとは思わなかった!
そりゃあこんな所で”四条烏丸交差点の会”が行われるとビックリするよな(笑)

吉田代替りの儀

そして安倍らがオニ語の特訓を行い続けて・・・3月!
吉田神社で吉田代替りの儀(裸で歌って踊る)が行われる。
f:id:swime:20180309151355j:plain
普通に格式が高そうな神社で、映画版では本当に素っ裸でやるとはなぁ~(笑)
ちなみに四神石についての看板も見つけた('ω')
f:id:swime:20180309151439j:plain

処女ホルモー

ついに鴨川ホルモー開始!
まずは京大青竜会 vs 立命大白虎隊の”衣笠ホルモー”
場所は立命館大学衣笠キャンパス
f:id:swime:20180309152120j:plain
ここで高村が「ホルモオオオォォォーッゥ」と叫んだのか(笑)

続いて京大青竜会 vs 京産大玄武組の”京都府立植物園ホルモー”
f:id:swime:20180309152530j:plain
入場料がかかるから入口だけ…しかも裏入口
正面入口まで行くのが面倒くさかった
ちなみに京大が勝つが、勝因は京産大の”二人静”が”夢想花アタッキング”を発動しなかったため(´艸`)

京大青竜会ブルース

物忌みが終わった安倍は”第十七条”を発議するために京大青竜会ブルースを結成する!
結成場所は映画にも出てきた喫茶店『ZACO』
f:id:swime:20180309153509j:plain
京大のすぐ近くにあったんだけど、長期休業してたー(T_T)

鴨川十七条ホルモー

そして鴨川十七条ホルモーが始まる…
まずは京大青竜会ブルース vs 京産大玄武組那智黒の”糺の森ホルモー”
f:id:swime:20180309154455j:plain
ここで楠木ふみが覚醒(ФωФ)

続いて京大青竜会ブルース vs 龍大フェニックス歎異抄の”三十三間堂前”
場所は蓮華王院三十三間堂
f:id:swime:20180309155054j:plain
こんな所でホルモーやったのかと思った(笑)
特に何の情報も知らずに行ったんだけど、一千一体の千手観音は圧巻だった…。

そして決勝戦
京大青竜会ブルース vs 京大青竜会神選組の"吉田ホルモー"
場所は京大の吉田キャンパスグラウンド
f:id:swime:20180309155750j:plain
野球部が練習してたから遠目に…笑

以上が本編で巡った場所でした!
あと、映画版のロケ地もちょこっとだけ行ってみました-

映画版(オマケ)

安倍らがオニ語を練習してたところ?(目的地ではなかったけど、偶然見つけた)
f:id:swime:20180309160752j:plain

安倍と芦屋が戦った場所、南禅寺境内の琵琶湖疎水
f:id:swime:20180309160853j:plain

たぶん安倍と楠木が共闘して芦屋と戦ったところ、南禅寺
f:id:swime:20180309161341j:plainf:id:swime:20180309161402j:plain

ホルモー六景

続いてホルモー六景のスポットも巡ってまいりましたー!

鴨川(小)ホルモー

定子と彰子が決闘を行い、最後に和解した場所の四条大橋
f:id:swime:20180309161646j:plain
こんな人通りが多いところで二人揃って「ホルモオオオォォォーッゥ」と叫んだのか…(笑)
ちなみに芦屋の元カノである山吹巴はこの雄叫びを聞いている('ω')

ローマ風の休日

楠木と高校生の聡司がデート中に行った六道珍皇寺
f:id:swime:20180309162703j:plain
閻魔大王も見てきました('ω')

そしてこれが手を突っ込んだ井戸
f:id:swime:20180309162753j:plain
楠木たちは立ち入り禁止の場所に入っていったんですなー笑

最後にアイスを食べた八坂神社の楼門前の階段
f:id:swime:20180309163132j:plain
人多すぎ…。
ちなみにこの八坂神社って本編ではあまり出てきてないけど、ホルモーでは重要な場所らしい(べろべろばあの店長が告げに行ったりしてる)

同志社大学黄竜

本編では出てこなかった第5勢力の黄竜陣が復活する上御霊神社
f:id:swime:20180309163439j:plain

応仁の乱発端の地らしい
f:id:swime:20180309163653j:plain

長持の恋

高村の恋人になる珠美(おたま)が恋をした安土桃山時代の柏原大鍋(なべ丸)が本能寺の変に巻き込まれる
f:id:swime:20180309164020j:plain
大鍋と、その弟の小鍋の名前もきちんとあるよ!!!
f:id:swime:20180309164157j:plain
f:id:swime:20180309164113j:plain
f:id:swime:20180309164133j:plain

以上がホルモー六景で巡った場所でした~
実は楠木のバイト先であるイタリア料理店の『ann's cafe』も探したんだけど、見つけられなかった…
調べてもなかったから、もう無くなっているのか、そもそも実在していなかったのかなぁー…

最後にオマケで行ったところ!

その他

最強の陰陽師こと安倍晴明が祀られてる晴明神社
f:id:swime:20180309164418j:plain

式神もいた!
f:id:swime:20180309164511j:plain

よく出てくる百万遍交差点
京大の目の前だったのね('Д')
f:id:swime:20180309164729j:plain


以上がホルモー聖地巡りの旅でした!
鴨川ホルモーを読んだことが無い人は是非読んでみて欲しい!読めばきっと京都に行きたくなるはず(。-`ω-)

簡単にWebサイトの悪性チェックができるツール一覧

普段自分が使っているWebサイトの悪性チェックツールを紹介します。
基本的に全て無料で、使い方はURLを入力するだけなので、セキュリティ知識が無い方にも是非活用して欲しいです!
※注意!簡単なチェックをするだけなので、巧妙に攻撃が仕掛けられているWebサイトは検出できない可能性が高いです

ちなみに自分はaguseとurlQueryを主に使っています。

aguse

www.aguse.jp日本の企業が運営しているサービス
Webサイトの表示画面を見たいときにオススメ

f:id:swime:20180108163639j:plain
Webサイトのスクショ、カスペルスキーによるマルウェアチェック、ブラックリストチェック、リンク情報などを提示してくれます。

特徴

aguseゲートウェイという機能によって、実際にアクセスしなくてもWebサイトがどのように表示されるか見ることができます。
f:id:swime:20180108164222j:plain
このような感じで、リンクをクリックするとそのWebサイトも見れます!

VirusTotal

www.virustotal.comセキュリティ業界では有名なツール(知らない人はいないのでは…?)
簡単に調べたいときにオススメ!ただし、精度は良くないです。

f:id:swime:20180108164740j:plain
基本的にはexe形式などのマルウェアを解析してくれるサービスですが、実はWebサイトチェックもしてくれます。
数十種類のアンチウイルスソフトによる悪性チェックの結果を提示してくれます。

特徴

アンチウイルスソフトによる検出率と、ユーザによる投票数によって悪性か良性かぱっと見で分かるようになっています。

urlQuery

urlquery.net少し専門知識がある人向け
詳しく調べたいときにオススメ!

f:id:swime:20180108171727j:plain
一般の人は見ても分からないかも…。
ブラックリストとの照合結果、同IPやドメイン名の情報、JavaScript、HTTP通信内容など、詳細な調査結果を提示してくれます。
ただ、解析に時間がかかる場合があります。

特徴

f:id:swime:20180108172200j:plain
HTTP通信の流れを視覚化してくれるので分かりやすい。セキュリティ技術者には一番オススメかも。

Sucuri SiteCheck

https://sitecheck.sucuri.net/
セキュリティ企業のSucuriが提供しているサービス
ブラックリストと照合したいときにオススメ?

f:id:swime:20180108170715j:plain
あまり使ったことはないのですが、一応紹介しておきます。
Sucuriによる悪性チェックや数種類のブラックリストと照合した結果を提示してくれます。

特徴

ブラックリストとの照合結果と、リンク情報をリストで表示してくれるので見やすい。


以上となります。
リンク先が怪しいなと思ったときにぜひ活用してくださいね!