1.实验内容

1.1本周学习内容

(1)温习了基于网络协议缺陷的一些攻击的原理,包括arp欺骗、dns欺骗等。
(2)基于对三大靶场实践测试的预习,学会了包括sql注入、xss、csrf等攻击的实现过程。
(3)掌握了burpsuit工具的使用,学会了口令爆破的原理与实现,知道了关于复杂口令设置的重要性。
(4)通过自己实现社会工程学攻击,掌握了setoolkit、ettercap工具的使用,深刻认识到了点击不明链接的巨大危险性。

1.2实验具体任务

本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有

(1)简单应用SET工具建立冒名网站
(2)ettercap DNS spoof
(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。

2.实验过程

2.1简单应用SET工具建立冒名网站

首先给出本次实验用到的虚拟机IP

kali虚拟机IP:172.16.217.150

首先在kali虚拟机命令行输入setoolkit打开set工具主界面。

此时主界面会返回如下选项:

  1. 社会工程学攻击
    利用心理操控和说服技巧来获取敏感信息的攻击方式。
  1. 渗透测试(快速通道)
    一种快速进行的渗透测试流程,旨在评估系统的安全性。
  1. 第三方模块
    由社区或其他开发者提供的额外工具或功能模块。
  1. 更新社会工程师工具包(SET)
    更新社会工程师工具包(Social-Engineer Toolkit)到最新版本。
  1. 更新SET配置
    修改或更新社会工程师工具包的配置设置。
  1. 帮助、致谢和关于
    提供有关工具包的帮助信息、致谢列表以及关于该工具包的详细信息。
  1. 退出社会工程师工具包
    退出社会工程师工具包程序。

我们这里选择1,即输入1开始社会工程学攻击

于是我们又会得到这些选项

  1. 鱼叉式网络钓鱼攻击
    针对特定个人或组织的定制网络钓鱼攻击。
  1. 网站攻击
    利用网站作为平台进行的攻击手段。
  1. 感染性媒体生成器
    创建带有恶意软件的媒体文件,如文档、图片等,用于传播攻击。
  1. 创建载荷和监听器
    生成恶意载荷(payload)并在攻击者机器上设置监听器以接收受害者的数据。
  1. 群发邮件攻击
    通过发送大量电子邮件进行的攻击,通常用于传播恶意软件或进行网络钓鱼。
  1. 基于Arduino的攻击向量
    使用Arduino或其他微控制器进行的攻击。
  1. 无线接入点攻击向量
    针对无线网络接入点的攻击手段。
  1. 二维码生成器攻击向量
    生成带有恶意链接或信息的二维码,诱导受害者扫描。
  1. PowerShell攻击向量
    利用PowerShell脚本进行的攻击。
  1. 第三方模块
    由社区或其他开发者提供的额外工具或功能模块。
  1. 返回主菜单。
    退出当前菜单,返回到社会工程师工具包的主菜单。

此处我们选择2,即输入2进行基于网站的社会工程学攻击

然后我们会得到这些选项

  1. Java小程序攻击方法
    利用Java小程序漏洞进行攻击的方法。
  1. Metasploit浏览器漏洞利用方法
    使用Metasploit框架中的浏览器漏洞利用模块进行攻击。
  1. 凭证收集攻击方法
    设计用来窃取用户凭证信息的攻击手段。
  1. 标签劫持攻击方法(Tabnabbing)
    一种攻击手段,攻击者在用户离开原始标签页后,将原始标签页替换为恶意内容。
  1. 网页劫持攻击方法(Web Jacking)
    攻击者通过操纵用户的浏览器会话,将用户重定向到恶意网站。
  1. 多攻击网页方法
    结合多种攻击手段的网页攻击方法。
  1. HTA攻击方法
    利用HTML应用程序(HTA)文件进行攻击的方法。
  1. 返回主菜单
    退出当前菜单,返回到社会工程师工具包的主菜单。

我们的选择是3,即输入3,所以本次攻击就是基于钓鱼网站收集用户有效凭证信息的社会工程学攻击。

最终我们需要在这三个选项中作出选择,以实现钓鱼网站的生成

  1. 网页模板
    提供一系列预设的网页模板,用于社会工程学攻击或其他测试目的。
  1. 网站克隆器
    一种工具,用于复制目标网站的内容和结构,以便创建一个假冒的副本网站。
  1. 自定义导入
    允许用户导入自己的内容或配置,以用于攻击或测试。
  1. 返回网络攻击菜单
    退出当前菜单,返回到网络攻击选项的主菜单。

我们这里选择2进行网站克隆
然后输入我们虚拟机的IP作为钓鱼数据的获取方(攻击方)
这里我选用物理机上的dvwa登录界面作为被克隆的网站。

原网站

克隆网站

此时在克隆网站上输入登录消息,结果可见我们在kali虚拟机中监听到了用户输入的username和password

2.2 ettercap DNS spoof

首先,什么是ettercap?什么是ettercap DNS spoof?

Ettercap 是一款用于网络嗅探和中间人攻击(MITM)的开源工具。它工作在 OSI 模型的第二层(数据链路层),可以截取和修改在局域网(LAN)上传输的数据包。
Ettercap 的 DNS spoof(DNS 欺骗)是一种攻击技术,它允许攻击者拦截和篡改 DNS 查询和响应。通过这种方式,攻击者可以引导用户访问恶意网站,而不是他们想要访问的真实网站。

这里给出当前的靶机与攻击机的IP

kali虚拟机IP:172.16.217.150
win7虚拟机IP:172.16.220.215
win7虚拟机网关:172.16.223.254

所以进行ettercap DNS spoof首先需要获取恶意网站的IP,这里我选择的是天翼快递的网站作为替换的网站,百度作为想要访问的真实目标网站。

于是我们在命令行那个输入vi /etc/ettercap/etter.dns打开ettercap的DNS配置文件,
添加
baidu.com A 47.56.157.205针对baidu.com为域名的DNS解析
*.baidu.com A 47.56.157.205针对以baidu.com为结尾的子域名的DNS解析

接下来就是要通过ettercap实现对目标靶机的dns spoof
输入ettercap -G进入ettercap的图形化界面
点击右上角的Accept(√)

再点击左上角的Scan for hosts(放大镜图标)

扫描结束后点击Scan for hosts(放大镜图标)往右一个图标,查看Host List

此处将win7的IP设为target1,win7的网关设为target2(注意!如果未出现被攻击目标靶机(win7)的网关可以适当多扫描几次,实在不行可以用win7试试ping一下win7网关,用校园网扫出来概率确实比较低)
加上后点击右上角MITM(地球),点击ARP poisoning

再点ettercap Menu中的plugin中的Manage plugin

于是双击启动dns spoof
可以看出,在虚拟机win7中使用nslookup探测baidu.com的IP时,返回的是tykd的IP,说明dns spoof成功。

2.3结合应用两种技术,用DNS spoof引导特定访问到冒名网站。

由于某些特殊的原因,我们的网络环境改变,故所涉及的攻击机与靶机ip都被更改了,

kali虚拟机IP:192.168.50.139
winxp虚拟机IP:192.168.50.16

一如上述2.1与2.2的操作过程,只不过此处被克隆的网页我选择为天翼快递的登录网页,因为天翼快递是至今依然坚持使用http协议为数不多的“珍贵网页”之一了并且具有真实的域名,不会跟dvwa网页一样需要是直接通过宿主机的ip访问,且ettercap仅能处理ip与域名的映射,不能处理ip对ip之间的映射。
效果如图,


于是我们需要再将tykd.com这一域名通过ettercap进行处理,
即先命令行输入vi /etc/ettercap/etter.dns打开ettercap的DNS配置文件,

然后输入
tykd.com A 192.168.50.139
*.tykd.com A 192.168.50.139进行域名欺骗的具体指向

然后ettercap -G打开操作界面
按2.2的方法依次操作,将目标被攻击靶机的IP设为target1,其网关设为target2
然后arp poisoning,
进入plugin manage点击dns spoof

这个时候,我们在winxp上测试一下


攻击成功,得到用户输入的邮箱20222319@163.com与密码20222319,且nslookup显示确实实现了域名的欺骗。

3.问题及解决方案

  • 问题1:set界面里选用模版生成网站与前几次克隆生成网站不可用,会直接停止生成并退回set的上一级选项界面。

  • 问题1解决方案:重新打开。退出当前终端,再新建一个终端打开该工具试试,如果还不行可以试试在右键打开的工具栏里选择setoolkit工具加以打开。这个问题比较奇怪,我是在教室的校园网中遇到的,但在宿舍网中就不存在这一问题了。

  • 问题2:kali虚拟机桥接网卡未被分配到ipv4地址,只有ipv6地址。

  • 问题2解决方案:经测试,该问题与网卡启动异常无关,与网络服务异常无关,与dhcp配置无关,网卡桥接模式选择的类型名称与主机wlan所用的一致,其他虚拟机设备可以正常分配到ipv4地址(虽然地址与宿主机不在同一网段),重启虚拟机问题未解决,重启电脑也没用,
    但是换一个网络就好了,比如宿舍网或者手机热点,后续实验就是这么做下来的。
    我怀疑是不是虚拟机的mac地址被当前实验时所用的校园网网关标记了,取消了为该设备分配ipv4地址,但仍然能见到其存在ipv6地址,这非常奇怪,仍然是个谜。

4.学习感悟、思考等

经过本次实验,我基本明白了DNS欺骗的具体操作过程,更为深入地理解了以往课程中学到的DNS欺骗这一概念,学会了通过setoolkit工具实现基于网页的社会工程学攻击的一般方法,可以说,现在我具有了进行简单社会工程学攻击的能力,但目前来看,我目前掌握的技术仍存在几个缺陷:

一是我的攻击只能局限于局域网下,并不能实现跨公网进行攻击,因为一个完整的攻击过程肯定会涉及公网ip的购买与代码的装载,域名的绑定,目前我还实现不了针对某一公网IP下的某一具体子主机的攻击

二是攻击只能针对不设防虚拟机,对于一般用户使用的Win11、Win10主机的攻击往往会被防火墙或是其他ids挡下来

三是克隆的网站目前只能是使用http协议的网站,因为理论上https的数据虽然也是能读但得到的是加密的数据(我对于用https的tykd网站得到的就是加密数据),并不能获知用户的具体输入,并且set只会克隆https的网站,并不会复制相关的证书,因此用户访问时仍然会显示该网站是不安全的,易引起用户的警惕。

四是目前来看主流网站的登录页面,其重要信息(账号密码邮箱手机等)的输入框一般都是通过链接读取另一个html或者其他文件的数据进行搭建的,并不会把搭建代码都放在当前页面上,因此我们在通过set进行克隆时并不会读到该输入框的真实搭建代码,因此实际上社会工程学攻击所设计的虚假页面都肯定是经过精心设计并手动精修的,不会像我在实验中展示那样只是简单的克隆。

参考资料

posted on 2024-12-06 22:02  20222319  阅读(77)  评论(0)    收藏  举报