Chaos Construction 2013:ハッククエストのレビュー-書き取り

多くの人が知っているように、 この週末はサンクトペテルブルクでコンピューター創造性の祭典を開催しました。 これはハッククエストでした(Capture The Flagなど)。 私は今のところ個人的なブログを持っていないので、ここでタスクの解決策を共有することにしました。多くの人が興味を持っていると思います:) Habré(VKの「禁じられた」音楽の充填)で議論されたタスクがありました。 件名は-プリズム、NSAなど。

タスクのリスト全体を保存しませんでしたが、それらの多くはまだ機能し、メモリから復元します。



iPrism(モバイル)



ハック

これ

秘密

アプリ


ダウンロードして、iOS用のアプリケーションを見つけます。 私は逆に特に強いではありません、私は後に去ることに決めました。 しかし、Twitterを読んでいるときに(主催者に登録しておくと便利です)、 hackapp.comサービスレコードに出会いました

画像 HackAppは、モバイルアプリの静的セキュリティ分析のためのWebベースのサービスです。 次のような重要かつ疑わしい情報をバンドルで識別します。

-証​​明書とキー

-認証の秘密

-ライセンス管理

-コンパイルの欠陥


モバイルアプリケーションのセキュリティバグを検索するためのサービス。 ファイルをロードし、レポートを生成します-hackapp.com/open#e55bece90691913812ef6e0da5c8278a 、キーを見つけます

影響を受けるファイル:

-b00067.app/Defaults.plist

プレーンテキスト認証シークレットはアプリバンドルに保存されているようです



AuthTokenString:C_C_13_F_L _ @ _ G: 8204e7efa933e2521a69417c4ab2357e




フラグ :8204e7efa933e2521a69417c4ab2357e



Prismtestm(ウェブ)



私はすぐにこの仕事を解決しなかったと言います。 チーム(Hardc0de)の後に解決策を尋ねました。 求人サイトにアクセスすると、「PRISM」のサイト確認アドレスを入力できるフォームのWebサイトが表示されます(通常のスケジュール(。*)。Comに必ず入る)。 私はすぐにここでSSRFを疑った(1つの理由-ONSecオーガナイザー、2つ目-ただ論理的に)。 私はSSRF Bible掘り 、.comドメインを登録し、tsharkを有効にしてサーバーにスクリプトを設定しました。一般的には、戦わなければすぐに何もしませんでした。 解決策- /? 、つまり ホストに書き込みます

127.0.0.1:80/?.com

スクリプトをlocalhostに接続し( .Comはサーバー上の関数でURIとして単純に切り取られます)、パス&デバッグ(htmlコメントで確認できます)も行います。 ポイントは、ポートを指定する必要があることです。指定しないと、何も開始されません。 また、SSRFを実行するために必要なデバッグパラメーターについては、Smuggling examples(SSRF bible)セクションで例を見つけることができます。 そして掘ります。



listen2me(ステガノ)



PRISMの人をバイパスするには、いつかこのテクニックを使用します

フラグはMD5(message_from_MP3)です


誰もタスクを解決しませんでした。 ファイルをダウンロードし、(ヘッダーに従って)mp3ではないことを確認し、アーカイブ拡張子を指定し、叩かれたアーカイブを開きます。2つのファイルはcalc.exeとreverse_something.txtです。 掘り始めます。内部にはJPEGヘッダーが後方にあります。 また、写真にキルティングされた写真を取り出します。 それは彼女のようです-キー。



Gener(ウェブ)



NSAが作成した高度で安全なPRNG ソース


参照-ソース

<?php function reallySecureRandom(){ $seed = (double)microtime()*1000000; $seed = $seed * (getmypid()>0?getmypid():1); $seed = $seed * (getmygid()>0?getmygid():1); $seed = $seed * (getmyinode()>0?getmyinode():1); $seed = $seed * (getmyuid()>0?getmyuid():1); $seed = $seed * (memory_get_usage()>0?memory_get_usage():1); mt_srand($seed); return mt_rand().mt_rand(); } if($_COOKIE['token']===md5(reallySecureRandom())) echo file_get_contents('/tmp/flag.txt'); ?>
      
      





タスクは非常に明確であり、このアルゴリズムによってCookieを設定する必要があります。 マイクロタイム-スクリプトを提供する日付ヘッダーから確認できます。 pid / gid / uid-ゼロに等しいものもあれば、反復するほど大きくないものもあります。 memory_get_usage-自分でスクリプトを実行し、メモリ消費量を測定します(x32とx64では消費量が異なります)。 しかし、getmyinodeを使用すると、値が本当に大きいため、明確ではありませんでした。 一般的に、魔法のような方法で、タスクは$ seed = 0で解決されました。つまり、 Cookieを生成するためのコード:

 <?php mt_srand(0); echo md5(mt_rand().mt_rand());
      
      







Crackme(リバース)



NSAはこのプログラムを使用して秘密鍵を作成します。



フラグはMD5(キー)です



macosのリバースを決定しませんでした。 私が試したのは、文字列を実行することでした:)



インベター



#chaosconstructions2013で480120101078を逆にします。

ハックマップは、0x10までのフィボナッチ数です。

ヒント:480132102026と481214218007も適合します。



フラグはMD5(結果)です


誰もタスクを解決しませんでした。 さまざまな考えがありましたが、どれが正しいのか-よくわかりませんので、何も書きません



CryptoMsg(リバース)



#i#<L4w1u0q)mT9Q-????????

1evryyonelies6-44、〜yteU << * sZOe

1234567-)Wj〜5Kb

1234568-* Wj〜5Kc

2345678-1Ym $:Qi

abcdef-FX =#hP

abcdef1-YY> $ iQb

ハッカー-] _D1vj_

1337ハッカー-| \ o(pS8%j ^ S

ハッカー1337-UcH5znct)<S

暗号分析のタスク-!{p]] E6 ** ma \ ND5vfI72'pe

この暗号を破ることはありません! -q:11 * saOO?&| CWW; / tWDD:$ mbbG2 $ lSGH



フラグはMD5(????????)



crypt3rのダウンロード:./ccrypto.jar


ツールを使用して、最初のメッセージを解読する必要があります。 ccrypto.jarをダウンロードし、java.decompiler.free.frから解凍して、アプリケーションソースを取得します。
暗号化機能
 void encrypt() { int val = 0; this.buff = new ArrayList(); for (int i = 0; i < this.input.length(); i++) { val = this.input.charAt(i); val -= 32; if (i > 0) { val += ((Integer)this.buff.get(i - 1)).intValue(); } else { val += this.input.length() + 13; } if (val > 94) { val -= 94; } Integer Val = Integer.valueOf(val); if (i == this.input.length() - 1) { int temp = 0; temp = ((Integer)this.buff.get(0)).intValue() + val; if (temp > 94) { temp -= 94; } this.buff.set(0, Integer.valueOf(temp)); } this.buff.add(Val); } for (int i = 0; i < this.input.length(); i++) this.output += String.valueOf((char)(((Integer)this.buff.get(i)).intValue() + 32)); } }
      
      





このタスクはすでに2日目に決めました。寝ないでクラブに泊まったので(夜に別のタスクを解決しました)、このアルゴリズムに十分ではありませんでした)友人が助けて、手動でカウントしました。 逆アルゴリズムは見かけほど簡単ではありません。試してください:)



WPA / WPS(WiFi)



2つのタスクを組み合わせました。これらは類似しているため、WPA

ハッキングされたいCC2013にルーターがあります。

巧妙な管理者は、そのAPのESSIDを隠しています。

すべてのスキルを使用してネットワークに侵入します



フラグはMD5(キー)です




Wps

ハックゾーンのどこかにwifiをブロードキャストするホワイトボックスがあります。 ネットワークに侵入する必要があります。

ところで一部の人々はそれがWPSをサポートし、ピンの最初の4桁が保存されたと言います;)ハッピーハック



フラグはMD5(キー)です




ハックゾーンに移動し、バックタックから起動し、ガイドに従ってすべてを実行します。 WPAでは、標準の辞書によると、キーは0.5秒で見つかります。

WPA ガイド-www.aircrack-ng.org/doku.php?id=cracking_wpa

ロシア語でWPSについて-habrahabr.ru/company/xakep/blog/143834 (ところで、私はwpsをしませんでした。時間がありませんでした。そこで、ブルータスが成功するのを待たなければなりませんでした)。



オンサイド



その場でタスキー。 私たちは接近し、尋ねます、彼らは言います-あなたは近くに碑文のステッカーがあるカメラを見つける必要があります。 あなたは彼らに何を読んで、それらに直面することなく、主催者に通知する必要があります。 解決策のオプションは異なります)カメラ<5

そしてもう1つは、雑学です。 5つの質問。そのうち、私は多くの時間を殺しました。「ハッカー攻撃に名前を付けてください。名前は16進文字のみで構成されています」 dd05またはfl00dは適切ではありません。 交換は機能しません。 タスクは解決されましたが、アイデアはありますか? :)



USBスティック



CC2013からUSBスティックを入手してキーを見つけます


フラッシュドライブがたくさんあります。 それらの1つにflag.txtがあり、それを渡しました。



私の意見では、2つの最も興味深いタスクです。



androface(モバイル)



CC2013ハックゾーンからAndroidデバイスのロックを解除します



アンドロイド4.1を搭載したサムスンタブレットを提供し、会議参加者の顔認証を送信します。 ロックを解除する必要があります。試行回数は5回です。 バグを見つけます。





同じ人に近づき、目を開いて、目を閉じて写真を撮り、運を試します。 3回の試行で、成功しませんでした。 その後、写真を90度回転し、ラップトップの明るさを最大限に緩めました。すべて問題ありません:)デバイスのロックが解除されました



VKmusic(リバース)



このタスクは極秘であり、エドワードから直接あなたに来ました。 彼は現在モスクワに住んでいるので、ロシアの真の精神を感じ、VKで無料の音楽を聴きたいと思っています。

しかし、彼のお気に入りの歌は現在禁止されています。 検出のメカニズムを見つけて、曲をアップロードする必要があります。

最初の分析では、「VKAF」をバイパスするには正確に3バイトを置き換えるだけで十分であることが示されました。

タスクへの答えは、それらのバイトのファイル内の連結オフセットのMD5ハッシュです。



注:ハッシュ計算の前に、各オフセットの下位2バイトをゼロに置き換えます(つまり、12345-> 12300)



このトピックはすでにHabréで取り上げられています

VKontakteでブロックされたオーディオ録音をダウンロードする-habrahabr.ru/post/183554

Vkontakteオーディオブロッキング。 プレイリストの復元-habrahabr.ru/post/183470

含む コメントには、スピーチについての言及があり、ダウンロードしたレコードの確認について説明しています。 ビデオを見た後、すべての種類のファイルに対して特定のユニバーサルバイトがチェックされることが明らかになります(中央のバイトの置換によるファジングは最後に何も与えなかったため)。 主催者は、3バイトを見つけて、それらからハッシュを取得する必要があると書いています-キーがあります。 しかし、10から11の夜に1バイトのみの解決策が見つかりました。残念ながら、ここで公開することはできません。

タスク(VKで読み込まれない)からトラックをダウンロードし、1バイトを変更します-出来上がり、すべてが機能します。

朝、彼は解決策を示しました-彼らは手動でフラグを与えました:)



最初の場所が取られ、彼らはとてもクールなことをしました 。 すべてのように、主催者のおかげで、それはクールでした:)





やりがいのある



All Articles