枚举 HTTP 和 HTTPS

端口 80 和 443 通常分配给使用 HTTPHTTPS 协议(分别)的主机 Web 服务。这些协议用于 Web 服务器和 Web 浏览器之间通过 OSI 模型的应用层 进行通信。

信息收集

目标扫描中出现的端口 80 和 443 表明该目标可能托管 Web 服务。调查这些端口是收集目标信息的好方法。你可以找到很多关于他们的架构、他们使用的服务/应用程序等的信息。

通过航站楼

如果目标可能不稳定,或者您想留下更少的痕迹,则可以从使用 curl 开始。通过curl,你可以获得整个网站的HTML。您还可以使用 -I 命令来请求标头,该命令比较隐蔽,因为来自目标的响应携带的数据较少。

1
2
3
4
5
6
7
8
# Headers only: using wordcount command:
curl -I http://10.0.3.5:80 | wc -c
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed 0 2890 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
293
# Same command, no flags:
curl http://10.0.3.5:80 | wc -c
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2890 100 2890 0 0 1473k 0 --:--:-- --:--:-- --:--:-- 2822k 2890

您还可以通过设置 User-Agent 标头来进一步隐藏自己。使用 curl 时,发送到目标的请求的默认 User-Agent"curl/7.88.1"

1
2
3
4
5
6
7
8
9
10
11
curl -I http://10.0.3.5:80 --verbose
* Trying 10.0.3.5:80...
* Connected to 10.0.3.5 (10.0.3.5) port 80 (#0)
> HEAD / HTTP/1.1
> Host: 10.0.3.5
> User-Agent: curl/7.88.1 # <--------------------------------
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
...

您可以将其设置为不太明显的值,例如 Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion,使用 -H 标志来设置标头。

1
2
3
4
5
6
7
8
9
10
11
curl -I -H "User-Agent: Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion" http://10.0.3.5:80 --verbose
* Trying 10.0.3.5:80...
* Connected to 10.0.3.5 (10.0.3.5) port 80 (#0)
> HEAD / HTTP/1.1
> Host: 10.0.3.5
> Accept: */*
> User-Agent: Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
...

通过浏览器

由于这些端口托管 Web 服务,因此可以使用 Web 浏览器访问它们。您可以通过将目标的 IP 地址放入浏览器的搜索栏中,并在末尾附加 :80:443 来完成此操作:

1
http://10.0.3.5:80

或者使用终端上的浏览器:

1
firefox http://10.0.3.5:80


  • Kioptrix 虚拟机

漏洞扫描(w/ nikto

Nikto CLI 工具注意事项

调查结果

卫生

通过调查这些端口,我们可以看到目标意外留下的默认页面。这表明“卫生条件差”,可以作为一项发现包含在渗透测试报告中。
###信息公开
HTML 中包含的 URL 还可以告诉我们有关目标的更多信息。例如,单击“DocumentRoot”链接会将我们带到网站的另一部分 http://10.0.3.5:80/manual/mod/core.html#document,我们会在其中看到 404 响应错误代码。


此页面不仅告诉我们这个可能曾经有效的链接现在已损坏(卫生状况不佳),我们还看到Apache 版本控制和目标的主机名(在本例中为 localhost)。该信息被认为不适合我们,可以包含在报告中的“信息披露”项下。

[!资源]

[!我以前的笔记(在文本中链接)]