shellcode加载器 编写方法

 

 

1. 生成shellcode

利用常见的工具,如Metasploit和Cobalt Strike生成出shellcode,如下例子:

msfvenom -p windows/x64/exec CMD=calc.exe -f hex

2. 编写加载器

不同的编程语言,编写的逻辑也是基本一致。

- 选取库文件

- 输入shellcode

- 获取dll文件

- 内存属性获取(申请一块可读可写可执行的内容)

- 拷贝shellcode、长度到内存上

- 执行线程,利用回调函数执行shellcode

- 等待线程回调返回,防止主线程先结束

 

学到这里,疑问变得更多了。

执行shellcodeLoader前,需要对shell进行免杀、杀软绕过的的处理,这个是另外的学习方向和需要不同学习材料;

除了平台上给的通用shellcode,是否还有别的可以使用;

作为防守方时,如何动态调试分析、静态调试分析shellcode,

 

希望学完这些后,能自己完成很多有趣的漏洞利用代码和独立的Shellcode的编写,或者改写他人优秀的Shellcode代码。

 

参考文章:

https://xz.aliyun.com/t/2108

https://www.freebuf.com/column/231663.html

https://www.freebuf.com/articles/network/228795.html

posted @ 2023-08-03 17:51  ardyh  阅读(480)  评论(0)    收藏  举报