DNS信息查询综合实验

【目的】

  希望学生可以利用相关工具与平台针对一个企业的DNS、IP信息进行收集,同时以此希望学生能够提高对企业网络资产信息保护的意识。

【预计完成时间】

   45分钟。

实验环境

1
2
3
操作机:kali

用户名:root 密码:Sangfor!7890

【环境】

  1. 设备需求
  • Linux操作系统的电脑

  • Windows操作系统的电脑

  1. 配置说明
  • 系统能够正常访问互联网
  1. 环境测试
  • 使用pingnslookupwhois等命令,能够对域名做正确的DNS解析

【工具】

  • whois
  • nslookup
  • dig
  • subDomainsBrute
  • IP反查

【原理】

  域名系统(英文:Domain Name
System,DNS)是因特网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。DNS
使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

  当个人或者企业实体注册域名时需要注册许多信息,注册隐私的设置各种各样,我们可以搜集这些信息并用来验证IP空间。根据这个线索,可以寻找属于该个人或者企业实体的其他网站信息,甚至于核心员工的号码和地址。

【步骤】

1. 利用相关命令进行针对域名的信息收集。

1
2
3
- 确定目标:sangforedu.com.cn、sangfor.com.cn

- 本次实验需要对该目标下的域名、IP进行信息收集。

2. 使用 whois 命令对该域名进行查询: whois sangforedu.com.cn

image.png

这里我们又发现一个新的域名:sangfor.com.cn,继续利用whois进行查询:

image.png

其中比较重要的有邮箱、电话号码、姓名,在后期社会工程学攻击中可能有用。

通过查询出的邮箱,在利用站长之家网站提供的几个域名反查工具进一步查询:

image.png

又可发现一些新的域名: gbasic.cnsecurelogin.com.cn等等。

image.png

利用whois进行相关正向反向查询的介绍就到这里,学生可自行对其他邮箱、电话、联系人姓名进行whois反查,获取更多的信息。

3. 利用nslookup工具进行域名查询(windows中的命令提示符中进行操作,kali终端中使用dig进行查询,详见第4步)。

查询A类型记录:

image.png

查询MX类型记录:

image.png

4. 利用dig工具查询各类DNS的解析。

直接查询域名:dig sangfor.com.cn (或者:dig @DNSServerIP domain

image.png

指向负责解析的DNS主机:dig sangfor.com.cn @8.8.8.8

image.png

查询NS记录:dig sangfor.com.cn NS

image.png

查询TXT记录:dig sangfor.com.cn TXT

image.png

5. 使用DNS子域名爆破工具,针对子域名进行爆破,同时解析出对应的IP地址。

github上查找subDomainsBrute工具

使用git clone命令将工具下载下来,并赋予”subDomainBrute.py”文件执行权限。

image.png

该工具的帮助文档及参数说明(注意,使用python3进行执行)

image.png

使用该工具。

python3 subDomainsBrute.py --full -t 10 sangfor.com.cn -w

使用-w进行扩展扫描,增大命中概率。

image.png

通过子域名的爆破,可以进一步明确企业网络资产(有哪些域名、域名对应什么系统、域名集中的C段地址等等),这是攻击者、防御者都需要时刻关注的方面。

扫描完成后,会在该工具同目录下,生成对应的文本文件,最终获取的子域名结果如下:

image.png

6. 利用多地Ping工具,查看域名真实IP。

一些站点为了能够让用户获得更好的体验与提高安全性,会采用CDN技术对网站进行加速,因此在使用nslookup等工具进行本地查询时,可能无法获取到网站的真实IP地址。

这种情况下,通常采用多个地点对网站进行访问,查看解析结果的方式来确定是否使用CDN。

在浏览器中输入http://ping.chinaz.com/sangfor.com.cn

image.png

image.png

7. 针对部分IP进行信息收集

通过上述步骤,可以将确定的集中在某一C段IP进行查询,确定是否属于该企业。

选取子域名爆破结果中多次出现的一个IP(C段): whois 222.126.229.179

image.png

查询出该地址所以段的相关信息,地理位置等信息,多个IP地址查询出的信息,进行交叉分析,可能会有较全面的信息内容。

或者在网上采用IP地址反查,可能查出更多信息。

image.png

【总结】

  • 本实验主要通过利用各类DNS、IP查询工具,进行网络信息进行收集。
  • 通过本次实验学生应该掌握DNS、IP信息收集的相关知识、工具。

DNS域传输实验

实验目的

  通过此次实验,希望学生体验dns域传输漏洞原理及危害。

实验环境

1
2
3
4
5
6
7
操作机:kali

用户名:root 密码:Sangfor!7890

靶机:Ubuntu20.04

用户名:root 密码:Sangfor!7890

实验原理

DNS作为重要的互联网基础设施,难免成为黑客的重点攻击目标,服务的稳定性尤为重要。

DNS服务器分为:主服务器、备份服务器和缓存服务器。在主备服务器之间同步数据库,需要使用“DNS域传送”。域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。

若DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。凭借这份网络蓝图,攻击者可以节省很少的扫描时间。

大的互联网厂商通常将内部网络与外部互联网隔离开,一个重要的手段是使用Private DNS。如果内部DNS泄露,将造成极大的安全风险。风险控制不当甚至造成整个内部网络沦陷。

实验步骤

1.开启靶机漏洞环境

登录”Vulhub”靶机,并进入漏洞环境路径,开启docker环境。

操作步骤如下图所示:

image.png

图中1处,使用用户名和密码登录靶机,用户名root,密码Sangfor!7890

图中2处,进入DNS域传输漏洞环境路径,命令如下

1
cd ~/vulhub-master/dns/dns-zone-transfer

图中3处,启动漏洞环境,命令如下

1
docker-compose up -d

图中4处,查看容器是否启动成功,命令如下,重点看status这一列。有启动时间即可。表示靶机环境已开启。

1
docker ps

2.查看靶机ip地址

使用ifconfig命令,查看当前靶机IP地址。关注ens18显示的IP地址

image.png

图中查看靶机IP地址为192.168.0.161,该地址将用作攻击机解析域名的指定DNS服务器。

3.漏洞复现

测试一

登录攻击机kali,在终端中,使用dig命令,尝试靶机是否存在域传输漏洞。

操作步骤如下图所示:

(1)、登录kali主机

image.png

(2)开启终端,并测试靶机是否存在域传输漏洞

image.png

图中1处,点击终端图标,新建一个终端窗口

图中2处,输入测试命令如下

1
dig @192.168.0.161 -t axfr vulhub.org
  • @192.168.0.161 表示指定域名解析服务器,即DNS服务器

  • -t axfr 表示请求类型(type)为axfr,即表示域传输请求类型

  • vulhub.org 表示请求的域名

发送域传输请求后,得到了关于vulhub.org域名下所有的域名信息,证明域传输漏洞是存在。

测试二

使用nmap工具对DNS服务器进行扫描测试。

命令

1
nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 192.168.0.161

如下图所示:

image.png

图中表示,通过nmap扫描脚本,对vulhub.org域名进行域传输测试。

  • --script dns-zone-transfer.nse 表示使用域传输检测脚本dns-zone-transfer.nse
  • -script-args "dns-zone-transfer.domain=vulhub.org" 配置脚本的参数,即目标域名vulhub.org
  • -Pn表示进行ping测试
  • -p 53表示指定端口,此处为53号端口

测试结果,与测试一结果相同,即证明域传输漏洞是存在。

实验总结

通过手动启动靶机测试环境,并通过两种测试方式,向靶机发送域传输请求,以验证是否存在域传输漏洞。

子域名收集实验

实验目的

通过本实验中子域名收集的方法和常用工具,完成对指定(授权)域名的子域名信息收集。

实验环境

1
2
3
4
5
操作机:kali

用户名:sangfor

密码:Sangfor!7890

实验原理

通过互联网的公共信息资源,通过相关的方法和工具,实现对指定域名的子域名信息收集,为后续的测试,提供更全面的测试面,提高成功率。

实验步骤

一、子域名爆破工具

  • 1、安装爆破工具

登录”Kali”操作机,在终端中输出命令git clone https://github.com/lijiejie/subDomainsBrute,下载子域名爆破工具subDomainsBrute

image.png

图中2处,下载安装工具;

图中3处,下载完毕后,查看当前目录是否新增了该工具的文件夹。

  • 2、增加执行权限

进入工具的文件夹,使用命令chomd +x subDomainsBrute给执行脚本程序赋予执行权限

image.png

image.png

由上图可见,已成功给脚本文件增加执行权限。

  • 3、使用工具,检测对应的域名存在的子域名

注意:禁止对非授权域名进行探测、爆破,避免触犯国家相关法律规定。

image.png

因工具需使用python3中的部分模块(python2中可能不存在),所以在前面指定使用python3执行。

从图中可见,扫描完成后,生成了txt文件,存放扫描结果,本次探测出91个子域名。

通过cat命令,可以查看详细信息。

image.png

二、搜索引擎

使用搜索引擎指定站点语法site:,搜索子域名。

Google搜索

image.png

注:-www表示搜索结果中,去掉包含www字符串的结果。

Bing搜索

image.png

Baidu搜索

image.png

三、使用theHarvester工具

在终端中输入theHarvester,可以看到如下界面。

image.png

想要查看关于参数的说明文档,可使用theHarvester --help

image.png

image.png

-d 指定域名

-g 使用google搜索

-s 使用shodan搜索

-b 指定某一种或全部(all)搜索。如果要使用shodangithub等引擎搜索,需要设置对应的API-key,对应的文件是api-keys.yaml,路径为/etc/theHarvester目录下。

使用bing搜索引擎进行搜索,如下图所示:

image.png

image.png

在图中可见,除了搜索出子域名和IP地址外,还查询到邮箱地址。

使用dns爆破参数-c

image.png

搜索结果:

image.png

实验总结

通过使用subDomainsBrute、搜索引擎相关语法、theHarvester,分别完成对指定域名子域名的信息收集,更为全面的了解被测试目标相关联的域名,为后续测试,提供信息支撑。

子域名收集2

实验目的

本实验将通过aquatone工具集,实现对目标子域名信息的收集,并实现对主机端口的扫描探测。

实验环境

1
2
3
4
5
操作机:kali

用户名:root

密码:Sangfor!7890

实验原理

aquatone是一个工具集合,通过3个工具的配合,完成目标子域名和相关信息收集。

实验步骤

1.登录”Kali”操作机,打开终端,输入命令aquatone-discover --help查看相关参数的帮助文档

image.png

从图中可见,主要涉及几个重要参数:

1
2
3
-d,指定目标域名
--nameservers,指定使用的名字服务器
-t,指定查询线程数

扩展:

aquatone-discover支持扩展查询,比如shodan搜索引擎,扩展查询需要指定其API Key值。

第2步骤中的截图,因为没有指定相关扩展查询的API Key,所以显示Skipped(跳过)。

设置shodan API key,使用shodan搜索更全面的域名信息

image.png

设置完成,key会保存在~/aquatone/目录下的.keys.yml文件中,该文件是隐藏的,可以使用命令ls -la查看到该文件,如下图所示。

image.png

当没有设定扩展收集器的key时,可以将对应的收集器排除,提高探测效率。对应的参数是--disable-collectors,多个收集器,使用隔开。

image.png

2、使用aquatone-discover命令,对已授权目标域名进行信息探测。

image.png

图中,使用参数-d指定了目标域名;使用-t指定1个线程,-s指定每隔2秒发送查询包。

image.png

上图是工具查询到的信息回显,扫描完成后,会在目录中生成结果文件夹,名称与目标域名一致。

image.png

扫描结束,如下图所示。

image.png

图中可见3部分,上方第一部分,为扫描过程中的实时回显,中间部分是按照所属C段解析出了几台主机;最下方显示将结果信息存放到对应路径的文件中(以两种不同的格式,存放了域名和IP的对应关系)。如下图所示。

image.png

3、aquatone-scan 扫描

减少扫描的目标,仅导出www.sanfor.com.cn域名信息,在sangfor.com.cn文件夹下,按照对应格式,编写两个文件(hosts.txthosts.json),主要是json格式的文件,用于接下来的端口扫描。详见下图1处。

扫描命令:aquatone-scan -d sangfor.com.cn -p 22,3389,80,21 -t 1 -s 2,详见图中2处。

1
2
3
4
-d,指定域名,此处域名需与 discover 节点扫描的内容一致
-p,指定扫描的端口,使用逗号分隔
-t,指定线程数
-s,指定发送请求时,间隔2秒

image.png

图中可见,探测出80端口是处于开放状态,相关信息已存放在open_ports.txturls.txt文件中。

image.png

实验总结

本实验通过使用aquatone工具集中的discoverscan工具,完成对指定域名的子域名信息收集和端口存活探测。

C段扫描

实验目的

通过使用常见扫描工具,对C段资产信息扫描和收集。

实验环境

1
2
3
4
5
6
7
8
9
10
11
操作机:kali

用户名:root

密码:Sangfor!7890

靶机:Ubuntu 18.04.02

用户名:root

密码:Sangfor!7890

实验原理

通过使用Nmap、Masscan工具,对指定目标信息的探测。

实验步骤

一、Nmap扫描

1、登录靶机,合用ifconfig命令,查看是否获取到IP地址,如果没有获取到192开头的IP地址,参照下图的命令获取IP地址、查看IP地址。
image.png

2、登录kali主机,在终端中使用nmap工具探测信息资产(IP地址段,以第1步骤为准)。

命令一:Nmap –sn –PE -n 192.168.0.0/24 –oX out.xml
1
2
3
-sn    不扫描端口
-PE ICMP 扫描
-n 不进行dns解析

image.png

查看保存路径下,已输出指定文件,文件中保存了扫描的结果。

image.png

二、Masscan扫描

【准备】
执行以下命令,完成安装准备。

1
2
3
1. apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com
2. wget -q -O - https://archive.kali.org/archive-key.asc | sudo apt-key add
3. apt update

1、安装工具所需依赖环境,命令apt-get install git gcc make libpcap-dev

image.png

2、下载工具,并进行编译。命令git clone https://github.com/robertdavidgraham/masscan

image.png

3、C段探测。命令masscan –p 80 ip/24 --rate 10000 -oL output.txt

1
2
3
-p  设置端口
--rate 发包速率
-oL 输出位置

image.png

通过vim工具,查看扫描的完整结果。

image.png

从图中可见,当前C段中,80端口开放的主机,共计有13台主机,其中192.168.0.69主机,为我们实验当中的靶机。

实验至此结束。

实验总结

通过使用Nmap、Masscan工具,对指定目标信息的探测。

指纹识别

实验目的

通过使用常见工具,对目标资产的类别和版本进行识别。

实验环境

1
2
3
4
5
操作机:kali

用户名:root

密码:Sangfor!7890

实验原理

通过使用Nmap、Wafw00f工具,对指定目标资产的类别和版本进行识别。

实验步骤

登录靶机,手动启动本地网卡。使用命令ifup ens18,并使用ifconfig命令查看获取的IP地址。

image.png

一、Nmap工具

登录kali主机,在终端中使用nmap工具探测资产服务指纹。

命令一:nmap –sS –Pn –O 192.168.0.85 (IP地址需根据目标靶机实际情况,进行修改)

image.png

命令二:nmap -sS -sV 192.168.0.85

image.png

命令三:nmap -p 80 --script http-waf-fingerprint 192.168.0.85

image.png

实验环境中未部署waf,所以无waf相关信息显示,下图为实际环境中测试,探测到waf设备的信息

image.png

二、Wafw00f工具

1、下载该工具

1
git clone https://github.com/EnableSecurity/wafw00f

image.png

2、使用工具

命令四:Wafw00f http://192.168.0.85 (IP地址需根据目标靶机实际情况,进行修改,或者输入目标域名)

image.png

实验环境中未部署waf,所以无waf相关信息显示,下图为实际环境中测试,探测到waf设备的信息

image.png

实验至此结束。

实验总结

通过使用Nmap、Wafw00f工具,对指定目标指纹信息识别、收集。

Maltego情报收集实验

实验目的

通过本实验,熟悉maltego工具对目标信息汇总收集的相关能力。

实验环境

1
2
3
4
5
操作机:kali

用户名:root

密码:Sangfor!7890

实验原理

Maltego是一款非常优秀的信息收集工具。与其他工具相比,不仅功能强大,而且自动化水平非常高,不需要复杂的命令,就能轻松的完成信息收集。

通过maltego工具,实现对授权测试目标信息收集、分析。

实验步骤

1.登录”Kali”操作机,点击左侧的maltego图标,工具将会自行启动图形界面(或在终端中,输入“maltego”也可启动)。

image.png

2.配置Transform Hub,然后安装需要的功能模块,将鼠标移动到模块上,会自动出现install,点击后将开始自行安装。(在实验过程中,可按需在此处动态添加功能模块,扩大信息查询的能力)。

image.png

建议增加该插件,该插件主要用于DNS相关信息查询(软件自带的dns查询可能失效,可用该插件实现dns信息查询)。
image.png

3.收集目标信息。本次我们的目标是一个域名,所以按下图中的步骤选择footprint L3

image.png

输入目标域名:

image.png

工具会新建一个画板,在正中会出现我们设定目标域名为根节点,右下角显示查询进度,随着进度条,会实时将收集到的信息同根节点进行关联,拓扑会自动生长。

image.png

为了增加信息收集的效率,可以在图标上点击鼠标右键,选择对应查询的类别,比如查询DNS信息,使用【DNSDB】插件。

image.png

使用过程中,如果弹出以下对话框,可按下图勾选处理。

image.png

image.png

该工具在查询过程中,会因使用的插件不同,可能会找到同根节点相关的域名信息,可能不属于根节点真正的域名信息,maltego会给出选项目,让使用者进行选择。

image.png

探测完成后,会看到以下拓扑结构的画图,相互的层级关系一目了然。

image.png

在现有拓扑中的任一节点,进行进一步信息探测。比如在根节点处,想对域名进行DNS查询,只需在图标上点击右键,输入dns,此时和dns相关的tranform工具,将显示出来,使用者可按需选择。当找到对应的关联信息时,会在画板中自动添加。

image.png

对指定域名进行子域名探测

image.png

此处我们安装了shodan模块,按照提示,输入个人API Key

image.png

在下方的进度消息处,可看到通过shodan探测到12个实体

image.png

4.手工增加实体节点

工具探测,可能有些信息探测不全面,此时可人工辅助添加已知信息,加入画板中。

比如,增加一个域名,该域名和根节点域名也相关。

image.png

在左侧拖拽域名实体,至画板中,双击该图标,修改为我们需要添加的域名信息。

image.png

当搜索到新增节点的信息,与原画板中已有信息有关联时,会自动添加线条,指向关联节点,图中向上的蓝色线条指向了根节点sangfor.comm.cn

5.导出报告

信息探测完毕后,可以将信息进行汇总导出。

image.png

下图是导出的报告截图,共计92页,以不同形式展现。

image.png

实验总结

通过maltego工具,实现对授权测试目标信息收集、分析。

本实验中实现了对域名目标的关联信息探测,手工辅助增加节点,进行信息探测、关联,并完成信息收集结果的报告生成和导出。

CobaltStrike配置使用实验

实验目的

通过本实验,掌握Cobaltstrike工具的配置和简单使用方法。

实验环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
服务器:kali

用户名:root

密码:Sangfor!7890

攻击机:Windows 10

用户名:Administrator

密码:Sangfor!7890

受害机:Windows 10

用户名:Administrator

密码:Sangfor!7890

实验原理

CobaltStrike(以下简称“CS”)工具,是攻击队常用的团队协作工具之一。本实验将由服务器和攻击机,模拟组成攻击队的CS工具环境,完成相关配置,并通过简单的攻击实践,测试协作效果。

实验步骤

1.登录”Kali”操作机,在终端中进入CS文件夹,然后使用命令chmod +x teamserverteamserver文件赋予执行权限,然后查看当前主机的本地IP地址(后面会用到)。

image.png

2.启动服务端服务。

image.png

启动服务的命令为:./teamserver IP(本机) 团队接入口令

如上图所示,本地IP为192.168.0.199,设置团队协作连接的口令为4444(使用时建议采用强口令)。

至此,服务端配置已完成。

3.登录攻击机,在桌面找到CS文件夹中的cobaltStrike.exe文件,双击运行。

image.png

在弹出框中,输入服务器IP192.168.0.199,端口默认为55050,不用修改;用户(user)可以随意设置;口令(password)为服务端设置的4444。输入完毕后,点击连接。

image.png

登录成功后,会进入操作界面,如下图所示。

image.png

4、创建监听端口。点击左上角CobaltStrike菜单中的Listeners.

image.png

下方会出现listeners标签,点击Add按钮,在弹出的新建监听器中,输入相关设置参数。如下图所示,图中为该监听器命名为Listenner,选择payloadwindows/beacon_http/reverse_http,设定主机为服务器的IP地址,端口为8808。该配置是在服务端会启动一个端口为8808的http服务,用于受害机主动连接服务器。

image.png

image.png

此时主机会显示监听开始。

image.png

服务端也会显示,在端口8808上已开始监听。

image.png

5.生成可执行文件,用于在受害机上运行。选择windows Executable选项,如下图所示。

image.png

在弹出框中,选择对应的监听器(此处我们只建了一个监听器,会默认已选择)和输出的文件格式,此处我们选择exe文件类型。

image.png

将文件保存至本地磁盘中,图中我们选择了桌面的att文件夹,文件名称如下图所示。

image.png

6.投递恶意文件。攻击方投递恶意的途径较多,比如诱导受害者在网站上下载,钓鱼邮件等。此处我们模拟一个网站,在受害机上访问并下载该文件。

使用python http服务模块工具,在本地启动一个http服务。如下图所示。

image.png

图中,我们将恶意文件的路径设为网站的根目录,网站的对外端口为8899。此时,在受害机上访问该地址,并下载该文件。

image.png

受害机执行时,操作系统会提示,此时点击仍要运行

image.png

点击后,界面无任务回显,而此时CS端已显示受害机器已上线。如下图所示。

image.png

实验至此结束。

实验总结

通过实际操作配置,并结合一次简单完整的操作,理解CS的配置、运行、协作机制。

CobaltStrikeOffice钓鱼实验

实验目的

通过本实验,了解通过cobaltStrike制作Office钓鱼文件,并实现攻击的过程和原理。

实验环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
服务器:kali

用户名:root

密码:Sangfor!7890

攻击机:Windows 10

用户名:Administrator

密码:Sangfor!7890

受害机:Windows 10

用户名:Administrator

密码:Sangfor!7890

实验原理

CobaltStrike(以下简称“CS”)工具,是攻击队常用的团队协作工具之一。

本实验将通过cobaltStrike工具,制作携带宏脚本的office word文档,并在受害机上运行后,成功控制受害机。

实验步骤

1.登陆kali服务器,在CS目录下,赋予teamserver文件运行权限(命令:chmod +x teamserver),然后运行CS服务端程序。

image.png

image.png

如上图所示,团队登陆的密码设为4444

2、登陆攻击机,找开CS客户端,登陆CS。

image.png

3、添加监听端口。

image.png

监听端口设置完成后,在下图中,显示监听端口已启动,已处于监听状态。

image.png

下图是在服务端显示为监听端口已启动。

image.png

4、制作office宏脚本文件

选择attacks中的packages,在展开的菜单中选择MS Office Maco

image.png

选择监听端口。现在只启动了一个监听端口,默认已选中。

image.png

点击生成后,弹出宏文件制作步骤说明。

image.png

按照步骤说明,打开一个word文档,选择视图中的,在下拉菜单中,选择查看宏

image.png

在宏的位置处,选择当前文档(因此时是新建的文档,未保存名称,所以显示为文档1

image.png

然后,输入宏名,点击创建。

image.png

在弹出的宏框中,清除原有宏的内容。

image.png

然后,点击CS中的Copy Macro(复制宏),并粘贴至文档的宏框中。

image.png

然后,保存为一个启动宏的word文档(此处可以先保存为后缀为docm文档,保存成功后,去掉后缀中的m即可。

image.png

实验环境下,我们将制作好的文档,复制到受害机中,实际的攻击场景中,可通过邮件、社工等方式,完成样本投递。

此处,我们可以在当前目录下,使用python自动的模块,启动一个简易的网站服务python -m http.server 8888,该命令意思是在当前路径为网站根目录,启动一个端口为8888的网站服务器。然后受害机上,使用浏览器访问攻击机的IP和端口,下载这个文件。

image.png

image.png

因office版本和安全设置原因,已禁用宏,在弹出的提示中,我们手动点击启动内容

image.png

而此时,在攻击机中,已发现受害机成功上线。

image.png

实验总结

通过本实验,学员了解CS工具制作office钓鱼宏文档的过程,并结合CS工具,感知攻击完成的过程。

伪造(钓鱼)邮件实验

实验目的

通过本实验,实现常见的邮件伪造过程,体验邮件伪造的整个过程。

实验环境

1
2
3
4
5
服务器:kali

用户名:root

密码:Sangfor!7890

实验原理

使用邮件发送协议测试工具swaks,发送虚假邮件给目标邮件地址,为了看到实验效果,建议学员收件地址为自己的邮件地址。

本实验主要是让学员体验伪造邮件的发送过程,不包括带有恶意攻击向量的内容。

实验步骤

1.登陆kali服务器,打开终端,查看swaks的帮助文档。

image.png

image.png

image.png

image.png

1
2
3
4
命令:
swaks --help
或者
man swaks

image.png

image.png

2.使用命令发送虚假邮件

命令swaks --to 收件人邮箱地址 --from 虚假发送人邮箱地址 --ehlo xxx --body “这是邮件正文” --header “Subject:邮件主题”

image.png

由上图可见,输入发送虚假邮件的命令后,swaks工具会按照smtp相关标准步骤,发送邮件,并回显整个发送过程。由上图可知,该邮件发送成功。

3.检查收件箱,确认是否收件成功

image.png

上图可见,收件成功。图中1处,显示为声称的邮件主题,即Subject部分,图中2处为发件人地址(并非真实存在),即--from,图中3处为邮件正文,即--body内容。

4. 以真实的邮件为基准,发送虚假邮件

在选定的伪造邮件中,点击显示邮件原文。

image.png

在新页面中,查看到原始邮件内容。

image.png

在本地另存为mail_content.txt,并去掉其中ReceivedTo行。

建立新文件,命令touch mail_content.txt

使用vim工具,打开文件,将复制的原始文件内容,按i进入vim工具的编辑模式,按shift+i,完成内容粘贴,然后按esc,并将光标移至Received行,按两次d键,删除该行;然后,同样将光标移至To行,按两次d键,最后,按,输入wq保存文档,并退出。

image.png

使用命令发送邮件,命令为swaks --data mail.content.txt --to 发件人邮箱地址 --from 发送人邮箱

image.png

由上图可知,邮件发送成功。

image.png

邮箱中收件成功,查看邮件原文,可以看到更多邮件细节。

image.png

实验总结

通过本实验,学员体验到伪造邮件的发送过程,可结合钓鱼思路,构建钓鱼邮件,深入了解钓鱼邮件的危害,提升安全防护意识。

Web目录扫描

实验目的

通过使用常见Web目录扫描工具,理解Web目录扫描的原理和意义。

该类探测仅限于实验环境或符合国家或所在地区法律允许情况下进行,禁止用于非法途径!

实验环境

1
2
3
4
5
6
7
8
9
10
11
操作机:kali

用户名:root

密码:Sangfor!7890

靶机:DVWA

用户名:root

密码:Sangfor!7890

##实验拓扑

image.png

实验原理

kali主机的终端中,配置并使用Dirb和dirbuster工具,对目标主机DVWAWeb目录进行探测,对比结果,结合http协议原理,理解Web目录扫描的原理。

实验步骤

一、Web主机网络可达测试

1、进入DVWA主机,使用ifconfig查看网络配置情况是否正常。

1
此时,发现IP地址未正常获取,使用`dhclient -v`命令,成功获取IP地址。

image.png

2、进入kali主机,打开终端,通过ping命令和wget命令,对Web主机资源进行访问测试。

image.png

从图中可见,ping测试前面存在网络不通,在DVWA主机中重新获取了IP地址后,网络可达;

然后,使用wget http://IP(IP地址为DVWA主机IP),http状态码为200,资源请示成功。

二、Dirb工具探测Web目录

1、查看Dirb工具的帮助。

使用dirb命令,输出相关帮助内容。

image.png

图中2处表明,Dirb使用的语法,即,在后面跟上基本的url基地址,再在后面加上指定的常用路径字典;

图中3处表明,Dirb相关的选项参数,在需要使用相关参数时,添加在dirb命令后面即可,如路径字典后面。

2、DVWA主机Web目录探测

按照dirb命令语法结构,构建探测命令。在终端中,输入命令:

1
dirb http://IP /usr/share/wordlists/dirb/common.txt

image.png

其中IP为DVWA主机地址,截图中DVWA主机的IP地址为192.168.17.195

使用的路径字典为/usr/share/wordlists/dirb/common.txt,在同级目录下,还存在其它字典,根据需要加载即可。

由上图可见,通过指定字典,总共尝试4612次,其中成功猜解出2个地址。

image.png

加载其它字典,可自行尝试。

三、DirBuster工具探测Web目录

Dirbuster在终端中启动后,会出现图形界面,配置相关参数并进行使用。

1、启动Dirbuster工具。

输入命令dirbuster后,工具自行启动,如下图所示。

image.png

2、配置相关参数。

DVWA测试前,需完成相关参数配置,如下图所示。

image.png

点击start后,工作界面如下图所示,从图中可知,当前进度为38%(第1处),总共将发起的请求数为87655次,现在已发出33374次请求(第2处)。

image.png

3、探测结果

在第2步中所探测结果显示,仅有两个地址猜解成功,如下图所示。

image.png

猜解结果同所需字典息息相关,将字典调整为dirb路径下的common.txt,再次探测,配置如下图所示。

image.png

结果如下图所示。

image.png

Dirbuster工具还给出了资源的树状结构,如下图所示。

image.png

实验至此结束。

实验总结

通过在实验环境中,实际操作体验了两款Web目录探测工具,通过对靶机发送实际的交互数据,对web目录进行探测,结合http协议相关原理,有助于理解web目录探测的原理和意义。