shellcode编码,shellcode代码

首页 > 经验 > 作者:YD1662022-11-07 08:22:18

shellcode编码,shellcode代码(1)

前言

在做红蓝攻防时,常常要用到cs、msf等工具,使用工具生成shellcode或可执行程序,那么小小的shellcode为何能做这么多事情,拿到shellcode后又该怎么分析。希望这篇文章能给大家带来答案,文章中不正确的地方请及时指出。

shellcode定义

shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制之机械码,以其经常让攻击者获得shell而得名。shellcode常常使用机器语言编写。 在寄存器eip溢出后,加入一段可让CPU执行的shellcode机械码,让电脑可以执行攻击者的任意指令。 --摘自维、基、百科

通俗来讲就是一串16进制的机器码,由CPU解释为操作指令 ,最后由内存加载执行。这些操作指令可以由工具生成,也可以自己编写。

例如常见的\x55\x88\xEC,经CPU解释后如下

55 push ebp

8B EC mov ebp, esp

了解一些汇编知识就能理解,这是一个简单的入栈操作

shellcode编码,shellcode代码(2)

shellcode提取

这里以cs生成的powershell代码举例,首先使用Cobalt Strike生成一个powershell的payload。

shellcode编码,shellcode代码(3)

可以看到使用了base64和xor编码,可以使用CyberChef工具进行解码,解码后转成hex并去除空格

shellcode编码,shellcode代码(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.