it-swarm-eu.dev

Wie lerne ich Penetrationstests zu Hause?

Ich bin daran interessiert, ethisches Hacken oder Penetrationstests zu lernen, um eine Karriere in diese Richtung anzustreben.

Ich habe starke Kenntnisse in Linux und Unix, grundlegende Computertheorie und -praxis sowie grundlegende Programmierkenntnisse (Arrays, Methoden, Schleifen).

Ich habe mir Gruyere und Webgoat angesehen, finde diese jedoch zu fortgeschritten für mich. Sie bitten darum, ein Problem zu lösen, ohne das Problem ausreichend zu erklären, warum es zum Angriff verwendet werden kann, und geben Beispiele.

Gibt es kostenlose Kurse oder interaktive Programme, die ich von zu Hause aus durchführen kann, um mir diese Informationen selbst beizubringen?

Ein Bonus wäre, Programmierunterricht in diesem Bereich zu geben, beispielsweise das Unterrichten von JavaScript, um Cookie-Angriffe und -Manipulationen zu demonstrieren.

48
Cyrus

Es gibt nur wenige kostenlose Optionen, aber es gibt unzählige Videos und Tutorials zu bestimmten Angriffsmethoden oder Produkten/Tools. Sie machen Sie NICHT zu einem Penetrationstester, aber sie sind kostenlose Lernressourcen.

Einige anständige Optionen, um Sie anzufangen:

Für die Praxis gibt es eine Reihe von Ressourcen:

  • Metasploitable VM (und andere absichtlich anfällige VMs)
  • DVWA
  • Mutillidae
  • WebGoat
  • Vulnhub
  • hacke mich

Suchen Sie auf dieser Website nach anderen Personen, die Meinungen zu kostenlosen Lernressourcen abgeben. Aber der einzige Weg zu lernen ist, sich die Hände schmutzig zu machen.

Arbeiten Sie weiter daran und stellen Sie weiterhin Fragen!

51
schroeder

Zusätzlich zu den Links zu Tools, anfälligen Übungs-Apps usw. soll der Penetration Testing Execution Standard der endgültige Standard für die Vorgehensweise beim Testen sein: - http://www.pentest-standard.org/index.php/Main_Page

8
Rory Alsop

Sie können diese mit VM Player) auf eine virtuelle Maschine stellen und herumspielen.

Verdammt gefährdetes Linux ( http://sourceforge.jp/projects/sfnet_virtualhacking/downloads/os/dvl/DVL_1.5_Infectious_Disease.iso/ )

De-Ice/Hackerdemia ( http://forums.heorot.net/ )

Zum Lernen würde ich verschiedene Penetrationstestmethoden wie das Open-Source-Handbuch für Sicherheitstestmethoden (http://isecom.securenetltd.com/osstmm.en.2.1.pdf) betrachten. Diese geben normalerweise eine Liste von Dingen, auf die überprüft werden muss. Sie können dann diese Checklisten verwenden und verschiedene Tutorials im Internet nachschlagen, wie Sie die verschiedenen Technologien besiegen können.

Eines der besseren Bücher, die ich kürzlich gelesen habe, war das Schreiben von Sicherheitstools und Exploits ( http://www.Amazon.com/Writing-Security-Tools-Exploits-Foster/dp/159749997/ref=sr_1_1?ie UTF8 & qid = 1328592753 & sr = 8-1) ==). Es behandelt grundlegende Assemblys, das Erstellen von Shellcode, Tipps zum Suchen und Schreiben von Pufferüberläufen, Formatieren von Zeichenfolgen, Heap-Angriffe und vieles mehr. Das Buch ist etwas veraltet und behandelt keine Dinge wie ASLR und NX, bietet aber eine solide Grundlage mit zahlreichen Beispielen mit großartigen Erklärungen.

6
Dylan

Informationssicherheit ist ein sehr weites Feld, das aus verschiedenen Unterfeldern besteht: Infrastruktursicherheit, Anwendungssicherheit, Netzwerksicherheit usw. Aufgrund Ihrer Frage glaube ich, dass das Gebiet, an dem Sie interessiert sind, die Sicherheit von Webanwendungen ist - WebGoat und Gruyeres sind zwei anfällige Anwendungen, die die häufigsten Schwachstellen in der Sicherheit von Webanwendungen aufzeigen. Dies ist das einzige Thema, das sie erwähnen und erklären.

Meiner ehrlichen Meinung nach ist der beste Weg, um mit der Sicherheit von Webanwendungen zu beginnen, das Lesen der OWASP Top 1 Liste und Erklärungen und das weitere Testen von Webanwendungen auf Schwachstellen (natürlich nur gegen Ihre eigenen QS-Maschinen) oder mit schriftlicher Zustimmung des Administrators). Wie bereits erwähnt, ist die Fundstone (jetzt McAfee) Hacme-Reihe sehr gut, in vielen Sprachen erhältlich (sodass Sie möglicherweise eine Sprache finden, mit der Sie vertraut sind) und enthält detaillierte Tutorials zum Bearbeiten und Brechen der Hacme-Anwendungen.

Eine vollständigere Liste anfälliger Anwendungen und virtueller Maschinen finden Sie unter Vulnerable Applications Market

Eine andere hervorragende Möglichkeit zu lernen, obwohl es ein bisschen alt ist, besteht darin, die MSDN Security Labs zu bestehen, die kostenlos sind und eine Vielzahl von Fächern unterrichten:

  • Developer Starter Kit: Pufferüberläufe
  • Developer Starter Kit: Codeanalyse
  • Developer Starter Kit: Compiler-Abwehr
  • Developer Starter Kit: Fuzz-Tests
  • Developer Starter Kit: Überprüfung des Sicherheitscodes Developer Starter Kit: Sicherheitsanfälligkeiten in SQL Injection

Viel Glück!

5
Boaz Tirosh

Die meisten Vorschläge hier verweisen auf einige großartige Ressourcen und Ideen. Ich empfehle die Verwendung von VirtualBox für Ihre VM Testumgebung. Wenn Sie über die verfügbaren Mittel verfügen, besorgen Sie sich ein TechNet-Abonnement , damit Sie können Ich glaube, CERT oder eine andere Organisation veröffentlicht auch einige Windows-basierte VM - Bilder, die Sie herunterladen können, aber ich kann mich nicht sicher erinnern, wer es tut oder wo es zu finden ist Sie.

Obwohl ich VirtualBox zum Ausführen von VMs bevorzuge und empfehle, sollte beachtet werden, dass das Testen am besten funktioniert, wenn alle Ihre VMs auf derselben Virtualisierungsplattform ausgeführt werden. Wenn Sie also Systeme hacken möchten, die in VMWare Player ausgeführt werden, sollten Sie Ihr Angriffssystem auch in VMWare Player haben.

3
Iszi

Um ein bisschen zu Schröders ausgezeichneter (+1) Antwort hinzuzufügen.

http://exploit-exercises.com sind interessant; Es sind ein paar virtuelle Maschinen mit Herausforderungen, die irgendwie eskalieren müssen. In Nebula erfahren Sie, wie Sie in fehlerhaften Umgebungen von einem normalen Konto zu einem Root-Konto eskalieren. Viele der Lösungen sind Standardtricks (vertrauen Sie keinen Umgebungsvariablen oder führen Sie eval bei Benutzereingaben aus oder gehen Sie davon aus, dass die ausführbare Datei ausgeführt wird wie vorgeschlagen).

Protostern/Fusion sind weiter fortgeschritten (z. B. Pufferüberläufe).

Empfehlen Sie auch das Lesen von WAHH (es ist nicht kostenlos; aber es ist billig) und Sichere Programmierung unter Linux/Unix .

2
dr jimbob

Ich habe nicht alle Antworten gelesen, aber um mehr über Penetrationstests zu erfahren und dies kostenlos zu tun, können Sie diese Tutorials von irongeek.com hier ausprobieren: http://www.irongeek.com/i .php? page = Videos/Webanwendung-Pen-Test-Tutorials-mit-Mutillidae

Dies sind Anweisungen zum Herunterladen einer absichtlich anfälligen Webanwendung namens mutillidae, mit der Sie Pen-Tests üben können. Die Anwendung mutillidae enthält Hinweise, aus denen Sie lernen können. Wenn Sie einen LAMP-Server haben, können Sie den Ordner einfach in den WWW-Ordner Ihres Servers legen und unter Ihrer lokalen Loopback-Adresse 127.0.0.1 darauf zugreifen. Sie müssen jedoch auch einige Datenbanktabellen auf dem MySQL-Server erstellen, damit dieses Pen-Test-Tool derzeit möglicherweise für Sie fortgeschrittener ist. Das Auffüllen von Tischen ist allerdings nicht so schwierig. Es wird auch nicht die erforderliche Datenbank erstellt. : D.

Dies wäre großartig, um auf einer virtuellen Maschine mit Kali Linux oder Ubuntu ausgeführt zu werden. Insbesondere, wenn Ihr Computer über genügend RAM und CPU-Leistung) verfügt.

Sie können daraus alle möglichen Dinge lernen, wie z. B. SQL Injection, Cross Site Scripting und andere Arten von Angriffen, über die Sie sich informieren können, um sich durch sichere Codierungspraktiken usw. verteidigen zu können.

1
user_loser

Laden Sie verschiedene PHP - Anwendungen in der Anfangszeit herunter. Hosten Sie sie auf Ihrem lokalen Server und versuchen Sie dann, Schwachstellen darin zu finden, indem Sie 2 verschiedene Methoden verwenden, je nachdem, was Sie möchten

  1. OWASP-Testmethode - https://www.owasp.org/images/5/56/OWASP_Testing_Guide_v3.pdf 2.WATC - http://projects.webappsec.org/f/ WASC-TC-v1_0.pdf

Wenn Sie nicht viel über manuelles Pentesting wissen, führen Sie acunetix und nessus für Ihre gehostete Anwendung auf localhost aus. Sehen Sie sich die von ihnen generierten Ergebnisse an und versuchen Sie dann, sie manuell mit der BURP-Suite auszunutzen. Das gibt Ihnen Auftrieb und Selbstvertrauen.

Dann wählen Sie eine dieser Methoden.

Wenn Sie mit dieser Methodik vertraut sind, versuchen Sie, Ihre eigene Checkliste für Tests zu erstellen und jedes Mal, wenn Sie sie finden, neue Testfälle hinzuzufügen.

Sobald Sie all dies getan haben, entscheiden Sie sich für ein Bug-Bounty-Programm.

BUGCROWD ist ein sehr bekanntes Bug-Bounty-Programm. Hier finden Sie die Liste der Anbieter, bei denen Sie Pentest durchführen können. https://bugcrowd.com/list-of-bug-bounty-programs

So sollte der gesamte Prozess ablaufen.

1
FrOgY

Sie möchten mit den Grundlagen beginnen? Springe zu 0:57

Fast jede Ausbeutung existiert, weil wir die Von Neumann-Architektur ausnutzen. Jedes Mal, wenn Sie Daten möglicherweise als Code behandeln können, haben Sie einen Angriffsvektor. Es spielt keine Rolle, was die Architektur ist, was die Plattform ist, was der Technologie-Stack ist ... moderne Webanwendungen überkreuzen mehrere Kontexte: HTML/Javascript im Browser. (Angriffsvektor!)

Ausbeutung bedeutet, dass Sie Ihr Ziel dazu bringen, Ihren Code auszuführen. Das ist der Punkt hinter SQL Injection, XSS, Shellcodes - über alles! Wenn Sie lernen möchten, ein Pentester zu sein, dann holen Sie sich das "Pentester Open-Source-Toolkit". (Es gibt kostenlose Versionen, die legal erhältlich sind.)

Defcon-Vorlesungen sind frei verfügbar und gehören zu den besten Gesamtklassen, die ich je besucht habe. Vor allem aber: Sie müssen sich die Hände schmutzig machen. Sie haben Webgoat erwähnt. Haben Sie Tamperdata auf Firefox installiert? Haben Sie Wireshark installiert? Beim Hacken geht es darum, so viele Tools wie möglich zu haben, um Daten zu sammeln, damit Sie wissen, was los ist. Dieses Video spricht viel über Überwachung ... alles ...

https://www.youtube.com/watch?v=Jwot7S6NmLE

0
avgvstvs

Ich möchte meine zwei Cent in den Topf geben. Ich denke, einige von Tom Scotts Sicherheitsvideos auf Computerphile und seinem eigenen Kanal zu überprüfen, ist ein guter Anfang. Sie sind technisch solide und erklären die Konzepte auf sehr klare Weise. Lassen Sie sich anschließend von der Neugier leiten.

Versuchen Sie, nmap zu installieren, und sehen Sie, was Sie herausfinden können, beispielsweise die Server von Amazon. Suchen Sie nach Dingen in SQL Injection. Was ist mit SHA-1 oder MD5 Freestart? Wie viel würde es kosten? Fragen wie diese können Sie tiefer in den Bereich der Informationssicherheit führen.

Beachten Sie Folgendes: Sie müssen die Dinge kennen, die Sie schützen oder hacken möchten. Zum Beispiel müssen Sie TCP, um Netzwerke und ebenfalls JS für Websites zu hacken) kennen.


Jeffs Antwortangebot enthält einige Einblicke, wenn auch seitwärts. Versuchen Sie, Ihren eigenen Amazon AWS-Server einzurichten und ihn mit verschiedenen Tools zu DDoS zu machen.

Sie können Ihre Fähigkeiten als Hacker auch (legal) auf echten Websites testen und mit Bounty-Programmen für Sicherheitslücken ein wenig Geld verdienen. Hackerone bietet ein Verzeichnis solcher Programme.

0

Zunächst sollten Sie überlegen, mit welcher Art oder in welchem ​​Bereich des Pentests Sie beginnen möchten. Sie können beispielsweise nach Schwachstellen in Websites (OWASP, CTF) suchen, nach offenen Ports suchen und analysieren, welche Dienste ausgeführt werden (Informationen zu Exploits für die aktuelle Version suchen) usw.

Ich empfehle den ersten. Erstens, weil es am einfachsten zu verstehen ist, zweitens, weil in einem schlecht codierten Web am häufigsten eine Sicherheitslücke gefunden wird als in einem System, und drittens, weil es viel Material zu diesem Thema und kostenlose Herausforderungen gibt, in denen Sie Ihr Wissen testen können (CTFs).

0
eez0

Obwohl ich kein Experte bin, habe ich einige Zeit bei Foundstones Hacme Bank verbracht (dachte nur, es wäre schön, auch diese hinzuzufügen).

0
Lex