最近、私たちは Telegramチャンネル「Kodik」ハッカーに本当に必要なプログラミング言語は何ですか?この質問は多くの関心と議論を呼び起こしたので、私たちはすべての考えを1つの記事にまとめることにしました。神話や「ハッキング」のロマンチックな表現はなく、実用的なアドバイスとサイバーセキュリティへの倫理的なアプローチのみを提供します。
単語「ハッカー多くの人がハッキングと関連付けていますが、プロフェッショナルの世界では、ハッカーはしばしばサイバーセキュリティのスペシャリストと呼ばれます。この記事では、倫理的な実践(ペンテスト、監査、保護ツールの開発)で実際に役立つプログラミング言語について説明します。

Pythonはペンテスターの主要なワゴンです
使い始めるのが簡単で、ライブラリのセットが豊富です。
スキャナーとパーサーの迅速なプロトタイピング。
自動化、トラフィック分析、ラボでのエクスプロイトの作成に使用されます。
Bash / ShellとPowerShell — システムの「言語」
自動化、情報収集、Windows および Linux 用のスクリプトの作成に使用されます。ターミナルでの迅速な操作に重要です。
JavaScript — ウェブハッキングとブラウザ保護
クライアントスクリプトの分析、XSSのような脆弱性の発見、DOMとブラウザのセキュリティポリシーの理解に役立ちます。
SQL:データベースとインジェクションを理解するため
SQL インジェクションは、依然として脆弱性のトップにあります。MySQL、PostgreSQL、MSSQL など、さまざまなダイアレクトの構文を知る必要があります。
CとC ++ — システムの深い理解
CとC ++を学ぶことで、メモリレベルの脆弱性を理解し、ネイティブアプリケーションを理解し、アナライザーを操作するのに役立ちます。
アセンブラー — リバース用
リバースエンジニアリングとバイナリ解析に必要です。アセンブラーの基本的な理解だけでも、低レベルの脆弱性の研究にアクセスできます。
GoとRustは最新のツールです
Goはネットワークツールの作成に便利で、Rustは安全で高速なアプリケーションに便利です。セキュリティプロジェクトでますます一般的になっています。
Java、PHPなど
Javaは企業システムの分析用、PHPは従来のサイト用です。特定のスタックを使用している場合は、それらを習得してください。

まず何を学ぶべきですか?
Python — ネットワーク、パーシング。
Bash / PowerShell.
SQL + Webの基礎(HTML、JS)。
C/C++は後で、深く掘り下げます。
Go または Rust は、パフォーマンスツールに使用されます。
安全に練習できる場所
CTFプラットフォーム:tryhackme、hackthebox。
仮想マシン上の独自のラボ。
バグ報奨金プログラム。
ツールとエコシステム
Wireshark、Burp Suite、nmap、GDB、ghidra。ツールとプログラミング言語を組み合わせることが重要です。
知識の応用方法
スクリプトを書き、CVE レポートを分析し、研究を公開します。技術的スキルだけでなく、コミュニケーションスキルも磨きましょう。
アプリで コディック サイバーセキュリティの初心者を支援するPython、データベース、実践的なタスクのコースがあります。
結論
スタートキット:Python + Bash + ウェブの基礎。その後、C、アセンブラ、Go、またはRust。どのセキュリティ分野で開発したいかによって異なります。
