0%

信息收集思路整理

信息收集是渗透测试的第一步,本文总结目前信息收集的具体操作步骤。

网站信息

whois信息

可以收集到的信息有:

  • 联系人
  • 邮箱(可以到社工库进一步查询)
  • 电话

收集途径有:

备案信息

仍然是收集联系人、公司等信息

途径有:

DNS信息

DNS用来获取网站IP,但若网站使用了CDN服务则无效。

  • dig anemone.top # Linux
  • dig @1.1.1.1 anemone.top # 使用1.1.1.1dns解析
  • nslookup anemone.top # Windows

指纹信息

获取中间件类型和版本,通过http头部获取,也可以用whatweb工具:

1
$ whatweb anemone.top

根据目录、头文件、特有文件等识别CMS:

服务器的相关信息

寻找真实IP

先用多地ping判断网站是否存在CDN:

若存在CDN则尝试如下办法寻找真实IP:

  • 分站域名
  • DNS历史记录

  • 上传附件

  • 国外DNS:利用国内网站不在国外做CDN的特点,使用国外的DNS解析,感谢”经验分享|谈谈渗透测试中的信息搜集“提供了以下冷门的DNS:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    209.244.0.3
    64.6.64.6
    8.8.8.8
    9.9.9.9
    8.26.56.26
    199.85.126.10
    208.67.222.222
    195.46.39.39
    69.195.152.204
    208.76.50.50
    216.146.35.35
    37.235.1.174
    198.101.242.72
    77.88.8.8
    91.239.100.100
    74.82.42.42
    109.69.8.51
    156.154.70.1
    1.1.1.1
    45.77.165.194
  • 邮箱:邮件服务器无法CDN,因此可以使用网站的邮件发送功能(如密码找回等)获取原IP,当然要确保网站的邮件服务器用的是自己的。

  • 全网扫描:最笨的办法是使用工具扫描全网的IP段:

  • 网站漏洞,如:

    • SSRF
    • phpinfo

服务器系统

  • 网址大小写是否敏感判断Windows/Linux
  • nmap识别系统

开放端口

1
nmap -T4 -sT -p- -sV 127.0.0.1

常用端口有:

3306 mysql
1433 mssql
1521 oracle
5432 postgresql
6379 redis
27017 mongodb
8080 tomcat/resin/jetty
137 samba
873 rsync
5900 vnc

WAF

从HTTP头部获取WAF信息

子域名、C段、旁站

子域名收集

C站查询

旁站查询

网站目录

可能泄露的目录有:

  • 网站后台
  • 网站源代码备份,如:
    • www.rar
    • www.zip
  • 版本控制
    • /.git/config (利用:GitToolsGitHacker
    • /.svn/entries (利用:Seay SVN漏洞利用工具)
  • JavaWeb目录
    • /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
    • /WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
    • /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
    • /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
    • /WEB-INF/database.properties:数据库配置文件
  • 其他敏感文件泄露,如:

推荐工具有:

其他信息

参考链接