• MSF基础应用


    20175314 2020-4 《网络对抗技术》Exp6 MSF基础应用 Week9

    一、实践目标

    1、实践对象

    • Kali Linux
    • Metasploitable Linux
    • Windows 10
    • Windows 7
    • Windows XP

    2、实践内容

    • 成功主动攻击,如ms08-067
    • 成功针对浏览器的攻击,如ms11-050
    • 成功针对客户端的攻击,如Adobe
    • 成功应用辅助模块的攻击

    二、基础知识

    1、实践要求

    • 掌握metasploit的基本应用方式,重点是常用的三种攻击方式的思路
    • 实践可不限于示例,并要求至少有一个是和其他所有同学不一样

    2、指令/参数

    • SYN Flood攻击指令
      hping3 -q -n -a [伪造源IP] -S -s [伪造源端口] --keep -p [目的端口] --flood [目的IP]

    3、预备知识

    • 使用Nmap探测靶机的漏洞(以MS08-067为例)

      • Windows XP
      • Windows 7
    • Ubuntu使用docker搭建samba

      sudo su
      apt-get upgrade
      apt-get update 
      apt-get dist-upgrade
      apt-get install docker.io
      apt-get install samba
      
    • SYN Flood攻击

      • Synchronize Sequence Numbers,同步序列编号,是TCP/IP建立连接时使用的握手信号;
      • SYN Flood利用TCP协议缺陷,通过一定的操作破坏TCP三次握手建立正常连接,占用并耗费系统资源,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求;
      • 攻击原理:通常客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,在进行第三次握手时,服务器等待客户的确认,由于源地址是不存在的,服务器需要不断地重发直至超时。这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求不能进去以及被丢弃,目标系统运行缓慢并引起网络拥堵。

    三、实践步骤

    1、主动攻击

    (1) MS08-067漏洞渗透攻击实践(成功/不唯一)

    • 启动msfconsole查找漏洞

    • 显示该漏洞的渗透模块

    • 进入该漏洞模块的使用,显示有效的攻击载荷,选择shell_reverse_tcp

    • 显示可以被攻击靶机的操作系统版本,可以看到Windows XP SP3中文简体版在列

    • 设置攻击有效载荷generic/shell_reverse_tcp,显示连接需要设置的参数options

    • 设置LHOSTKaliIP和RHOSTWinIP,按照原来实验的思路把端口对齐到5314

    • 再次查看options都已设置完成,于是开始攻击,但是不仅连接被拒绝而且session对象创建失败

    • 也许是因为端口的问题,于是恢复默认的端口,连接成功但是session对象还是创建失败

    • 也许是因为这台Windows已经安装了KB958644补丁,于是要苦寻传说中没有补丁的WinXPmhJ9

    • 终于安装完成后重复原来的步骤后我发现,这个版本不仅系统问题很多而且依然不能创建session对象(有缘也许可以成功)

    • 也许是因为MSF水土不服的问题,于是要苦寻以前从来没用过的英文版WinXP4VAk

    • 终于安装完成后再一次重复原来的步骤终于连接成功了(果然是系统的问题)

    • 进行一些指令操作验证连接的效果,ifconfig/all查看Win的各类地址

    • dir指令查看payload所在目录下的文件,chdir指令查看payload的路径

    • 查看Win目前的用户,显示只有Administrator

    • 查看新建用户,设置用户名和密码,然后再次查看当前的用户,显示添加成功

    • 检查用以远程连接的端口3389是否开启

    • 显示没有开启,执行REG ADD指令开启端口3389

    • 再次检查显示端口3389已开启

    • 在主机系统进行远程连接,输入靶机IP地址

    • 使用自己创建的用户名和密码登录但显示权限不够

    • 再回到Kali端使用MSF提权

    • 重新登录成功

    (2) samba漏洞渗透攻击实践(成功/唯一)

    • 使用docker搭建samba

    • 因为安装经过数次,显示地址已被占用

    • 检查进程地址,关闭进程并查看是否已经成功开启docker-samba

    • 在Kali端/usr/share/metasploit-framework/modules/exploits/linux/samba/修改MSF的is_known_pipename模块脚本is_known_pipename.rb

    • 启动MSF,端口和地址都没有问题但是exploit总是失败,显示地址非法

    • 也许是因为Ubuntu搭建的samba环境版本较新,于是要苦寻Metasploitable2

    • msfadmin/msfadmin登录系统,查看IP地址信息

    • 在Kali端使用nmap探测samba

    • 启动msfconsole,根据options设置相关参数,攻击成功

    2、针对浏览器的攻击

    (1) MS17-010漏洞(永恒之蓝)渗透攻击实践(成功/不唯一)

    • 启动msfconsole查找漏洞

    • 查找有效攻击载荷

    • 根据opions设置相关参数,启动攻击

    • 在靶机的浏览器(IE)输入Kali的IP地址

    • 攻击成功,编码显示有问题,可以换一个payload试试

    (2) MS10-002漏洞(极光)渗透攻击实践(成功/唯一)

    • 启动msfconsole查找漏洞

    • 查找有效攻击载荷

    • 根据opions设置相关参数,启动攻击

    • 在靶机的浏览器(IE)输入Kali的IP地址,无响应提醒,后门攻击成功标志性现象

    • 反弹连接成功但是非常奇怪,输入dir指令返回的是Kali的信息

    3、针对客户端的攻击

    (1) Adobe Reader漏洞渗透攻击实践(成功/不唯一)

    • 启动msfconsole查找漏洞

    • 选择漏洞,查找有效攻击载荷

    • 根据opions设置相关参数,生成pdf文件,将这个文件按照路径取出并复制到靶机

    • 退出当前模块,进入监听模块,根据opions设置相关参数,开始监听

    • 在靶机使用Adobe Reader启动markmsf.pdf

    • 攻击成功,该载荷非常稳定没有编码问题

    (2) Office Word漏洞渗透攻击实践(成功/唯一)

    • 启动msfconsole查找漏洞

    • MS11-006漏洞具有更强的实用性,查找有效攻击载荷

    • 根据opions设置相关参数,与我之前完成的免杀进阶生成的带宏的docm文件不同,这次生成的是普通的doc文件,将这个文件按照路径取出并复制到靶机

    • 退出当前模块,进入监听模块,根据opions设置相关参数,监听失败

    • 还是地址与端口连接的问题,尝试关闭进程重启后还是不行,所以还是换个端口试试比较实际,所以doc文件也需要重新设置生成,然后再重新尝试监听

    • 这里反弹连接的方式很特别,双击打开没有反应

    • 经过多次尝试,发现只需要在文件夹中启动缩略图查看即可

    4、辅助模块攻击

    (1) SYN Flood(成功/唯一)

    • 启动msfconsole,显示所有的辅助模块和用途

    • 靶机启动任务管理器监控CPU的使用率,启动Wireshark,启动攻击

    • 靶机几乎瘫痪,停止攻击后查看任务管理器和Wireshark捕包结果

    (2) Web漏洞扫描(成功/唯一)

    • 启动msfconsole,根据options设置相关参数,启动扫描

    四、实践报告

    1、遇到的问题

    • 问题 Ping过程Negotiating IP Security

    • 解决方案 服务中停止IPSEC Services

    • 问题 Windows关闭Generic Host Process for Win32 Services

    • 解决方案 数据执行保护为Generic Host Process for Win32 Services启用DEP

    2、基础问题回答

    • 用自己的话解释什么是exploit,payload,encode
    • exploit 利用系统、程序或服务的漏洞进行攻击的一个过程,即漏洞利用,在MSF攻击过程中也能通过run实现;
    • payload 攻击者在目标系统上执行的一段攻击代码,即攻击载荷,该代码具有反弹连接、创建用户、执行其他系统命令的功能,在在MSF攻击过程中通过exploit运输;
    • encode 可以避免使攻击载荷不能完整运行的坏字符或是改变特征码,在MSF攻击过程中对payload进行包装,帮助其避免被杀软发现。

    3、实验收获与感想

    • 经过了前面两次以分析为主的实验,再次使用MSF感觉对过程更加清晰,解决问题的能力也有所提升,本次实验的四个部分都使用了两种方式实现,而且都成功了,虽然是MSF基础应用,但是学习到新的知识和技能感觉还是挺有成就感的。结合免杀的实践,每次后门攻击都至少应该做相应的进程迁移,包括扫描等操作也应该清理入侵痕迹,但是这样理想化的环境也能让我有所体验利用各种有趣的漏洞。
    • 如果要考虑实战,我认为首先要想办法如何连接目标机器或将后门程序植入目标机器,不然再大的漏洞都是摆设,比如可以入侵服务器(网关)、控制内部网络等等,方法有很多但是肯定多少也要结合一定社会工程学。除了上述所说以外还有很重要的一点就是上一个实验即信息搜集,比如针对客户端的攻击,首先要对目标主机的漏洞情况和系统情况还有客户端情况有所掌握,目标机器上是否已经安装补丁?系统是中文版还是英文版?是否安装Adobe或Office?等等问题需要掌握,但是从实用性和普遍性来看,针对浏览器的攻击应该还是比较实用(因为浏览器的漏洞除了MS代号大多都还有一个美丽的中文名)。
  • 相关阅读:
    高校招生说明网页被挂马 考生浏览需谨慎 狼人:
    匹配情况hdu4451Dressing
    方法springBean Lifecycle in Spring
    android颜色关于Android TabHost切换Tab字体的颜色背景颜色改变
    推荐美国简单的选项卡功能实现
    按钮function关闭子页面刷新父页面中部分控件数据
    编码文件AndroidStudio初体验:解决Execution failed for task ':TestAndroid:compileDebug'.
    图片类关于实现图片剪切功能的相关类的学习心得
    nullnull10879 Code Refactoring
    java独立HDU 2845 Beans
  • 原文地址:https://www.cnblogs.com/SANFENs/p/12706021.html
Copyright © 2020-2023  润新知