Module: Msf::Payload::Linux::Aarch64::SleepEvasion
- Defined in:
- lib/msf/core/payload/linux/aarch64/sleep_evasion.rb
Instance Method Summary collapse
Instance Method Details
#sleep_evasion(opts = {}) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/msf/core/payload/linux/aarch64/sleep_evasion.rb', line 3 def sleep_evasion(opts = {}) seconds = opts[:seconds] || rand(60) seconds_lo = seconds & 0xffff seconds_hi = (seconds >> 16) & 0xffff sleep_evasion_stub = [ (0xd2800000 | (seconds_lo << 5) | 0x0), # mov x0 (0xf2a00000 | (seconds_hi << 5) | 0x0), # movk x0, #<seconds_hi>, lsl #16 0xa9bf07e0, # stp x0, xzr, [sp, #-16]! 0x910003e0, # mov x0, sp 0xd2800001, # mov x1, #0 0xd2800ca8, # mov x8, #101 0xd4000001, # svc #0 0x910043ff, # add sp, sp, #16 ].pack('V*') sleep_evasion_stub end |