セキュリティウォッチ ハッキングとは、パズルを一度に1つずつクラッキングすることです。

ハッキングとは、パズルを一度に1つずつクラッキングすることです。

ビデオ: ACQUAのじかん12月19日予告ムービー (九月 2024)

ビデオ: ACQUAのじかん12月19日予告ムービー (九月 2024)
Anonim

ハッカーやその他のセキュリティ志向の人々を同じ場所に集めて、気さくな競争とハッキングを少しは避けられません。

先週のカスペルスキーラボセキュリティアナリストサミットには興味深いセッションが満載で、情報セキュリティの優秀な人材が参加しましたが、それだけではありませんでした。 参加者は、ハッキングスキルを使用して一連のパズルを解決する「暗号チャレンジ」にも参加できます。 私は挑戦を終えたほんの一握りの一人であり、その過程で暗号化、難読化、リバースエンジニアリングについてもう少し学びました。

何よりも、ハッキングはパズルを解くことに似ていることを学びました。 「この1つのことを試してみてください」と考え続け、それを手に入れると本当に興奮します。

暗号が鍵を握る

本質的に、暗号化とは、メッセージを受け取って、秘密を知らない人には意味がわからないようにメッセージを書き込むことです。 それは豚のラテン語に少し似ています。 言語の規則がわからない場合、「ellohay」の意味がわかりません。 いくつかの暗号は非常に単純です。たとえば、「hello」が「ifmmp」になるまで、aがbになり、bがcになります。 他のものは数学的にはるかに複雑で、クレジットカード番号とパスワード資格情報を保護するために使用されます。

各サミット参加者は、登録時に暗号チャレンジに関する手紙を受け取りました。 最後に、意味のない文字列がありましたが、おなじみの形式でした。 「vhhd://」で始まり、その後にピリオド(。)で区切られた文字のグループが続く、それは明らかにWebサイトへのURLでした。 最初の数文字が「http://」であることに気付いたとき、これは人気の(そして非常に弱い)暗号であるROT13であり、各文字をアルファベットの13桁後に来るものと交換します。 Webには多くのROT13デコーダーがあるため、URLを手動で作成する必要はありませんでした。

難読化されたJavascript、Oh My

画像とウェルカムメッセージを含む結果のページは退屈でした。 ページのソースは何でもありませんでした。 それは<script type = "text \ javascript">タグで囲まれた、より曖昧な行でした。 ああ、難読化されたJavascript。

難読化は、悪意のあるコーダーが人間がコードを簡単に読み取れないような方法で攻撃コードを記述する一般的に使用される手法です。 暗号化とは異なり、秘密に頼るのではなく、読みにくいコードを生成するために複雑なプログラミング方法に依存します。 結果のコードは人間の目には判読できませんが、マシンはそれを理解して実行するのに問題はありません。

ROT13の場合のように、難読化されたJavascriptを手動で解析する必要はありませんでした。 代わりに、Chrome Webブラウザーに組み込まれ、各ページ要素をステップスルーするDOMインスペクターを使用しました。 画像を表示するためのコードと、意味不明なメッセージの中に隠されたウェルカムメッセージ、および次の手がかりを含むコメント化されたコード行を見ることができました。

難読化もJavascriptだけに限定されません。 そのいコードが何を言おうとしているかを理解するために、Perlスクリプトを編集する必要がありました。

ボスのようなリバースエンジニアリング

ある時点で、ユーザー名とパスワードを入力するように促した実行可能ファイル(Kaspersky Antivirusでスキャン-注意する必要はありません!)をダウンロードしました。 その実行可能ファイルをリバースエンジニアリングするときが来ました。

Linuxのラップトップで作業することは、この時点で役立ちました。 文字列 、テキスト以外のファイルの内容を出力するコマンドラインLinuxツール、および gdbを 実行できるためです。 。.d64ファイルをダウンロードしたときに、チャレンジの後半で 文字列 も便利でした。 チャレンジのオーガナイザーが意図したように、ファイルを実行するためにCommodore 64エミュレーターをダウンロードすることもできましたが、 文字列 を実行して次に進むべき場所を見つけました。

写真の中に秘密のメッセージを埋め込むことを聞いたことがありますが、そのような画像に直面したとき、最初は困惑しました。 それから、画像にはレイヤーがあり、攻撃者は目に見えるレイヤーを混乱させることなく、異なるレイヤーに情報を埋め込むことができることを思い出しました。 Linuxで実行されるAdobe Photoshopに似たオープンソースツールであるGIMPの各レイヤーを見ることができました。 代わりに、 文字列 を介して画像を実行し、画像に隠されているすべてのテキストを抽出しました。 これは、汎用性の高い便利なコマンドの1つです。

パスワードに関する注意

チャレンジのいくつかのステップで、有効なパスワードの入力を求められました。 「パスワード」が表示されることはありませんでしたが、会議とゲームに関連性のある単語をランダムに入力したことがあります。 1つのステップで、小文字/大文字につまずいたので、考えられるすべての組み合わせのリストを生成して、作業を進めました。

攻撃者は、被害者に関する情報を入手して、簡単に正しいパスワードを推測しようとするか、または可能性のある単語のリストをただ実行するだけで済みます。 私は「あなたをだますつもりだ」とつぶやき続け、それを見つけたとき、私は「HA!Got it!」と思いました。

ただパズルを解く

文字列 とgdbを除き、チャレンジのすべての要素は、かなり単純なもの、またはGoogle検索で学べるものに依存していました。 すべてのハッキングがこのように単純であるわけではありませんが、スキルはお互いの上に構築されることを理解することが重要です。 始めるには、ちょっとした好奇心と忍耐力が必要です。

システムに侵入しようとしている人や、楽しみのためにオンラインでキャンペーンを開始している人、または単にできることを証明する人について聞いています。 ハッカーがハッキングを続けるのは、難しいパズルを解くことから生じる、とらえどころのないアドレナリンラッシュです。

ハッキングとは、パズルを一度に1つずつクラッキングすることです。