Wir haben kürzlich in unserem Telegram-Kanal „Kodik“, welche Programmiersprachen ein Hacker wirklich braucht. Die Frage hat viel Interesse und Kontroversen hervorgerufen, daher haben wir beschlossen, alle Gedanken in einem Artikel zu sammeln - ohne Mythen und Romantisierung des "Hackens", nur praktische Ratschläge und einen ethischen Ansatz für Cybersicherheit.
Das Wort "Hacker" Viele Leute assoziieren es mit Hacking, aber in der Fachwelt wird ein Hacker oft als Cybersicherheitsexperte bezeichnet. In diesem Artikel geht es um Programmiersprachen, die in der ethischen Praxis (Penetrationstests, Audit, Entwicklung von Schutzmaßnahmen) wirklich nützlich sind.

Python — das wichtigste Allround-Tool für Pentester
Einfach zu starten, riesige Bibliothek.
Schnelles Prototyping von Scannern und Parsern.
Wird für die Automatisierung, die Analyse des Datenverkehrs und das Schreiben von Exploits im Labor verwendet.
Bash / Shell und PowerShell - die "Sprache" des Systems
Wird für die Automatisierung, das Sammeln von Informationen und das Schreiben von Skripten für Windows und Linux verwendet. Wichtig für schnelles Arbeiten im Terminal.
JavaScript - für Web-Hacking und Browser-Schutz
Hilft bei der Analyse von Client-Skripten, bei der Suche nach Schwachstellen wie XSS, beim Verständnis von DOM und der Sicherheitspolitik von Browsern.
SQL - um Datenbanken und Injektionen zu verstehen
SQL-Injektionen sind immer noch eine der größten Schwachstellen. Sie müssen die Syntax verschiedener Dialekte kennen: MySQL, PostgreSQL, MSSQL.
C und C++ — tiefes Verständnis von Systemen
Das Erlernen von C und C++ hilft, Speicherlücken zu verstehen, native Anwendungen zu verstehen und mit Analysatoren zu arbeiten.
Assembler - für Reversing
Wird für Reverse Engineering und Binäranalyse benötigt. Schon ein grundlegendes Verständnis des Assemblers ermöglicht den Zugriff auf die Untersuchung von Schwachstellen auf niedriger Ebene.
Go und Rust sind moderne Tools
Go ist praktisch für die Erstellung von Netzwerk-Tools, Rust — für sichere und schnelle Anwendungen. Immer häufiger in Sicherheitsprojekten zu finden.
Java, PHP und andere
Java - für die Analyse von Unternehmenssystemen, PHP - für klassische Websites. Meistern Sie sie, wenn Sie mit einem bestimmten Stack arbeiten.

Was soll ich zuerst lernen?
Python — Netzwerk, Parsing.
Bash / PowerShell.
SQL + Web-Grundlagen (HTML, JS).
C/C++ - später, zur Vertiefung.
Go oder Rust für Leistungstools.
Wo man sicher üben kann
CTF-Plattformen: tryhackme, hackthebox.
Eigene Labore auf virtuellen Maschinen.
Bug-Bounty-Programme.
Tools und Ökosystem
Wireshark, Burp Suite, nmap, GDB, ghidra. Es ist wichtig, Tools mit Programmiersprachen kombinieren zu können.
Wie man Wissen anwendet
Schreiben Sie Skripte, analysieren Sie CVE-Berichte, veröffentlichen Sie Ihre Forschungsergebnisse. Entwickeln Sie nicht nur technische, sondern auch kommunikative Fähigkeiten.
Im Anhang Kodik Es gibt Kurse in Python, Datenbanken und praktische Aufgaben, die Einsteigern in die Cybersicherheit helfen.
Befund
Starter-Kit: Python + Bash + Web-Grundlagen. Später — C, Assembler, Go oder Rust. Es hängt alles davon ab, in welchem Sicherheitsbereich Sie sich entwickeln möchten.
