首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用msfvenom生成外壳代码

使用msfvenom生成外壳代码
EN

Stack Overflow用户
提问于 2017-02-17 03:58:15
回答 1查看 14K关注 0票数 0

根据这段视频

他使用msfpayload & msfencode来生成cmd命令的外壳代码。

代码语言:javascript
复制
msfpayload windows/exec cmd=calc.exe R | msfencode -e x86/alpha_mixed -t c -v

但是现在,metasploit团队将msfpayload &ms芬代码更改为msfvenom,因此我将上面的代码转换为msfvenom:

代码语言:javascript
复制
msfvenom -a x86 --platform windows -p windows/exec cmd=calc.exe -e x86/alpha_mixed -f c

已生成外壳代码,但在cmd上执行命令后未启动计算器。我的毒液密码怎么了?感谢您的阅读。

更新:在视频中,他使用了一个简短的外壳代码。他在描述中公开了外壳代码,但没有展示如何生成它。我听从了他的指示,得到了一个很长的密码。当我使用他的短short代码时,它是有效的,但在我的长short代码中没有发生同样的情况。

EN

回答 1

Stack Overflow用户

发布于 2022-06-28 09:44:07

问题是,在msfvenom中使用-f c将导致shellcode代码作为不能在命令行中直接执行的输出。外壳代码需要一个包装程序,它将把外壳代码放入内存并执行它。然后,需要将该程序编译为可执行文件。

用c++编写的示例包装函数:

代码语言:javascript
复制
#include <stdio.h>

unsigned char code[] = "\xYourShellCode";

int main(int argc, char **argv) {
  int foo_value = 0;

  int (*foo)() = (int(*)())code;
  foo_value = foo();

  printf("%d\n", foo_value);
}

相反,如果您只想要一个可执行文件作为输出,您可以尝试如下:

(弹出x64窗口的calc )

代码语言:javascript
复制
msfvenom --platform windows --arch x64  -p windows/x64/exec CMD=calc.exe -b '\x00\x0A\x0D' -f exe -o a.exe
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42289112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档