目录
任务1 被动信息收集
相关知识与技能:
通过使用 harvester,获得了有关于目标域的邮箱、主机名和 ip 地址,其中-ball选项指使用所有支持的查询,-d 后面指定搜索的目标域。然后使用 netcraft 获得了目标网站使用的技术信息和更新以前的情况。这使能够在进一步测试中不再查询真实站点。
实验内容:
1.首先使用 whois 获取它的注册信息:
# whoiszonetransfer.me
2.另外一个工具是 dig,它可以获取域名信息和 DNS 解析信息。
# digns zonetransfer.me
3.一旦获得了 DNS 服务器的信息,就可以尝试区域传输攻击来获取服务器解析的所有主机名。仍然使用 dig:
# dig axfr @nsztm1.digi.ninja zonetransfer.me
4.现在可以使用 theharvester 来获取目标网站的邮箱、主机名、IP 地址信息。
#theharvester -d zonetransfer.me -b baidu,bing
5.如果想不直接查询服务器来获得网站使用的软件版本信息,可以使用Netcraft工具。
登陆https://toolbar.netcraft.com/site_report输入想查询的域名即可:
6.获得一个网站以前的页面信息在测试中也很有用。可以在https://archive.org/web/web.php这个网站回溯网站以前版本的静态副本。
任务 2 使用 Nmap 进行扫描和识别应用服务
相关知识与技能:
Nmap 是一个端口扫描器;这代表着它将数据包发送到指定 IP 地址上的一些 TCP或 UDP 端口,并且检查是否有响应。如果有,则表示端口是开放的,即服务在该端口上运行。
实验内容:
首先,想要知道服务器是否响应 ping,或者主机是否是启动状态:
# nmap-sn 192.168.114.129
可以知道这个主机是在启动的状态,让看看它的哪些端口是打开的:
# nmap192.168.114.129
现在将告诉 Nmap 向服务器询问它正在运行的服务版本,并且据此来猜测操作系统:
# namp-sV -O 192.168.114.129
任务 3 识别 Web 应用防火墙
相关知识与技能:
WAF 检测的工作原理是向服务器发送特定的请求,然后分析响应;例如,在 HTTPWAF 检测的情况下,它发送一些恶意的数据包,并且在寻找数据包被阻止,拒绝或者检测的指示符时比较响应。
实验内容:
1. Nmap有几个脚本可以来测试 WAF 中是否存在于所有检测到的 HTTP 端口。
# nmap-sT -sV -p 80,443,8080,8081 --script=http-waf-detect 192.168.114.129
2.在有防火墙保护的服务器上尝试相同的命令。使用example.com来座椅虚构的名称;可以来尝试任何受保护的服务器。
# nmap-p 80,443 --script=http-waf-detect www.example.com
3.Nmap 还有一个脚本可以帮助来更准确地识别正在使用的 WAF。这个脚本是:http-waf-fingerprint
4.KaliLinux 中还有另一个工具,可以帮助来检测识别 WAF 的工具,就是wafw00f。
#wafw00f https://www.example.com
任务 4 识别 HTTPS 加密参数
相关知识与技能:
Nmap、SSLScan 和 TestSSL 通过尝试不同的密码套件和客户端配置来测试它接受什么,从而建立到目标 HTTPS 服务器的多个连接来工作。
实验内容:
1.使用 Nmap 查询 HTTPS 站点支持的协议和密码,需要扫描 HTTPS 端口并使用脚本 ssl-enum-ciphers
#nmap -sT -p 443 --script ssl-enum-ciphers 192.168.114.129
2.SSLScan是一个命令行工具,用于评估服务器的SSL/TLS 配置。
sslscan 192.168.114.129
3.TestSSL显示了比 Nmap 或 SSLScan 更详细的输入,它的基本用法只需要将目标附加到命令行中的命令。
任务 5 使用浏览器自带的开发工具来做基本的分析和修改
相关知识与技能:
当网页被浏览器加载后,那么针对它网页元素所做的所有修改都会被即时展现出来,但是一旦刷新当前页面,那么真对元素所做的所有修改都将不复存在,它只会展示服务器传送过来的原有页面。
实验内容:
1. 在网页上右键-审查元素(Inspect Element)
http://192.168.114.129/WackoPicko
提示:还可以使用 F12 或者 Ctrl+Shift+C 来打来浏览器的开发者工具。
2. 在<form>表单的第一个<input>上有一个 type="hidden",双击选中 hidden 标签:
3. 将 hidden 更改为 text 或者删除type="hidden"并按下“Enter”;
4. 现在,双击 value 的参数 3000;
5. 将 3000 改为 500000:
6. 现在可以在页面上看到一个 value 为 500000 的全新的文本输入框,这是因为刚才的操作更改了限制文档大小的关键参数。
任务 6 获取和修改 cookie
相关知识与技能:
CookieManager 是一个可以查看、修改、添加、删除 cookie的浏览器插件,由于一些 web 应用依赖这些存储的 cookie 值,所以攻击者可以通过注入恶意 cookie来改变服务器行为或者修改虚假 cookie 来获得更高的权限。
另外在现代 web 应用中,会话 cookie 也经常被使用,并且经常被作为登陆后的唯一凭证。这就导致替换已激活的 cookie可以模拟成其他有效用户的会话。
实验内容:
1. 浏览器访问http://192.168.56.11/WackoPicko/
2. 打开开发者工具,进入存储选项卡(Storage):可以通过双击 cookie 值来修改成任意 cookie
3. 现在,试试使用插件查看并编辑 cookie。在 firefox 的顶栏中点击 cookie管理器(Cookie Manager)图标。
4. 选择 192.168.56.11 分配给 phpsessid 并双击编辑它
5.HttpOnly 参数选择为 yes修改的 HttpOnly 是告诉浏览器这个 cookie 不允许被客户端脚本访问。
任务 7 利用 robots.txt
相关知识与技能:
Robots.txt是 web 服务器用来告诉搜索引擎他们应该索引的目录或文件以及他们不允许查看的内容的文件。从攻击者的角度来看,这告诉服务器中是否有一个目录是可以访问的,但是通过隐藏的方式将其隐藏起来
实验内容:
1. 浏览器打开http://192.168.56.11/vicnum/
2. 现在,添加 robots.txt 到 URL 中
3. 让打开 http://192.168.56.11/vicnum/cgi-bin/
4. 让打开http://192.168.56.11/vicnum/jotto/
5. 单击名为 jotto 的文件:
将看到以下jotto猜五字的游戏截图:
心得体会:
在进行实验的过程中,体会到了信息安全的重要性和Kali工具的强大功能。 本文将分享我的实验心得,并介绍我在实验中所采用的方法和工具。 进行信息收集之前,我们需要明确我们的目标。 只有明确了目标,才能有针对性地进行信息收集。 在实验中,我选择了一个虚拟机作为目标,旨在了解该虚拟机的网络结构、开放端口以及可能存在的漏洞。 Kali信息收集实验是一项非常有意义的实践活动。