https防止注入_渗透入侵之PE注入如何应对

ebe2e7b22dab37259a9617c82c51fc75.png

早上在先知社区看见一篇手动PE注入的文章。看起来挺感兴趣,研究了一下

技术交流Q 343202158 个人博客:http://www.ahacker.org

环境

OS:windows 7
工具:
LordPE
OD
HxD
PESecurity-master https://github.com/NetSPI/PESecurity

实验

首先实验PEsecurity检查是否有ASLR

ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的

e25be4568e775282f43c80fd97591e14.png

无ASLR,那么使用LordPE打开,并新建一个区段

2ee136ba25a49ae81151dc82858229db.png

b4890d5a7c4f516363ab6954eb40c162.png

由于新加了一个区段,EXE现在无法打开,使用HxD插入1000个00(就是虚拟大小)

8303038bd5215e17d6ba66a147888a53.png

测试能否正常打开

50f90c31c7574fd9928d5a6742b09d78.png

OD打开找到添加的区段

6dc937d96e2cb42d3211c97f80efdd53.png

将入口点改为

jmp 00412000

3c1db2c87d08b7fbc129027bf709add3.png

之后单独保存为一个exe,然后在打开右键跟随jmp就可以去到定义的空白区段了

4aa192753a4c8229a7020f6c2c9aa74b.png

msfvenom生成一个弹Messagebox的shellcode(32位)

msfvenom -p windows/messagebox text="it's demo" -f hex

(懒得在生成一遍)

97797504c577ab49b47d6f6b8e6f9fa1.png


复制生成的shellcode,然后在空白区段选中大部分,二进制->二进制粘贴

3271dad8df5e43391bb9a108af6a07b4.png

之后在保存执行即可看见效果

3bbb0bab43daf18c5bdbf53b8e5cbf65.png

恢复程序正常执行,既然执行了我们要的玩意那么就要恢复原来的程序正常执行
PS:生成什么反弹meterpreter和执行命令的shellcode,之后之后貌似无法还原。。。一堆几把问题。弄了一下午

先打开未被修改过的exe在和修改过的exe对比入口点

f817922542be1029f99247065a30e661.png

执行完上面的之后可以看到进入了下一个区段,把区段的地址拿出来

00405331  |.  68 A0614000   push Hash.004061A0

最后得出要修改的

push ebp
mov ebp,esp
push -0x1
jmp 00405331
-------------------------------------------------
00412103    90              nop
00412104    9D              popfd //恢复堆栈
00412105    61              popad //恢复堆栈
00412106    55              push ebp
00412107    8BEC            mov ebp,esp
00412109    6A FF           push -0x1
0041210B  - E9 2132FFFF     jmp Hash7.00405331 //跳转到下一个区段00405331

找到shellcode最后的call然后替换为上面的
(修改前)

c7a59634b3f5a5e7d0d1a17c2474f560.png

(修改后)

ff3ad1360d60277632226a27ba50d2a5.png

在另存为一个单独的exe,效果如下

8a0c4afe9b247f38ca7b0d6d27d81edb.gif

执行calc的

aa91dbc642f1b8200e7e5fe63378b919.gif

为了把calc弄的和上面可以正常返回,开始了折腾数小时的操作…..

  • popfd和popad不行 X
  • 堆栈平衡,calc好像弹不出 X

堆栈平衡:shellcode之前的ESP-shellcode执行之后的ESP=差值

812640a3c2c897a069307a69b6de843d.png

794157c2b1b3d7f1ef83d654db98a898.png

尝试F8到calc弹出之后在返回 X

8c669e7adffa06a6cde452a9061cb4eb.png

b2fc38914d90079c01f0160d68a1031f.gif

尝试和原文反弹nc和meterpreter的,可以是可以。问题和上面如上,不过nc反弹的话海星

cf91979369b39be9b1523ebae63210c3.png

b76260bb19ef60a0a7372a311be7ff2c.png

后面十分纠结…问了某dalao说是shellcode的问题

由于本人太垃圾没有找到解决的方法,待定….

后续继续更新文章

自动化的工具使用:
[kali linux捆绑工具shellter的安装及使用

(https://blog.csdn.net/qq_34444097/article/details/79573798)
原文:https://422926799.github.io/posts/76f3e4e2.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值