旗をキャプチャ:それはハックのためのゲームです.セキュリティプロ


私の最初の大きい女の子は、旗競争を捕えます


先週末BSides Iowa , デモインで行われている小さなセキュリティ会議は、私の最初のキャプチャでは、セキュリティプロとして旗の競争をキャプチャします.大規模なオープンフィールド屋外と物理的な運動について考え始める前に、フラグの競合をキャプチャするセキュリティ攻撃の専門家のためのゲームです.CTFの間、プレーヤーは挑戦を解決するために彼らのコンピュータで互いに競争します.
CTFの競争の異なるタイプ、ゲームボードと攻撃防御(赤いチーム対ブルーチーム)のスタイルが積極的にネットワークインフラストラクチャを攻撃し、防御する選手とスタイルがあります.私は、ここで危険なスタイルCTFに集中しています.
典型的には、危険なスタイルのCTFは、カテゴリ(これらは、誰が促進しているかに基づいて異なりますが、暗号化とパケット分析のようないくつかの定数があります)に分類されます、そして、各々のカテゴリーはユーザーが旗を見つけるために解決する必要がある一連の挑戦をします.フラグは通常、ユーザーがゲームボードに入力し、そのポイントを取得するテキストの文字列です.より多くのポイントは、チャレンジは価値がある、それは解決するためには難しいです.

「7.5時間、フライドプレート、2切れのピザ、そして2人のアスピリンが、あとで3250ポイントと6位で終わるコンピュータをシャットダウンしました」


ベイサイドアイオワCTFは、2013年によって促進されましたSecDSM , デモインズ地域のネットワークと情報セキュリティプロのための我々のローカルユーザグループ.CTFは、6つのカテゴリーを持ちました:航空機、暗号、ネットワークフォレンジック、PWRed、ホストフォレンジック、そして、物理的な(ロックピッキングロック鍛冶)を得ましょう.午前10時から始まって、私は約20人の他の人々は、CTFを完了するために8時間を持っていた.
7.5時間、フライドプレート、ピザ2切れ、アスピリン2時間後、私は3250ポイントと6位で終わるコンピュータをシャットダウンしました.私は私のスキルセットのかなり近くに固執するために選択し、私は前の知識を持っていなかったカテゴリに本当に分岐していない.私は最終的にネットワークフォレンジックの課題のすべてを解決し、8ホストフォレンジックの課題のうちの2つ、および3つの暗号解読の課題の3.これらの課題の多くのために私はどちらかを解決する最初の人やトップ3にいた.私の最初の大きい女の子CTFのためにあまりにも恥ずかしい.

「CTFの本当の楽しみは、あなたが旗を見つける本当の功績と戦術を使用したとき、あなたが得る感覚です、そして、それは実際に動きます


これは良い初心者の競争でした、そして、それは私が本当に私のフィールドに属しているように感じるのを助けました.時には、特に技術的なキャリアでは、それは簡単にiMポスター症候群に餌食に落ちる.このCTFは、私が私の技術について持っていた疑いを軽減しました.私はまだ学ぶためにたくさん持っていることを知っているが、私はまた、私はちょうどそれを行うまで、それを偽造していないことを知っている.これはまた、私の脳を行使し、私のセキュリティ知識に拡張する本当に楽しい方法だった.私が知っていたものにかなり近いままでいたとしても、私が知っていなかったか、前にする方法を知っていた挑戦を解決している間、私は多くの新しいものを学びました.いくつかの開発者は、新しいものを学ぶために側にアプリケーションを構築するが、セキュリティの専門家はハックと新しいスキルをピックアップするために競争する.
CTFの本当の楽しみは、あなたがフラグを見つけるために実際の功績と戦術を使用したときに得る感じであり、それは実際に動作します.CTFは、法的にハッキングする機会です(不正なハッキングは非常に違法です、そして、あなたが捕えられるならば、あなたはおそらく刑務所に行きます).

いくつかの挑戦を通して歩きましょう


クリプトカテゴリー


より興味深い暗号の課題の一つはステガノグラフィチャレンジであった.Steganographyは別のファイル(画像のような)内の秘密のメッセージの隠蔽です.これはかなり一般的な課題キャプチャキャプチャフラグで発見されます.これらのメッセージを抽出するためのツールと同様に、イメージファイルに隠されたメッセージを検出するためにオンラインで利用可能な多くのツールがあります.

ステガノグラフィチャレンジ



あの絵は全く普通のようですね.しかし、我々はコマンドラインを見てください.
$ file Words-Have-Power.jpg 
Words-Have-Power.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, progressive, precision 8, 849x578, frames 3
何も特別な..ためしましょう
$ hexdump -C Words-Have-Power.jpg
これは私がここでペーストしない出力の束を返しますが、ここでは関連ビットです.
0000a580  00 00 00 1e 00 00 00 08  00 00 00 66 6c 61 67 2e  |...........flag.|
0000a590  74 78 74 7d fa c9 4c 8f  fb d4 5e 8d 43 86 1f 63  |txt}..L...^.C..c|
0000a5a0  f9 f5 dd 12 d0 9d c7 e1  1d 50 5b 26 a5 32 7e ad  |.........P[&.2~.|
0000a5b0  94 04 3e a1 27 3b d4 e5  7f a4 f6 45 43 50 4b 01  |..>.';.....ECPK.|
0000a5c0  02 3f 03 14 03 01 00 00  00 bc 0c 94 4a 21 ff 41  |.?..........J!.A|
0000a5d0  1a 2a 00 00 00 1e 00 00  00 08 00 24 00 00 00 00  |.*.........$....|
0000a5e0  00 00 00 20 80 a4 81 00  00 00 00 66 6c 61 67 2e  |... .......flag.|
0000a5f0  74 78 74 0a 00 20 00 00  00 00 00 01 00 18 00 80  |txt.. ..........|
0000a600  63 53 a4 a0 b9 d2 01 80  70 f5 17 a1 b9 d2 01 80  |cS......p.......|
0000a610  63 53 a4 a0 b9 d2 01 50  4b 05 06 00 00 00 00 01  |cS.....PK.......|
0000a620  00 01 00 5a 00 00 00 50  00 00 00 00 00           |...Z...P.....|
今、我々は旗がテキストファイルにあるということを知っています、そして、最後の線から、我々はZPGファイルがJPGに隠されると言うことができます.
我々がそれを解凍しようとするならば..
$ unzip Words-Have-Power.jpg
Archive:  Words-Have-Power.jpg
warning [Words-Have-Power.jpg]:  42349 extra bytes at beginning or within zipfile
  (attempting to process anyway)
[Words-Have-Power.jpg] flag.txt password: 
今、パスワードのプロンプトがあります.我々が『WordshavePower』(イメージの語)を試みるならば..
$ unzip Words-Have-Power.jpg
Archive:  Words-Have-Power.jpg
warning [Words-Have-Power.jpg]:  42349 extra bytes at beginning or within zipfile
  (attempting to process anyway)
[Words-Have-Power.jpg] flag.txt password: 
 extracting: flag.txt         
すごい!ファイルが何を言うか見てみましょう
$ cat flag.txt 
flag{not_stego_not_even_once}

暗号チャレンジ


もう一つの課題は暗号解読の挑戦であった.pcyv{mvac_flt_bg_kdzja_xoksvp_iaof_u4}一見して、それがAであるかもしれないと思いましたCaesar Cipher しかし、ないさい.次の最も人気のある暗号はVigenere Cipher . 後でGoogleクイック検索.
このカテゴリの他の課題はバイナリ、base 64、base 32、またはbase 16からのASCIIまたはAESを使用して暗号化されたファイルの復号化(私はそれを終えなかった)に変換を必要としました.

ホスト法医学カテゴリー


チャレンジは、プレイヤーがMSホストダンプをダウンロードし、それを分析し、マルウェアの名前を見つけるために分析し、C 2(コマンド&コントロール)IPアドレスとポートを必要とした.
この特定のカテゴリーは、私が知識の私の領域から何かを試みるようになった最も近いものでした.私はWindowsマシンの上でforensicsをする必要はありませんでしたが、Googleはすべての友人です.私は、ダンプを分析して、フラグを見つけるために、揮発性と呼ばれるコマンドラインツールを使用することができるとわかりました.
ファイルをダウンロードした後、file コマンドは、私が探していたもののより良い考えを得るためにcat あなたがジブリッシュの束を得るファイル.
$ file memory.dmp
memory.dmp: MS Windows 64bit crash dump, full dump, 2097152 pages
私はクラッシュダンプを見たことがないが、迅速なGoogle検索私を導いたVolatility そして、私が起きて、走る必要があったコマンド.私もwrite up 別のCTFから同様の課題で
私は、ダンプのネットワーク接続を見て始めました.他に何もなければ、おそらくC 2ボットネットの接続を見つけることができました.

私はサーバが奇妙な外部IPアドレスを与えられたことに気づいた.私はIPのためにフィルターをかけて、非標準のポートへの接続を捜しました(この場合、ポート80または433ではなく、それらが通常ウェブポートの制御のために使われないので).
$ volatility -f memory.dmp --profile=Win7SP1x64 netscan | grep 10.0.10.103
Volatility Foundation Volatility Framework 2.5
0x23d43aec0        UDPv4    10.0.10.103:138                *:*                                   4        System         2017-04-21 19:18:49 UTC+0000
0x23d472ec0        UDPv4    10.0.10.103:137                *:*                                   4        System         2017-04-21 19:18:49 UTC+0000
0x23da11b40        UDPv4    10.0.10.103:1900               *:*                                   2292     svchost.exe    2017-04-21 19:20:47 UTC+0000
0x23f434690        UDPv4    10.0.10.103:68                 *:*                                   904      svchost.exe    2017-04-21 19:35:12 UTC+0000
0x23f21f880        TCPv4    10.0.10.103:49662              174.127.99.252:4576  CLOSED           -1                      
0x23f471010        TCPv4    10.0.10.103:49682              98.139.199.205:443   CLOSED           -1                      
0x23fdbe3b0        TCPv4    10.0.10.103:139                0.0.0.0:0            LISTENING        4        System         
0x23f91c010        TCPv4    10.0.10.103:49665              165.254.114.16:80    CLOSED           -1                      
0x23faa0cd0        TCPv4    10.0.10.103:49698              63.250.200.63:443    CLOSED           -1                      
唯一のオプションは174.127.99.252:4576 そして、それは正しい旗であることがわかりました.
次の課題は、システムに感染した正確なマルウェアを見つけることでした.使用するstrings IPアドレスが確かにマルウェアに縛られたということを知っていたので、ダンプを通して、C 2 IPアドレスのために濾過されるのを捜してください.
$ strings -d memory.dmp | grep '174.127.99.252' | more -5
{"NETWORK":[{"PORT":4576,"DNS":"174.127.99.252"}],"INSTALL":true,"MODULE_PATH":"Ns/k/Erc.R","PLUGIN_FOLDER":"fDNTvmjCywD","JRE_FOLDER":"KRBDYF","JAR_FOLDER":"
HfItRcGAvMp","JAR_EXTENSION":"JFKuuO","ENCRYPT_KEY":"mZWoFgfReBJIoLFLZKsOOIaqn","DELAY_INSTALL":2,"NICKNAME":"User","VMWARE":true,"PLUGIN_EXTENSION":"TvEXt","
WEBSITE_PROJECT":"https://jrat.io","JAR_NAME":"kpjCTotwwxd","SECURITY":[{"REG":[{"VALUE":"\"SaveZoneInformation\"=dword:00000001\r\n","KEY":"[HKEY_CURRENT_USE
R\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Attachments]"},{"VALUE":"\"LowRiskFileTypes\"=\".avi;.bat;.com;.cmd;.exe;.htm;.html;.lnk;.mpg;.mpeg
;.mov;.mp3;.msi;.m3u;.rar;.reg;.txt;.vbs;.wav;.zip;.jar;\"\r\n","KEY":"[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Association
その中で、マルウェアが呼ばれることを知りましたjrat.io そしてそれはまたフラグです.
私はこのカテゴリでは、少し後に仕事を始めた.私は、私が私が彼らを解決することができたと思うので、他の挑戦を試みるためにより多くの時間があったことを願います.上記の2つの課題は、ホストフォレンジックカテゴリのほとんどのポイントの価値があった.

ネットワーク弁論術カテゴリー


このカテゴリーは、私が家で最も感じたところです.パケット分析は私の日常生活の主要な部分です.このカテゴリの課題は、3つの主要なテーマを持っていたフィッシング、ランソーウェア、および心痛.ためには、このカテゴリのすべてのプレーヤーが必要な課題を完了するにはWireshark パケット分析とネットワーキングの知識.
心からの挑戦を歩きます.私たちはpcapファイルをダウンロードしなければなりませんでした、そして、それの唯一の記述は『壊れました』.

ハートフルチャレンジ


WiresharkでPCAPを見て、私はそれがハートビート要求と反応のために心臓病の発作であるということを知っていました.私はどのように心のこもった作品を見て、そこからどこを見て推測することができます.( Check out the graphical explanation I found )

あなたが心のこもった反応を見て、あなたが最終的に見つけるテキストとしてペイロードをコピーするならば..
SC[r+H9
w3f
"!985
    32ED/A I
42
   
#ge: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Length: 28
Pragma: no-cache
Cache-Control: no-cache

bsides={heartbleed_for_life}kYV<V4
and bsides={heartbleed_for_life} がフラグです.

それを撃つ


あなたがこれをしたならば、そして、私はマイクロソフトクラッシュダンプのどこかであなたを失いませんでした、多分、あなたはキャプチャーに旗競争を与えなければなりませんショット.そこには、特に人々が学ぶのを助けるように設計された初心者CTFの多くがあります.また、多くのCTFは、特にあなたの開発者のためのWeb悪用に焦点を当てている.開発者として、外部の脅威の前に自分のアプリケーションを悪用する方法を知って非常に貴重です.興味があるが、まだ競争したくないならば、これらのウェブサイトのいくつかをチェックしてください
  • CTFLearn
  • HackThisSite

  • A list of websites to practice with
  • Tools and Resources to Prepare for a Hacker CTF Competition or Challenge by Infosec Institute
  • 私が使用したコマンドラインユーティリティに興味がありますか?
  • cat
  • file
  • grep
  • hexdump
  • more
  • strings
  • unzip
  • Volatility
  • 私は、Ubuntu 16.04デジタル海水滴に関する挑戦の大部分を完了しました.
    特にWebアプリケーションを悪用する方法を学ぶことに興味がありますか?私は与えるWebGoat やってみなさい.私は学生のグループにプレゼンテーションのためのSQLインジェクション攻撃を示すためにそれを使用して、それを設定し、使用するはかなり簡単だった.
    もう一度、あなたはすでにキャプチャフラグで競争するために多くを知っている必要はありません.あなたはちょうど努力し続けるために迷惑と不安な欲求が必要です.競争のポイントは、ちょうどそこにジャンプすることを恐れていないことを学ぶことです.あなたがCTFをして終わるならば、私にそれがどのように行くかについて知らせてください.あなたが既にCTFをしたならば、あなたは何を学びましたか?