Browser-Exploit. Was ist ein Exploit? Wie Exploits entstehen

In der Entwicklungsphase werden in allen Programmen und Netzwerken Schutzmechanismen gegen Hacker eingebaut, etwa Sperren, die unberechtigte Angriffe von außen verhindern. Eine Schwachstelle ist wie ein offenes Fenster, durch das ein Angreifer problemlos eindringen kann. Im Falle eines Computers oder Netzwerks können Angreifer unter Ausnutzung einer Schwachstelle Schadsoftware installieren, um die Kontrolle zu erlangen oder das System aus egoistischen Gründen mit den entsprechenden Konsequenzen zu infizieren. Meistens geschieht dies alles ohne Wissen des Benutzers.

Wie kommt es zu Exploits?

Exploits werden durch Fehler im Softwareentwicklungsprozess verursacht, wodurch Schwachstellen im Sicherheitssystem des Programms entstehen, die von Cyberkriminellen erfolgreich ausgenutzt werden, um sich uneingeschränkten Zugriff auf das Programm selbst und darüber hinaus auf den gesamten Computer zu verschaffen. Exploits werden nach der Art der vom Hacker genutzten Schwachstelle klassifiziert: Zero-Day, DoS, Spoofing oder XXS. Natürlich werden Programmentwickler bald Sicherheitsupdates veröffentlichen, um die gefundenen Mängel zu beheben, aber bis dahin ist das Programm noch anfällig für Angreifer.

Wie erkennt man einen Exploit?

Da Exploits Lücken in Software-Sicherheitsmechanismen ausnutzen, hat der durchschnittliche Benutzer praktisch keine Chance, ihre Anwesenheit zu erkennen. Deshalb ist es äußerst wichtig zu unterstützen installierte Programme aktualisiert, insbesondere um von Programmentwicklern veröffentlichte Sicherheitsupdates zeitnah zu installieren. Wenn ein Softwareentwickler ein Sicherheitsupdate veröffentlicht, um eine bekannte Schwachstelle in seiner Software zu beheben, der Benutzer es jedoch nicht installiert, erhält das Programm leider nicht die erforderlichen aktuellen Virendefinitionen.

Wie kann der Exploit behoben werden?

Da Exploits die Folge von Fehlern sind, liegt ihre Beseitigung in der direkten Verantwortung der Entwickler, sodass es die Autoren sein werden, die Fehlerkorrekturen vorbereiten und verteilen müssen. Die Verantwortung dafür, installierte Programme auf dem neuesten Stand zu halten und Aktualisierungspakete rechtzeitig zu installieren, um zu verhindern, dass Hacker Schwachstellen ausnutzen, liegt jedoch ausschließlich beim Programmbenutzer. Einer von mögliche Wege Verpassen Sie nicht die neuesten Updates – verwenden Sie einen Anwendungsmanager, der dafür sorgt, dass alle installierten Programme aktualisiert werden, oder – noch besser – verwenden Sie ein Tool, das automatisch nach Updates sucht und diese installiert.

So verhindern Sie, dass Hacker Schwachstellen ausnutzen Programme von Drittanbietern
  • Stellen Sie sicher, dass Sie über die neuesten Sicherheitsupdates und Patches für alle Programme verfügen
  • Um online sicher zu bleiben und auf dem neuesten Stand zu bleiben, installieren Sie alle Updates, sobald sie veröffentlicht werden.
  • Installieren und verwenden Sie ein Premium-Antivirenprogramm, das installierte Programme automatisch aktualisieren kann
Schützen Sie sich vor Exploits

Nutzen Sie Ihren gesunden Menschenverstand und befolgen Sie die Grundregeln sicheres Arbeiten im Internet. Hacker können die Sicherheitslücke nur ausnutzen, wenn es ihnen gelingt, sich Zugriff auf Ihren PC zu verschaffen. Öffnen Sie keine Anhänge in verdächtigen Nachrichten und laden Sie keine Dateien aus unbekannten Quellen herunter. Halten Sie Ihre installierten Programme auf dem neuesten Stand und installieren Sie Sicherheitsupdates zeitnah. Wenn Sie diese Aufgabe so weit wie möglich vereinfachen möchten, laden Sie Avast Antivirus herunter, das nicht nur zuverlässigen Schutz vor allen Arten von Malware bietet, sondern auch bei der Installation der neuesten Updates für Programme von Drittanbietern hilft.

Viele unerfahrene Spezialisten auf diesem Gebiet Informationssicherheit Zu Exploits stellen sich viele Fragen: Was sind Exploits? Wer schreibt Exploits? Wie nutzt man Exploits? In diesem Artikel finden Sie Antworten auf diese Fragen!

Was ist ein Exploit?

Ausbeuten- Das Computer Programm, ein Stück Softwarecode oder eine Befehlsfolge, die Schwachstellen in ausnutzt Software und dazu verwendet, einen Angriff auf ein Computersystem durchzuführen. Der Zweck des Angriffs kann entweder darin bestehen, die Kontrolle über das System zu übernehmen (Privilegienausweitung) oder dessen Funktionsfähigkeit zu stören (DoS-Angriff). ...

Im Kern ist ein Exploit ein kleines Beispiel dafür, wie eine bestimmte Schwachstelle ausgenutzt werden kann; in den Händen eines erfahrenen Hackers ist ein Exploit eine mächtige Waffe, die es einem ermöglicht, das Zielsystem zu kompromittieren.

Wer schreibt Exploits?

Exploits werden von Tausenden von Enthusiasten geschrieben, die sich leidenschaftlich für Informationssicherheit interessieren; sie veröffentlichen sie auf vielen bekannten Websites wie SecurityFocus. Sie tun dies nicht aus Ruhmesgründen und nicht aus Freude an Drehbuchkindern, sondern zur Benachrichtigung Systemadministratoren und andere Infüber die Existenz dieser Sicherheitslücke informieren. Denn wenn Sie die Implementierung einer bestimmten Schwachstelle in der Hand haben, können Sie ganz einfach einen „Patch“ schreiben.

Wie nutzt man Exploits?

Trotz der Tatsache, dass viele Anfänger durch die riesigen Datenbanken mit Exploits verwirrt sind, sind sie recht einfach zu verwenden!

Nehmen wir als Beispiel eine Schwachstelle, die in einer der vielen Joomla-Komponenten gefunden wurde. Eine Beschreibung des Exploits finden Sie unter dem Link Joomla Component com_camp SQL Injection Vulnerability.

Zunächst sollten Sie sich die Anwendung und die Version der Anwendung ansehen, bei der die Sicherheitslücke besteht. Wenn Sie gefunden haben, was Sie brauchen, beginnen Sie mit dem Studium der Beschreibung des Exploits. In der Beschreibung schreiben sie normalerweise, wo genau die Schwachstelle gefunden wurde. In unserem Fall ist es die com_camp-Komponente. Wie Sie sehen können, besteht die Schwachstelle aufgrund einer fehlenden Filterung in der cid-Variablen.

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=


Wenn Sie eine Website mit dieser Sicherheitslücke besuchen und ein Anführungszeichen in die Variable cid einfügen, werden Sie höchstwahrscheinlich einen Fehler auf der Seite finden, der auf das Vorhandensein einer SQL-Injection hinweist.

Was macht man als nächstes? Wer nur wenig Fantasie hat, kann viel bewirken! Hier kommen wir zum Exploit selbst. Auf der Exploit-Beschreibungsseite veröffentlichen sie normalerweise eine Datei mit dem Exploit selbst oder einer Programmcodezeile, die entweder kompiliert oder irgendwie an die anfällige Anwendung „gefüttert“ werden muss. In unserem Fall sehen wir eine Zeile SQL-Code, die in die Variable cid eingefügt werden muss:

1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


Auch in unserem Fall sehen wir ein Beispiel für die Umsetzung dieser Schwachstelle:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=-1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8, 9,10,11,12,13,14--


Wenn Sie über diese Daten verfügen und die Struktur der Joomla-Datenbank kennen, können Sie problemlos alle erforderlichen Daten abrufen, einschließlich Anmeldungen und Passwort-Hashes für Benutzer, einschließlich des Administrators.

Welche weiteren Exploits gibt es?


Abhängig von der Methode des Zugriffs auf anfällige Software werden Exploits in Remote- und lokale Exploits unterteilt.

Exploits dienen dazu, Aktionen Dritter auf einem anfälligen System auszuführen und können wie folgt unterteilt werden:

Im Allgemeinen helfen Ihnen GoogleHack und die „Erweiterte Suche“ beispielsweise bei der Suche auf einer bestimmten Website Website: http:securityfocus.com Joomla SQL-Injection zeigt Ihnen viele Exploits, mit denen Sie eine SQL-Injection in Joomla durchführen können.

Können Exploits von jedem Narren genutzt werden?


Nein, nein und NEIN. Um Exploits nutzen zu können, sind mindestens allgemeine Programmierkenntnisse erforderlich (viele Exploits sind absichtlich mit Fehlern geschrieben und bieten nicht viel Funktionalität, da es sich lediglich um eine „Präsentation“ einer Schwachstelle handelt). Darüber hinaus ist es erforderlich, das System zu studieren angegriffen wird, und sammeln Sie genügend Informationen, um den Angriff auszuführen. Die Erfahrung zeigt, dass viele Menschen, die „leichtes Geld“ wollen, einfach nicht über das nötige Wissen verfügen.

Abschluss:
Jeden Tag werden immer mehr Schwachstellen gefunden und daher werden immer mehr Exploits geschrieben. Ich ermutige Sie nicht dazu, Drehbuchkinder zu werden, und ich sage auf keinen Fall, dass Sie diese Informationen nicht für illegale Zwecke verwenden sollten!

Atomenergie kann Licht bringen, oder sie kann ewige Dunkelheit bringen, jeder entscheidet selbst, wie er lebt ...

Informationen für diejenigen, die nicht ganz verstehen, was ein Exploit ist.
Was ist ein Exploit?
Die „offizielle“ Definition kann in Computer-Enzyklopädien nachgelesen werden. Mir gefällt das: „Je nach Zweck ein Programm, ein Stück Code oder ein Skript, das es Ihnen ermöglicht, eine vorhandene Schwachstelle in der Software für alles auszunutzen, was softwaregesteuert ist.“ In gewisser Weise ist ein Hammerschlag gegen ein Smartphone auch eine technische Heldentat, die ein primitives Ziel verfolgt: die Zerstörung des Geräts. Betrachten wir das Wesen, das Anwendungsprinzip und die Rolle eines Exploits beim Hacken eines Systems. Berücksichtigt wird die Frage, wo man den Exploit bekommt, ob es sinnvoll ist, ihn herunterzuladen oder zu kaufen und warum ein bestätigter Exploit möglicherweise nicht funktioniert.

  • Was sind Exploits?
  • Was für Exploits gibt es?
  • Ein wenig über Schwachstellen
  • Die Rolle eines Exploits bei einem Angriff auf ein System
  • Beispiel für einen erfolgreichen Exploit
  • Datenbanken ausnutzen
  • Probleme mit dem Exploit
Woher kommt der Exploit? Wenn Sie Einzelheiten mögen, überspringen Sie diesen Teil.
Die einfachste Erklärung ist die „Beziehung“ zwischen einer Person und einem Virus. Biologisch. In unserem Körper ist alles bis ins kleinste Detail durchdacht, doch wenn er von außen mit Mikrocode konfrontiert wird, bricht er vorübergehend oder für immer zusammen. Sicherheitslücke ist einfach Mechanismusfehler(einschließlich Software) angemessen auf eine Aktion von außen reagieren und dabei die ihm innewohnenden Eigenschaften und Funktionalität (den Mechanismus) beibehalten. UND ausbeuten Es wird nur dann als Exploit bezeichnet, wenn es Ihnen ermöglicht, darauf zuzugreifen Schwachstellen Nutzen. Betrachten Sie dies nicht als Fiktion, es ist wichtig, es sofort zu verstehen.
Ein wenig über Schwachstellen.
Metasploit-Module enthalten Exploits und zielen auf Schwachstellen ab. Es ist üblich, dass Pentester die Methoden formalisieren, nach denen diese Schwachstellen gruppiert werden. So entstand ein ständig wachsender Wortschatz Häufige Schwachstellen und Gefährdungen (CVE) - Häufige Schwachstellen und Entdeckungen. Also denk daran: Die Abkürzung CVE wird Ihnen mehr als einmal begegnen. . Das allgemein akzeptierte Formular ist im folgenden Format verfasst:
CVE – ISSUE_YEAR – ASSIGNED_ID
Zum Beispiel
CVE 2008-4250
Wenn Sie gleich einen Blick darauf werfen möchten volle Liste Newsletter, bitte hier klicken:

Tatsächlich gibt es viel mehr Schwachstellen, die die Geheimnisse des Besitzers preisgeben können, als die offizielle Liste dieses Bulletins. Ja, um in dieses Wörterbuch aufgenommen zu werden, muss sich die Verletzlichkeit einen Platz „verdient“ haben. Und natürlich gibt es keine spezielle Organisation, die sich offiziell damit befasst. Es hängt alles davon ab, worauf der künftige Exploit abzielt – es gibt keine Schwachstelle ohne Exploit. Aber auf jeden Fall führen fast alle Wege zur Exploit-Datenbank und der oben genannten Ressource.
Eine separate Zeile befasst sich mit Sicherheitsproblemen für Microsoft-Produkte. Sie werden durch eine separate Liste namens Microsoft Security Bulletin gebildet. Ihre Schwachstellen werden normalerweise wie folgt gruppiert:
MSYY-XXX
Dabei ist YY das Entdeckungsjahr und XXX die zugewiesene ID.

Kommen wir zurück zu den Hackern. Welche Arten von Exploits gibt es?
Herkömmlicherweise können sie alle in drei Gruppen eingeteilt werden:
  • Service-Exploit
  • Client-Exploit
  • Privilegien-Exploit
Service-Exploit greift einen Dienst an, der beispielsweise lauscht Netzwerkverbindungen. Der Dienst sammelt Netzwerkpakete und wartet darauf, dass der Benutzer eine Verbindung zum Netzwerk herstellt (den Browser startet). Und ein Hacker kann das Gleiche tun, indem er seine eigenen Pakete für diesen Dienst erstellt und einen vollständigen Start des Dienstes verursacht, der (ohne Wissen des Benutzers) in das Netzwerk gelangt.
Client-Exploit – auch bekannt als Client-Exploit – konzentriert sich auf den Angriff auf eine Client-Anwendung, die Inhalte von einem Servercomputer empfängt. Es basiert auf der Tatsache, dass das Opfer einige Aktionen ausführt und das Client-Programm aktiv mit diesen Inhalten arbeiten muss. Einfach ausgedrückt besteht meine Aufgabe als Hacker darin, Sie dazu zu bringen, auf einen Link zu klicken, ein Dokument zu öffnen und auf eine schädliche Website zu gelangen.
Privilegien-Exploit . Seine Aufgabe besteht darin, die im System bereits bestehenden Rechte zu stärken. Erhalten Sie beispielsweise Administratorrechte von einer Gast-UZ. Und da ist es nicht mehr weit von SYSTEM... Beispielsweise gibt es in Windows XP eine Schwachstelle, bei der man mit einfachen Bewegungen . Darüber hinaus lag die Verwundbarkeit an der Oberfläche. Seien Sie nicht faul und schauen Sie sich den Artikel an – Erklärungen werden überflüssig.
Der Exploit-Prozess und seine Rolle bei einem Angriff auf einen Computer.

Allmählich nähern wir uns dem Prinzip, wie Systemkompromisse funktionieren. Jede dieser Phasen ist ein sehr komplexer Prozess, der ein mehrbändiges Handbuch erfordert. Man kann es aber schematisch so darstellen:

  • Ein potenziell anfälliges System wird auf offene Ports und laufende Dienste überprüft
  • Es werden Punkte identifiziert, die getroffen werden können
  • An entfernter Computer ein Exploit einer bekannten Schwachstelle wird an diesen oder diese Punkte gesendet
  • Dem Exploit ist eine Nutzlast beigefügt (die es Ihnen ermöglicht, das System des Opfers zu kontrollieren).
  • Wenn der Exploit funktioniert (es ist der erste, der gestartet wird) und das System des Opfers reagiert, wird die Nutzlast gestartet; Basierend auf den Ergebnissen der Ausführung des Nutzcodes erhält der Hacker Zugriff auf den Computer des Opfers
Wie sieht es persönlich aus oder wie geht man mit dem Exploit um?
Zum Beispiel verwenden wir Kali Linux als Host-Betriebssystem und Windows XP (der Exploit ist uralt, ab Windows XP SP2 macht er dies bereits weniger gerne) als Gast-Betriebssystem in VirtualBox. Wir wissen natürlich, welche Eigenschaften ein Gastcomputer im Netzwerk (in unserem Fall virtuell) hat, aber lassen Sie den Scanner Nmap wird seinen Job machen. Lassen Sie uns „offizielle Informationen“ über das Opfer bereitstellen:
  • nmap -v -n 192.168.0.162
Dabei ist 192.168.0.162 die IP-Adresse des Opfers. Wenn Sie mit vertraut sind, wissen Sie, dass Flags:
  • - V ermöglicht es Ihnen, einen detaillierten Bericht über die Adresse zu erhalten
  • -N deaktiviert Reverse-DNS-Lookups



Wir sehen, welche Ports geöffnet sind und über welche Dienste Dienste ausgeführt werden.
Lassen Sie uns das System noch mehr scannen, um dies zu tun genaue Information bezüglich des Betriebssystems und der Serviceversion. Der Befehl hat die Form (die Position der Flags je nach Befehl ist beliebig):

nmap -T4 -A -v 192.168.0.162


Es gibt jede Menge Informationen. Wir wählen den Ort des Streiks.
Eine ganze Reihe von Ports sind offen, die potenzielle Hintertüren in das System des Feindes darstellen.
Lassen Sie dies einer der offenen Ports sein 135 Mit laufender Dienst mcrpc(auch bekannt als Microsoft Windows RPC - System-Remoteprozeduraufrufdienst). Wir müssen lediglich den passenden Exploit für einen bestimmten Prozess auswählen.
Exploit-Datenbank. Ein paar Sekunden für die Theorie.
Wenn Sie gerade in Cali sitzen, ist die Basis immer griffbereit. Sie benötigen lediglich eine Netzwerkverbindung und können loslegen msfconsole(auch bekannt als Metasploit-Toolkit). Eine ständig aktualisierte Exploit-Datenbank, die Sie sofort sehen können, wenn Sie die Konsole starten msfconsole und den Befehl eingeben Heldentaten zeigen, zeigt eine Liste der Exploits an:


Die Anzeige einer Liste auf dem Bildschirm wird Ihnen noch nichts sagen. Sie werden in alphabetischer Reihenfolge mit Veröffentlichungsdatum, Rangfolge für Anwendung und Betriebssicherheit sowie einer kurzen Erläuterung ihres Ziels dargestellt.
Eine Art Spiegel der Basis ist eine berühmte Ressource
Es ist ebenfalls ausschließlich Exploits gewidmet. Und hier können Sie sich (mit einem Wörterbuch ausgestattet) detaillierter mit der Geschichte des Exploits vertraut machen, ihn direkt herunterladen (wenn Sie Ihren eigenen Exploit erstellen möchten, dazu später mehr) und sich mit Informationen über den Exploit vertraut machen. Im Allgemeinen befindet sich hier der ganze Genuss. Aber es gibt noch etwas anderes.
Keine schlechte Ressource Wo Sie etwas Interessantes finden können, ist:
ru.0day.today/
Eine mehrsprachige Ressource, die nicht nur bekannte (sprich: seit langem behandelte) Exploits bietet, sondern auch die eigenen Versionen der Teilnehmer. Für Geld. Besuchen Sie uns und probieren Sie es aus: Auch die russische Sprache wird dort unterstützt.
Lass uns weitermachen. Wir suchen nach einem passenden Exploit.
Metasploit ist direkt mit der Exploit-Datenbank verbunden, sodass Sie sich die angezeigten Schritte nicht merken müssen: Das Gute an Metasploit ist, dass seine Schritte automatisiert sind (was jedoch nicht immer gut ist). In dem Artikel geht es um den Exploit, und wir werden ihn nur verwenden, d. h. manuell. Lass es uns finden, herunterladen und hochladen. Warum manuell? Mehr dazu im Abschnitt Exploit-Probleme.
Wie finden Sie den Exploit, der Sie interessiert?
Wenn Sie an einem Exploit interessiert sind, der gegen eine bestimmte Plattform oder ein bestimmtes Programm verwendet werden kann, müssen Sie nicht durch die Liste der mehr als eineinhalbtausend manuellen Exploits scrollen, die vom Befehl angezeigt werden
Heldentaten zeigen
Stattdessen können Sie etwas eingeben offene Sitzung Metasploit-Befehl wie:
Suchname: SMB-Typ: Exploit-Plattform: Windows
Metasploit zeigt nur die Exploits an, die auf dem Windows-Betriebssystem funktionieren. Wenn Sie sich als Nächstes für Browser-Exploits unter Windows interessieren, fügen Sie dem Befehl einen Namen hinzu. Sehen:
msf > Suchname:Browsertyp:Exploit-Plattform:Windows


Darüber hinaus können Sie in Kali Linux direkt vom Terminal aus nach Exploits suchen, ohne eine Metasploit-Sitzung auszuführen. Geben Sie den Befehl zur Suche nach einem Exploit im folgenden Format ein:
Suchploit Internet Explorer
Das Terminal sendet Ihnen alle verfügbaren Exploits in der Datenbank zurück, die wöchentlich aktualisiert wird.
Lass uns weitermachen...
Wenn wir also den Dienst kennen, sehen wir den Betriebssystemtyp. Also geben wir in die Datenbank ein: Suchen-Button nach Eingabe einer Anfrage:
Windows-RPC
Lassen Sie uns vor der Suche die Überprüfung des Roboters durchführen und uns mit den Ergebnissen vertraut machen:


Hier ist unseres. Wir klicken auf den Link, gehen zum folgenden Download-Link und schon ist es auf unserem Computer in als Datei 66.c.
ICH WIEDERHOLE
. Alles, was oben erledigt wurde, kann schneller erledigt werden. Geben Sie bei laufendem Metasploit den Befehl ein, um in Ihrem Kali nach einem Exploit zu suchen:



Allerdings kommt es nicht selten vor, dass ein geeigneter Exploit nicht in der Metasploit-Datenbank gefunden wird. Sobald Sie also mit der Funktionsweise von Exploits vertraut sind, können Sie es sich leisten, mehr Zeit darauf zu verwenden, den richtigen Exploit zu finden und zu konfigurieren. Und in unserem Fall bereiten wir den heruntergeladenen Exploit für die manuelle Injektion vor. Im Terminal konvertieren wir es in eine Binärdatei (ich habe zuerst 66.c von gezogen Downloads V Desktop):
gcc 66.c -o 66
Jetzt gibt es zwei davon:


Und ich schiebe die Exploit-Binärdatei direkt in das XP-Opfer:
./66 6 192.168.0.162


Das System hat reagiert. In der Wissenschaft wird dies als erfolgreiches Ergebnis einer Systemkompromittierung bezeichnet. Tatsächlich ist dieser Computer bereits in den Händen eines Hackers. Der Hacker sieht ihn, als säße er an einem Computer – er kann das System über Konsolenbefehle steuern. Sehen wir uns nun an, wie der von Metasploit kontrollierte Exploit genutzt wird. Häfen des Opfers sind wir bereits „beringt“ mit Nmap. Und wie Sie unter anderem bemerkt haben, ist es auch geöffnet 445 unter DienstkontrolleMicrosoft-ds. Wählen Sie im Metasploit-Fenster den entsprechenden Exploit aus:
Exploit/windows/smb/ms08_067_netapi
ausbeuten
Der Computer gehört nicht mehr dem Besitzer.

Exploit-Probleme oder ein Absatz für diejenigen, die es „fertig“ mögen.
Dieser Teil verdient ein eigenes Thema. Aber nur ein Absatz reicht aus. Was erwartet einen Pentester auf dem Weg zur Nutzung eines Exploits? Ich erkläre es an meinen Fingern (die Profis verzeihen mir):

  • Das erste Problem ist die Alterung der Schwachstelle, für die Entwickler fast sofort einen Patch installieren. Ja, die überwiegende Mehrheit der vorhandenen Exploits verdient Ihre Aufmerksamkeit nicht. Sie sind nutzlos – Sicherheitsupdates vertuschen sie. Es gibt also nur wenige Optionen: Wir verwenden 0Tag Heldentaten ( Nulltag) – wenn Sie es finden und bewerben können; oder wir drehen den Kopf und arbeiten alleine; Das ist Problem Nummer eins – wir müssen daraus lernen Betriebssysteme und Programme früherer Generationen: Der Grund ist einfach: Die Entwickler haben „vergessen“, sie zu unterstützen (Windows XP ist ein typisches Beispiel dafür) und reagieren nicht auf neu auftretende Schwachstellen, auch nicht bei offizieller Benachrichtigung (wobei sie jedoch nicht vergessen, zu prüfen, ob diese Schwachstelle vorhanden ist). wird in Arbeitsversionen der Programme oder des Betriebssystems angezeigt - zu ihr).
  • Das zweite Problem (ergibt sich aus dem ersten): Wenn eine Schwachstelle veröffentlicht wird und es einen Exploit dafür gibt, arbeiten bereits Dutzende Spezialisten daran, dass die Schwachstelle weiterhin der Vergangenheit angehört. Sie werden bezahlt. Und wer nach Schwachstellen sucht, möchte auch bezahlt werden. Verlassen Sie sich also nicht auf ausgetretene Schwachstellen: Die Schönheit liegt dort, wo der Weg weniger begangen wird. Wenn etwas auftaucht, das Sie brauchen, Sie aber nicht über die nötige Intelligenz oder Erfahrung verfügen, müssen Sie manchmal dafür bezahlen (mit dem Risiko, ohne Ergebnisse und ohne Geld dazustehen). Und es ist nicht immer die Schuld des Schwachstellenpioniers und Exploit-Autors. Schon allein deshalb, weil es noch ein drittes Problem gibt ...
  • Die technischen Aspekte der Verwendung des Exploits sind, dass am wahrscheinlichsten das ist, was in der englischen Windows-Sprachumgebung funktioniert hat NICHT WILL RIDE auf Russisch. Exploit für Amerikaner geschrieben Windows-Versionen wird zu Recht für das russische System nicht funktionieren. Das Ergebnis der Anwendung kann unerwartet sein: zu einem stillen Fehler vom Typ Metasploit Der Exploit scheint gescheitert zu sein bis ein Dienstausfall auf der Systemseite des Opfers dazu führt, dass es vorsichtig wird.

Der Artikel beschreibt das Wesen, das Anwendungsprinzip und die Rolle des Exploits beim Hacken des Systems. Berücksichtigt wird die Frage, wo man den Exploit bekommt, ob es sinnvoll ist, ihn herunterzuladen oder zu kaufen und warum ein bestätigter Exploit möglicherweise nicht funktioniert.

Was ist ein Exploit?

Die „offizielle“ Definition kann in Computer-Enzyklopädien nachgelesen werden. Mir gefällt das: „Je nach Zweck ein Programm, ein Stück Code oder ein Skript, das es Ihnen ermöglicht, eine vorhandene Schwachstelle in der Software für alles auszunutzen, was softwaregesteuert ist.“ In gewisser Weise ist auch ein Hammerschlag gegen ein Smartphone ein technischer Kunstgriff, dessen ursprüngliches Ziel darin besteht, das Gerät zu zerstören. Süße Bonbons wirken auch gegen den Zahnschmelz.

Woher kommt der Exploit? Wenn Sie Einzelheiten mögen, überspringen Sie diesen Teil.

Wenn eine Schwachstelle bekannt ist, ist es wahrscheinlich, dass ein Exploit auftritt. Verletzlichkeit kann auch auf unterschiedliche Weise interpretiert werden. Wikipedia gibt meiner Meinung nach eine etwas falsche Definition. Sicherheitslücke ist nicht immer ein Fehler oder ein Fehler. Jeder Mechanismus hat eine Achillesferse. Nun, die Tatsache, dass der Motor mit Kraftstoff betrieben wird, kann nicht als Fehler bezeichnet werden. Denn wenn es in der Luft funktioniert, wird das auch sofort zu seinem Nachteil. Wie das Metall, aus dem es zusammengesetzt ist; die Person, die es kontrolliert... Alles hat Mängel, und auch Profis sehen sie in allem.

Die einfachste Erklärung für diese Idee ist die „Beziehung“ zwischen einer Person und einem Virus. Biologisch. In unserem Körper ist alles bis ins kleinste Detail durchdacht, doch wenn er von außen mit Mikrocode konfrontiert wird, bricht er vorübergehend oder für immer zusammen. Sicherheitslücke ist einfach Mechanismusfehler(einschließlich Software) angemessen auf eine Aktion von außen reagieren und dabei die ihm innewohnenden Eigenschaften und Funktionalität (den Mechanismus) beibehalten. Und es wird nur dann als Exploit bezeichnet, wenn es Ihnen erlaubt, darauf zuzugreifen Schwachstellen Nutzen. Betrachten Sie dies nicht als Fiktion, es ist wichtig, es sofort zu verstehen.

Ein wenig über Schwachstellen.

Metas-Module enthalten Exploits und zielen auf Schwachstellen ab. Es ist üblich, dass Pentester die Methoden formalisieren, nach denen diese Schwachstellen gruppiert werden. So entstand das ständig wachsende Wörterbuch „Common Vulnerabilities and Exposures“ ( CVE) – Häufige Schwachstellen und Entdeckungen. Denken Sie also daran: Die Abkürzung CVE wird Ihnen mehr als einmal begegnen. Sein Ziel: Deutsche und chinesische Hacker müssen sicher sein, dass es sich um dieselbe Sicherheitslücke handelt. Und sie alle sehen solche Schwachstellen im Format:

CVE – ISSUE_YEAR – ASSIGNED_ID

Zum Beispiel

CVE 2008-4250

Wenn Sie schon jetzt einen Blick auf die vollständige Liste des Newsletters werfen möchten, klicken Sie bitte hier:

Tatsächlich gibt es viel mehr Schwachstellen, die die Geheimnisse des Besitzers preisgeben können, als die offizielle Liste dieses Bulletins. Ja, um in dieses Wörterbuch aufgenommen zu werden, muss sich die Verletzlichkeit einen Platz „verdient“ haben. Und natürlich gibt es keine spezielle Organisation, die sich offiziell damit befasst. Es hängt alles davon ab, worauf der künftige Exploit abzielt – es gibt keine Schwachstelle ohne Exploit. Aber auf jeden Fall führen fast alle Wege zur Exploit-Datenbank und der angegebenen Ressource.

Eine separate Zeile befasst sich mit Sicherheitsproblemen für Microsoft-Produkte. Sie werden durch eine separate Liste namens Microsoft Security Bulletin gebildet. Ihre Schwachstellen werden normalerweise wie folgt gruppiert:

MSYY-XXX

Dabei ist YY das Entdeckungsjahr und XXX die zugewiesene ID.

Kommen wir zurück zu den Hackern.Welche Arten von Exploits gibt es?

Herkömmlicherweise können sie alle in drei Gruppen eingeteilt werden:

  • Service-Exploit
  • Client-Exploit
  • Privilegien-Exploit

Service-Exploit greift einen bestimmten Dienst an, der beispielsweise Netzwerkverbindungen abhört. Der Dienst sammelt Netzwerkpakete und wartet darauf, dass der Benutzer eine Verbindung zum Netzwerk herstellt (den Browser startet). Und ein Hacker kann das Gleiche tun, indem er seine eigenen Pakete für diesen Dienst erstellt und einen vollständigen Start des Dienstes verursacht, der (ohne Wissen des Benutzers) in das Netzwerk gelangt.

Client-Exploit– auch bekannt als Client-Exploit – konzentriert sich auf den Angriff auf eine Client-Anwendung, die Inhalte von einem Servercomputer empfängt. Es basiert auf der Tatsache, dass das Opfer einige Aktionen ausführt und das Client-Programm aktiv mit diesen Inhalten arbeiten muss. Einfach ausgedrückt besteht meine Aufgabe als Hacker darin, Sie dazu zu bringen, auf einen Link zu klicken, ein Dokument zu öffnen und auf eine schädliche Website zu gelangen.

Privilegien-Exploit. Seine Aufgabe besteht darin, die im System bereits bestehenden Rechte zu stärken. Erhalten Sie beispielsweise Administratorrechte von einer Gast-UZ. Und da ist es nicht mehr weit von SYSTEM... Beispielsweise gibt es in Windows XP eine Schwachstelle, bei der man mit einfachen Bewegungen . Darüber hinaus lag die Verwundbarkeit an der Oberfläche. Seien Sie nicht faul und schauen Sie sich den Artikel an – Erklärungen werden überflüssig.

Der Exploit-Prozess und seine Rolle bei einem Angriff auf einen Computer.

Allmählich nähern wir uns dem Prinzip, wie Systemkompromisse funktionieren. Jede dieser Phasen ist ein sehr komplexer Prozess, der einen mehrbändigen Leitfaden erfordert. Man kann es aber schematisch so darstellen:

  • Ein potenziell anfälliges System wird auf offene Ports und laufende Dienste überprüft
  • Es werden Punkte identifiziert, die getroffen werden können
  • An diesem oder diesen Punkten wird ein Exploit einer bekannten Schwachstelle an einen Remotecomputer gesendet
  • Dem Exploit ist eine Nutzlast beigefügt (die es Ihnen ermöglicht, das System des Opfers zu kontrollieren).
  • Wenn der Exploit funktioniert (es ist der erste, der gestartet wird) und das System des Opfers reagiert, wird die Nutzlast gestartet; Basierend auf den Ergebnissen der Ausführung des Nutzcodes erhält der Hacker Zugriff auf den Computer des Opfers
  • Andere Aktionen sind durch die Vorstellungskraft des Hackers begrenzt (Herunterladen von Viren, Löschen oder Kopieren von Informationen usw.).

Wie sieht es persönlich aus oder wie geht man mit dem Exploit um?

Zum Beispiel verwenden wir Kali Linux als Host-Betriebssystem und Windows XP (der Exploit ist uralt, ab Windows XP SP2 macht er dies bereits weniger gerne) als Gast-Betriebssystem in VirtualBox. Wir wissen natürlich, welche Eigenschaften ein Gastcomputer im Netzwerk (in unserem Fall virtuell) hat, aber lassen Sie den Scanner Nmap wird seinen Job machen. Lassen Sie uns „offizielle Informationen“ über das Opfer bereitstellen:

Nmap -v -n 192.168.0.162

Dabei ist 192.168.0.162 die IP-Adresse des Opfers. Wenn Sie mit vertraut sind, wissen Sie, dass Flags:

  • –v ermöglicht es Ihnen, einen detaillierten Bericht über die Adresse zu erhalten
  • -N deaktiviert Reverse-DNS-Lookups

Wir sehen, welche Ports geöffnet sind und über welche Dienste Dienste ausgeführt werden. Lassen Sie uns das System nach detaillierteren Informationen zum Betriebssystem und zur Dienstversion durchsuchen. Der Befehl hat die Form (die Position der Flags je nach Befehl ist beliebig):

Nmap -T4 -A -v 192.168.0.162

Es gibt jede Menge Informationen. Wir wählen den Ort des Streiks. Es gibt eine ganze Reihe offener Ports, die potenzielle Hintertüren in das System des Feindes darstellen. Lassen Sie dies einer der offenen Ports sein 135 bei laufendem Dienst mcrpc(auch bekannt als Microsoft Windows RPC- Mit System-Remoteprozeduraufrufdienst). Wir müssen lediglich den passenden Exploit für einen bestimmten Prozess auswählen.

Exploit-Datenbank. Ein paar Sekunden für die Theorie.

Wenn Sie gerade in Cali sitzen, ist die Basis immer griffbereit. Sie benötigen lediglich eine Netzwerkverbindung und können loslegen msfconsole(auch bekannt als Metasploit-Toolkit). Eine ständig aktualisierte Exploit-Datenbank, die Sie sofort sehen können, wenn Sie die Konsole starten msfconsole und den Befehl eingeben Heldentaten zeigen, zeigt eine Liste der Exploits an:


Die Anzeige einer Liste auf dem Bildschirm wird Ihnen noch nichts sagen. Sie werden in alphabetischer Reihenfolge mit Veröffentlichungsdatum, Rangfolge für Anwendung und Betriebssicherheit sowie einer kurzen Erläuterung ihres Ziels dargestellt.

Eine Art Spiegel der Basis ist eine berühmte Ressource

https://www.exploit-db.com/

Es ist ebenfalls ausschließlich Exploits gewidmet. Und hier können Sie (mit einem Wörterbuch ausgestattet) mehr über die Geschichte des Exploits erfahren, ihn direkt herunterladen (wenn Sie Ihren eigenen Exploit erstellen möchten, mehr dazu später) und sich mit Informationen über den Exploit vertraut machen. Im Allgemeinen befindet sich hier der ganze Genuss. Aber es gibt noch etwas anderes.

Keine schlechte Ressource Wo Sie etwas Interessantes finden können, ist:

ru.0day.today/

Eine mehrsprachige Ressource, die nicht nur bekannte (sprich: seit langem behandelte) Exploits bietet, sondern auch die eigenen Versionen der Teilnehmer. Für Geld. Besuchen Sie uns und probieren Sie es aus: Auch die russische Sprache wird dort unterstützt.

Lass uns weitermachen. Wir suchen nach einem passenden Exploit.

Metasploit Verlinkt direkt zur Exploit-Datenbank, sodass Sie sich die angezeigten Schritte nicht merken müssen: Metas Das Gute daran ist, dass die Schritte automatisiert sind (was jedoch nicht immer gut ist). In dem Artikel geht es um den Exploit, und wir werden ihn nur verwenden, d. h. manuell. Lass es uns finden, herunterladen und hochladen. Warum manuell? Mehr dazu im Abschnitt Exploit-Probleme.

Wie finden Sie den Exploit, der Sie interessiert?

Wenn Sie an einem Exploit interessiert sind, der gegen eine bestimmte Plattform oder ein bestimmtes Programm verwendet werden kann, müssen Sie nicht durch die Liste der mehr als eineinhalbtausend manuellen Exploits scrollen, die vom Befehl angezeigt werden

Zeigen Sie Heldentaten

Stattdessen können Sie in einer geöffneten Metas-Sitzung einen Befehl wie diesen eingeben:

Suchname: SMB-Typ: Exploit-Plattform: Windows

Metas zeigt nur Exploits an, die unter Windows funktionieren. Wenn Sie sich als Nächstes für Browser-Exploits unter Windows interessieren, fügen Sie dem Befehl einen Namen hinzu. Sehen:

Msf > Suchname:Browsertyp:Exploit-Plattform:Windows

Darüber hinaus können Sie in Kali Linux direkt vom Terminal aus nach Exploits suchen, ohne eine Metas-Sitzung auszuführen. Geben Sie den Befehl zur Suche nach einem Exploit im folgenden Format ein:

Searchsploit Internet Explorer

Das Terminal sendet Ihnen alle verfügbaren Exploits in der Datenbank zurück, die wöchentlich aktualisiert wird.

Lass uns weitermachen...

Wenn wir also den Dienst kennen, sehen wir den Betriebssystemtyp. Also geben wir in die Datenbank ein: Suchen-Button nach Eingabe einer Anfrage:

Windows-RPC

Lassen Sie uns vor der Suche die Überprüfung des Roboters durchführen und uns mit den Ergebnissen vertraut machen:

ICH WIEDERHOLE. Alles, was oben erledigt wurde, kann schneller erledigt werden. Geben Sie in den laufenden Metas den Befehl ein, um nach einem Exploit von Ihrem Kali zu suchen:

Es kommt jedoch nicht selten vor, dass ein geeigneter Exploit nicht in der Metas-Datenbank gefunden wird. Sobald Sie also mit der Funktionsweise von Exploits vertraut sind, können Sie es sich leisten, mehr Zeit darauf zu verwenden, den richtigen Exploit zu finden und zu konfigurieren. Und in unserem Fall bereiten wir den heruntergeladenen Exploit für die manuelle Injektion vor. Im Terminal konvertieren wir es in eine Binärdatei (ich habe zuerst 66.c von gezogen Downloads V Desktop):

Gcc 66.c -o 66

Jetzt gibt es zwei davon:

Und ich schiebe die Exploit-Binärdatei direkt in das XP-Opfer:

./66 6 192.168.0.162

Das System hat reagiert. In der Wissenschaft wird dies als erfolgreiches Ergebnis einer Systemkompromittierung bezeichnet. Tatsächlich ist dieser Computer bereits in den Händen eines Hackers. Für den Hacker ist es, als säße er an einem Computer – er kann das System über Konsolenbefehle steuern. Sehen wir uns nun an, wie der Exploit unter der Kontrolle von Metas genutzt wird. Wir haben die Ports des Opfers bereits mit Nmap „angerufen“. Und wie Sie unter anderem bemerkt haben, ist es auch geöffnet 445 unter Dienstkontrolle Microsoft-ds. Wählen Sie im Metasploit-Fenster den entsprechenden Exploit aus:

Exploit/windows/smb/ms08_067_netapi

Berücksichtigen wir Folgendes:

Verwenden Sie Exploit/windows/smb/ms08_067_netapi

Lassen Sie uns prüfen, was für die erfolgreiche Umsetzung durch das Team erforderlich ist:

Optionen anzeigen

Die Zeile mit der Adresse des Remote-Hosts RHOST ist leer. Füllen wir es mit der IP-Adresse des Opfers aus:

Der Computer gehört nicht mehr dem Besitzer.

Exploit-Probleme oder ein Absatz für diejenigen, die es „fertig“ mögen.

Dieser Teil des Artikels verdient ein eigenes Thema. Aber jetzt gebe ich ihr nur einen Absatz. Was erwartet einen Pentester auf dem Weg zur Nutzung eines Exploits? Ich erkläre es an meinen Fingern (die Profis verzeihen mir):

  • Das erste Problem ist die Alterung der Schwachstelle, für die Entwickler fast sofort einen Patch installieren. Ja, die überwiegende Mehrheit der vorhandenen Exploits verdient Ihre Aufmerksamkeit nicht. Sie sind nutzlos – Sicherheitsupdates vertuschen sie. Es gibt also nur wenige Optionen: Wir verwenden 0TagNulltag) – wenn Sie es finden und anwenden können; oder wir drehen den Kopf und arbeiten alleine; Dies ist das Problem Nummer eins – wir müssen von Betriebssystemen und Programmen früherer Generationen lernen: Der Grund ist einfach – die Entwickler haben „vergessen“ zu unterstützen (Windows XP ist ein typisches Beispiel dafür) und reagieren nicht einmal mit auf neu auftretende Schwachstellen offizielle Benachrichtigung (vergessen Sie jedoch nicht zu prüfen, ob diese Schwachstelle in funktionierenden Versionen von Programmen oder Betriebssystemen auftritt).
  • Das zweite Problem (ergibt sich aus dem ersten): Wenn eine Schwachstelle veröffentlicht wird und es einen Exploit dafür gibt, arbeiten bereits Dutzende Spezialisten daran, dass die Schwachstelle weiterhin der Vergangenheit angehört. Sie werden bezahlt. Und wer nach Schwachstellen sucht, möchte auch bezahlt werden. Verlassen Sie sich also nicht auf ausgetretene Schwachstellen: Die Schönheit liegt dort, wo der Weg weniger begangen wird. Wenn etwas auftaucht, das Sie brauchen, Sie aber nicht über die nötige Intelligenz oder Erfahrung verfügen, müssen Sie manchmal dafür bezahlen (mit dem Risiko, ohne Ergebnisse und ohne Geld dazustehen). Und es ist nicht immer die Schuld des Schwachstellenpioniers und Exploit-Autors. Schon allein deshalb, weil es noch ein drittes Problem gibt ...
  • Die technischen Aspekte der Verwendung des Exploits sind, dass am wahrscheinlichsten das ist, was in der englischen Windows-Sprachumgebung funktioniert hat NICHT WILL RIDE auf Russisch. Ein für die amerikanische Windows-Version geschriebener Exploit wird auf dem russischen System nicht funktionieren. Das Ergebnis der Anwendung kann unerwartet sein: bis hin zu einem stillen Fehler beim Metase-Typ Der Exploit scheint gescheitert zu sein bis ein Dienstausfall auf der Systemseite des Opfers dazu führt, dass es vorsichtig wird. Wir werden das Thema später näher erläutern.

Das war es fürs Erste. Es stellte sich also als lang heraus. Viel Glück für uns.

Woher kommen Spoiler? Haben Sie sich schon einmal gefragt, wie die dürftigen Nachrichten herkommen?
Wird der Sackwagen zu einem wirklich funktionierenden Hauptschlüssel? Wie können zwei Dutzend
Codezeilen: Können Sie eine Shell auf einem Remote-Server erhalten? Heute besuchen wir
Sploit Factory und sehen Sie im Detail, wie es hergestellt wird
Qualitätsprodukt.

Starten Sie MSF eXploit Builder, gehen Sie zum Menü „Editor“ und wählen Sie „Neu“.
Es erscheint ein Fenster mit mehreren Registerkarten (Informationen, Badchars, Analyse,
Shellcode, Design). Gehen wir zur Registerkarte „Informationen“ und sehen uns viele interessante Dinge an
Felder. Wie Sie sich erinnern, werden in diesem Abschnitt die Ziele (OS + SP) und der Typ/das Protokoll angegeben
ausnutzen (z. B. remote/tcp). Darüber hinaus bietet uns das Programm
die Möglichkeit, den resultierenden Exploit zu testen und zu debuggen, sodass Sie ihn sofort nutzen können
Wählen Sie die ausführbare Datei aus und geben Sie die Parameter für den Start an (Port, IP-Adresse).

Wählen Sie also unsere tftpd.exe aus, woraufhin das Dienstprogramm die folgenden Aktionen anbietet
Wahl: Führen Sie die Anwendung aus, führen Sie sie unter einem Debugger aus oder führen Sie sie nicht aus
Im Allgemeinen starten wir einfach die Anwendung. Beachten Sie das auf der rechten Seite
Eine Liste der von der Anwendung geladenen DDLs wird angezeigt.

Jetzt beginnen wir, uns den Exploit-Code anzusehen – zum Glück ist er äußerst klar.