リバースエンジニアリングを学ぶことは不可能だと思います

私はmsfvenomやmsfconsoleのようなKaliのツールの大部分を使う方法を知っています、そして私は安全に自分自身をスクリプトキディと呼ぶことができます。 私はC#の基本を学んだので、Cのことのいくつかを理解するのに役立ちますが、それでも簡単に迷子になります。 私は mov xやadd jmp cmp などのようなアセンブリの基本を知っていますが、実際のコードの流れに従うのは難しいですし、アセンブリから疑似Cコードを作ることはできないでしょう。プログラム

私はスクリプトキディであることをやめて、それをキャリアするためではなく、より良くなり始めたいと思っています。それは、プログラミングツール、エクスプロイトの発見、およびシステムのホールの活用という概念全体が好きだからです。

私はこの本「シェルコーダーの手引き」を読み始めて、最初の4-5章を読みました。私はそのような考えや概念を得ることができますが、実際に起こっていることを理解するのはとても難しいです。

私はこの本と同様のビデオを見ながら毎日8時間勉強していますが、それでも私はあまり改善を感じません。

私の方法は間違っていますか?

私は悪いところから始めたばかりですか?

すべてのコマンドをpython/Cおよび全体的な言語で習得するのが良いのでしょうか。それともC#がかなり得意なので、これらの本やビデオを勉強しながらそれらを習得するべきですか?

これらのことをほとんど理解できないのは普通なのでしょうか。たとえば、シェルスクリプトがどのように機能するかは理解できますが、コーディングのためにそのままにしておくと自分で作成することはできません。

28
習得が難しいのは普通のことです。セキュリティは複雑な問題です。私は、悪用に入る前にまずプラットフォームについて学びます。あなたの毎日のドライバとしてLinuxディストリビューションに切り替えて、CとPythonを少し学んでください。その後、いくつかのアセンブリを学び始めます。それはあなたが搾取を学ぶのを助けるのに大いに役立ちます。
追加された 著者 forest,
質問全体に欠けていることが1つあります。 do に何をしたいですか。 「サッカーをもっと上手にする方法を学びたい」場合は、が意味するものを定義する必要があります。どのポジションに参加したいですか?どのようなスキルが不足していますか?どのようなスキルを最初に向上させたいですか?一つだけ選んでください。それからそれはあなたが改善するために何をする必要があるか見るのがとても簡単になるでしょう。
追加された 著者 schroeder,
@ schroeder私はあなたが正しいと思いますが、またいくつかのことが足りないと思います。例えば。誰かが「やりたい」ということを明確に 説明できるようにするためには、まずそれを定義できるだけの十分な知識が必要です。誰かが始めているとき、何を尋ねるべきか、それをどう尋ねるべきか、あるいは与えられた分野内で何が「可能」であるかどうかさえ知ることさえできない。例えば。私はフットボールについては何も知らないので、その試合で「もっと上手に」なりたいと思った場合、すでに合理的なレベルでプレーできなかったなら、もっと具体的なことを尋ねることはできないでしょう。
追加された 著者 code_dredd,
攻撃者を防御するために必要なコードを書かれたしたことがありますか?
追加された 著者 jpmc26,
ラズベリーパイを手に入れて、その上にASMを書く練習をしてください。ループや分岐など、基本的な構成要素すべてを認識する方法を学ぶ必要があります。
追加された 著者 Cronex,
最高の本 - Jon Ericksonの「Hacking:The Art of Exploitation」と、Jeff Duntemannの「Assembly Language Step-by-Step」のようなx86 Assemblyに関する優れた本。実際には、仮想マシン上のサンプルコードを介して作業します。がんばろう!
追加された 著者 loup blanc,
私はそれが専門家にとってさえ難しいことを示すPurismリンクを投稿するためにここに来ました、しかしそのリンクは削除されました。代わりに、私は彼の"リバースエンジニアリング入門書 "の投稿。
追加された 著者 jsHate,
あなたはあなたが非常に詳細にあなたが理解するものをハッキングすることができるだけです。 Webサーバーをハックしたい場合は、Webサーバーの動作方法、設定方法、実行方法、破損方法などを知っておく必要があります。単純なエクスプロイトを完全に自分自身で見つけることができるようになるには何年もかかることがあります。
追加された 著者 Feeling useless,
あなたの方法は間違っていません。がっかりしないで、練習が完璧になることを忘れないでください!
追加された 著者 Sara,

4 答え

それでは、「あなたが子供であることを暗示しているのではありません」という前置きをしましょう。

私が子供にCISについて教えるとき、彼らが私が生活のためにしていることを聞いているとき、最初の質問はしばしばです。

「どうやってハックするの?」

私が彼らに言うのと同じことをあなたに言うつもりです。セキュリティに関連する一連のトピックにおける長年の経験の結果であるので、ハッキングはあなたが学ぶものではありません。

多くの場合、人々はソフトウェアの背景とネットワークの背景から来るセキュリティ分野に侵入することがわかります。私は、数年前にdefcon、derbycon、およびその他のセキュリティ関連のイベントに参加することから、私のセキュリティの道を歩み始めました。専門的にやりたいのであれば、もっと深く掘り下げる必要があることを知りました。私はあなたをセキュリティの専門家にする魔法の知識がないことを知りました。物事を安全にするために必要なことについて学習するだけで、大変な作業となります。

たくさんのArduinoプロジェクトを構築し、一からたくさんのWebサーバーを設定し、データベースからたくさんのWebサイトを構築し、そして私のOSCPを取って(そして失敗して)、ついに私は自分自身をセキュリティソフトウェアエンジニアと呼ぶ気持ちになりました。 。その間私が働いていた会社はエンジニアのためのセキュリティチャンピオンプログラムを持っていました。彼らは1人のチームメンバーにチームセキュリティエンジニアになるためのより高度なセキュリティトレーニングを与えました。私はそれをやりました、そして私はそれを愛しました。

約1年半前、私は飛躍的な進歩を遂げ、ジョブビルディングの侵入検知ソフトウェアを入手しました。それが大好きです。私の仕事の大部分は標準的なコーディングですが、私は自分のセキュリティの知識をさまざまな方法で定期的に適用しています。

私は長い間学んだことは、学び続けることだと思います。あなたは異なる技術を学ぶことによってそれを正しいやり方でやっています。私のブログ https://www.DotNetRussell.com をチェックすると、私が行ったプロジェクトを見ることができます。私が今いるところ

学び続けます。コメントで述べたように、セキュリティは難しいです。それがそのような需要がある理由です!それが人々にとって容易になることは本当に稀です。彼らが長年にわたってその難しい知識を磨くのに費やしてきたので、その分野の専門家であるとあなたが思う人々はそこにいます。

49
追加された
ええ、私はソフトウェアに関する豊富な経験を持っていますが、それは私がネットワークがどのように機能するかを知っているという意味ではありません。あなたは多くの分野が必要です
追加された 著者 Tyler Durden,
関連Dilbert漫画: dilbert.com/strip/1999-10-27 - IOW、スキルを習得するには 年の努力が必要です。
追加された 著者 user52197,
うん、コード(リバースエンジニアリングが使われているものの一部)を悪用するには、それを書いて理解できるようにしなければならず、それによってプロのソフトウェアのバックグラウンドから来ることは非常に役に立つ。また、コードはセキュリティ面の一部に過ぎませんが、他にもたくさんの役割があります。
追加された 著者 pogo,

リバースエンジニアリングは楽しいです。私は隔週に1回IDAを使用しているので、この分野の専門家ではありませんが、十分な頻度で行っています。リバースエンジニアリングを理解したい場合は、最初に設計する方法を知っておく必要があります。

あなたが専門的にそれをするならば、あなたはウィンドウズの土地であなたの時間を過ごしています。そのため、Windowsの内部構造を習得するには、いくつかのプロジェクトをC#およびC for windowsでコーディングしてください。

私が知っている最高のリバースエンジニアは最初にソフトウェアエンジニアでした。

自分でいくつかのプログラムを構築し、それらにRadare2とIDAを使用すれば、あなたは学び始めるでしょう。

頑張って楽しんでね!

10
追加された

本やビデオであなたの時間を無駄にしないでください。 (ハックしたいゲームのように)リバースしたいプログラムを手に入れ、静的/動的分析のためのツールを手に入れ(チートエンジンはあなたがWindowsを使っているなら開始に最適です)あなたがそれを見つけるとすぐにあなたはまだ知りません。最初は遅くて痛みがありますが、すぐに見てアセンブリコードを理解できるようになります。2番目の性質になります。

1
追加された

リバースエンジニアリングとセキュリティを確認する簡単な方法があります。退屈な部分に自分を圧倒しないでください。単純に各問題をパズルとして見てください。一歩一歩達成し、一歩一歩進んで、なぜその方法を理解しないでください。だからこそ、ハッキングはシャーロックホームズの達成感のような熱のようなものになり得ます。あなたはそれを入手するかしないかのどちらかです。

1
追加された