0


Web安全——信息收集上篇

Web安全

一、信息收集简介

渗透的本质是信息收集
信息收集也叫做资产收集
信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实IP、敏感/目录文件、开放端口和中间件信息等等。通过各种渠道和手段尽可能收集到多的关于这个站点的信息,有助于我们更多的去找到渗透点,突破口。

二、信息收集的分类

  1. 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
  2. 网站指纹识别(包括,cms,cdn,证书等) dns记录
  3. whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
  4. 子域名收集,旁站,C段等
  5. google hacking针对化搜索,word/电子表格/pdf文件,中间件版本,弱口令扫描等
  6. 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
  7. 传输协议,通用漏洞,exp,github源码等

三、常见的方法

  1. whois查询 域名在注册的时候 需要填入个人或者企业信息 如果没有设置隐藏属性可以查询出来 通过备案号 查询个人或者企业信息 也可以whois反查注册人 邮箱 电话 机构 反查更多得域名和需要得信息。
  2. 收集子域名 域名分为根域名和子域名 baidu.com 根域名 顶级域名 www.baidu.com子域名 也叫二级域名 www.1.baidu.com 子域名 也叫三级域名 四级如此类推
  3. 端口扫描 服务器需要开放服务,就必须开启端口,常见的端口是tcp 和udp两种类型 范围 0-65535 通过扫得到的端口,访问服务 规划下一步渗透。
  4. 查找真实ip 企业的网站,为了提高访问速度,或者避免黑客攻击,用了cdn服务,用了cdn之后真实服务器ip会被隐藏。
  5. 探测旁站及C段 旁站:一个服务器上有多个网站 通过ip查询服务器上的网站 c段:查找同一个段 服务器上的网站。可以找到同样网站的类型和服务器,也可以获取同段服务器进行下一步渗透。
  6. 网络空间搜索引擎 通过这些引擎查找网站或者服务器的信息,进行下一步渗透。
  7. 扫描敏感目录/文件 通过扫描目录和文件,大致了解网站的结构,获取突破点,比如后台,文件备份,上传点。
  8. 指纹识别 获取网站的版本,属于那些cms管理系统,查找漏洞exp,下载cms进行代码审计。

四、在线whois查询

通过whois来对域名信息进行查询,可以查到注册商、注册人、邮箱、DNS解析服务器、注册人联系电话等,因为有些网站信息查得到,有些网站信息查不到,所以推荐以下信息比较全的查询网站,直接输入目标站点即可查询到相关信息。

在线网站备案查询

网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案,如果需要查询企业备案信息(单位名称、备案编号、网站负责人、电子邮箱、联系电话、法人等),推荐以下网站查询

  1. 天眼查 https://www.tianyancha.com/
  2. ICP备案查询网http://www.beianbeian.com/![在这里插入图片描述](https://img-blog.csdnimg.cn/c6202dfce35d4297a850d88754e8b689.png)
  3. 爱站备案查询https://icp.aizhan.com/
  4. 域名助手备案信息查询 http://cha.fute.com/index

五、查询绿盟的whois信息

Whois查询nsfocus.com.cn
通过反查注册人和邮箱得多更多得域名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、收集子域名

1、子域名作用

收集子域名可以扩大测试范围,同一域名下的二级域名都属于目标范围。

2、常用方式

子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城,其他管理系统,网站管理后台也有可能出现子域名中。

首先找到目标站点,在官网中可能会找到相关资产(多为办公系统,邮箱系统等),关注一下页面底部,也许有管理后台等收获。

查找目标域名信息的方法有:

  1. FOFA title=“公司名称”在这里插入图片描述
  2. 百度 intitle=公司名称
  3. Google intitle=公司名称
  4. 站长之家,直接搜索名称或者网站域名即可查看相关信息: http://tool.chinaz.com/
  5. 钟馗之眼 site=域名即可 https://www.zoomeye.org/

找到官网后,再收集子域名,下面推荐几种子域名收集的方法,直接输入domain即可查询

3、域名的类型

A记录、别名记录(CNAME)、MX记录、TXT记录、NS记录:

3.1 A (Address) 记录:

是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。

3.2 别名(CNAME)记录:

也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。这两个别名的全称就是“www.mydomain.com”和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。同样的方法可以用于当您拥有多个域名需要指向同一服务器IP,此时您就可以将一个域名做A记录指向服务器IP然后将其他的域名做别名到之前做A记录的域名上,那么当您的服务器IP地址变更时您就可以不必麻烦的一个一个域名更改指向了 只需要更改做A记录的那个域名其他做别名的那些域名的指向也将自动更改到新的IP地址上了。

3.3 如何检测CNAME记录?

1、进入命令状态;(开始菜单 - 运行 - CMD[回车]);
2、输入命令" nslookup -q=cname 这里填写对应的域名或二级域名",查看返回的结果与设置的是否一致即可。

3.4 MX(Mail Exchanger)记录:

是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。

3.5 什么是TXT记录?

TXT记录一般指为某个主机名或域名设置的说明,如:

1)admin IN TXT "jack, mobile:13800138000";
2)mail IN TXT "邮件主机, 存放在xxx ,管理人:AAA",Jim IN TXT "contact: [email protected]"

也就是您可以设置 TXT ,以便使别人联系到您。

如何检测TXT记录?
1、进入命令状态;(开始菜单 - 运行 - CMD[回车]);
2、输入命令" nslookup -q=txt 这里填写对应的域名或二级域名",查看返回的结果与设置的是否一致即可。

3.6 什么是NS记录?

ns记录全称为Name Server 是一种域名服务器记录,用来明确当前你的域名是由哪个DNS服务器来进行解析的。

3.7 子域名在线查询1

https://phpinfo.me/domain/
在这里插入图片描述

3.8 子域名在线查询2

https://www.t1h2ua.cn/tools/
在这里插入图片描述

3.9 dns侦测

https://dnsdumpster.com/
在这里插入图片描述

3.10 IP138查询子域名

https://site.ip138.com/moonsec.com/domain.html
在这里插入图片描述

3.11 FOFA搜索子域名

https://fofa.so/

语法:domain="baidu.com"

提示:以上两种方法无需爆破,查询速度快,需要快速收集资产时可以优先使用,后面再用其他方法补充。
在这里插入图片描述

3.12 Hackertarget查询子域名

https://hackertarget.com/find-dns-host-records/
注意:通过该方法查询子域名可以得到一个目标大概的ip段,接下来可以通过ip来收集信息。
在这里插入图片描述

4、360测绘空间

https://quake.360.cn/

domain:"*.freebuf.com"

4.1 Layer子域名挖掘机

在这里插入图片描述

4.2 SubDomainBrute

pip install aiodns

在这里插入图片描述

运行命令

subDomainsBrute.py freebuf.com
subDomainsBrute.py  freebuf.com --full -o freebuf2.txt

4.3 Sublist3r

https://github.com/aboul3la/Sublist3r

pip install -r requirements.txt

提示:以上方法为爆破子域名,由于字典比较强大,所以效率较高。
帮助文档

usage: sublist3r.py [-h]-d DOMAIN [-b [BRUTEFORCE]][-p PORTS][-v [VERBOSE]][-t THREADS][-e ENGINES][-o OUTPUT][-n]

OPTIONS:
  -h, --help            show this help message and exit-d DOMAIN, --domain DOMAIN
                        Domain name to enumerate it's subdomains
  -b[BRUTEFORCE], --bruteforce[BRUTEFORCE]
                        Enable the subbrute bruteforce module
  -p PORTS, --ports PORTS
                        Scan the found subdomains against specified tcp ports
  -v[VERBOSE], --verbose[VERBOSE]
                        Enable Verbosity and display results in realtime
  -t THREADS, --threads THREADS
                        Number of threads to use for subbrute bruteforce
  -e ENGINES, --engines ENGINES
                        Specify a comma-separated list of search engines
  -o OUTPUT, --output OUTPUT
                        Save the results to text file
  -n, --no-color        Output without color

Example: python sublist3r.py -d google.com

中文翻译

-h :帮助
-d :指定主域名枚举子域名
-b :调用subbrute暴力枚举子域名
-p :指定tpc端口扫描子域名
-v :显示实时详细信息结果
-t :指定线程
-e :指定搜索引擎
-o :将结果保存到文本
-n :输出不带颜色 

默认参数扫描子域名

python sublist3r.py -d baidu.com 

使用暴力枚举子域名

python sublist3r -b -d baidu.com 

4.4 python2.7.14 环境

;C:\Python27;C:\Python27\Scripts

4.5 OneForALL

pip3 install --user -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

python3 oneforall.py --target baidu.com run /*收集*/

在这里插入图片描述
爆破子域名

Example:
brute.py --target domain.com --word True run
brute.py --targets ./domains.txt --word True run
brute.py --target domain.com --word True --concurrent 2000 run
brute.py --target domain.com --word True --wordlist subnames.txt run
brute.py --target domain.com --word True --recursive True --depth 2 run
brute.py --target d.com --fuzz True --place m.*.d.com --rule '[a-z]' run
brute.py --target d.com --fuzz True --place m.*.d.com --fuzzlist subnames.txt run

在这里插入图片描述

4.6 Wydomain

dnsburte.py -d aliyun.com -f dnspod.csv -o aliyun.log
wydomain.py -d aliyun.com 

4.7 FuzzDomain

在这里插入图片描述

4.8 隐藏域名hosts碰撞

隐藏资产探测-hosts碰撞
https://mp.weixin.qq.com/s/fuASZODw1rLvgT7GySMC8Q
很多时候访问目标资产IP响应多为:401、403、404、500,但是用域名请求却能返回正常的业务系统(禁止IP直接访问),因为这大多数都是需要绑定host才能正常请求访问的 (目前互联网公司基本的做法)(域名删除了A记录,但是反代的配置未更新),那么我们就可以通过收集到的目标的 域名 和 目标资产 的IP段组合起来,以 IP段+域名 的形式进行捆绑碰撞,就能发现很多有意思的东西。

在发送http请求的时候,对域名和IP列表进行配对,然后遍历发送请求 (就相当于修改了本地的hosts文件一样),并把相应的title和响应包大小拿回 来做对比,即可快速发现一些隐蔽的资产。

进行hosts碰撞需要目标的域名和目标的相关IP作为字典
域名就不说了
相关IP来源有:

目标域名历史解析IP

https://site.ip138.com/
https://ipchaxun.com/

ip正则

https://www.aicesu.cn/reg/

七、端口扫描

当确定了目标大概的ip段后,可以先对ip的开放端口进行探测,一些特定服务可能开起在默认端口上,探测开放端口有利于快速收集目标资产,找到目标网站的其他功能站点。

1、msscan端口扫描

msscan -p 1-65535 ip --rate=1000
https://gitee.com/youshusoft/GoScanner/

2、御剑端口扫描工具在这里插入图片描述

3、nmap扫描端口和探测端口信息

常用参数,如:

nmap -sV 192.168.0.2
nmap -sT 92.168.0.2
nmap -Pn -A -sC 192.168.0.2
nmap -sU -sT -p0-65535192.168.122.1

用于扫描目标主机服务版本号与开放的端口

如果需要扫描多个ip或ip段,可以将他们保存到一个txt文件中

nmap -iL ip.txt

来扫描列表中所有的ip。
Nmap为端口探测最常用的方法,操作方便,输出结果非常直观。

4、在线端口检测

http://coolaf.com/tool/port

在这里插入图片描述

5、端口扫描器

御剑,msscan,zmap等

御剑高速端口扫描器:
在这里插入图片描述

填入想要扫描的ip段(如果只扫描一个ip,则开始IP和结束IP填一个即可),可以选择不改默认端口列表,也可以选择自己指定端口。

6、渗透端口

21,22,23,1433,152,3306,3389,5432,5900,50070,50030,50000,27017,27018,11211,9200,9300,7001,7002,6379,5984,873,443,8000-9090,80-89,80,10000,8888,8649,8083,8080,8089,9090,7778,7001,7002,6082,5984,4440,3312,3311,3128,2601,2604,2222,2082,2083,389,88,512,513,514,1025,111,1521,445,135,139,53

7、渗透常见端口及对应服务

  • 1.web类(web漏洞/敏感目录) 第三方通用组件漏洞struts thinkphp jboss ganglia zabbix
80 web 
80-89 web 
8000-9090 web
  • 2.数据库类(扫描弱口令)
1433 MSSQL 
1521 Oracle 
3306 MySQL 
5432 PostgreSQL 
  • 3.特殊服务类(未授权/命令执行类/漏洞)
443 SSL心脏滴血 
873 Rsync未授权 
5984CouchDB http://xxx:5984/_utils/6379 redis未授权 
7001,7002 WebLogic默认弱口令,反序列 
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 
11211 memcache未授权访问 
27017,27018 Mongodb未授权访问 
50000 SAP命令执行 
50070,50030 hadoop默认端口未授权访问
  • 4.常用端口类(扫描弱口令/端口爆破)
21 ftp 
22 SSH 
23 Telnet 
2601,2604 zebra路由,默认密码zebra
3389 远程桌面
  • 5.端口合计详情
21 ftp 
22 SSH 
23 Telnet 
80 web 
80-89 web 
161 SNMP 
389 LDAP 
443 SSL心脏滴血以及一些web漏洞测试 
445 SMB 
512,513,514 Rexec 
873 Rsync未授权 
1025,111 NFS 
1433 MSSQL 
1521 Oracle:(iSqlPlus Port:5560,7778)2082/2083 cpanel主机管理系统登陆 (国外用较多)
2222 DA虚拟主机管理系统登陆 (国外用较多) 
2601,2604 zebra路由,默认密码zebra
3128 squid代理默认端口,如果没设置口令很可能就直接漫游内网了 
3306 MySQL 
3312/3311 kangle主机管理系统登陆 
3389 远程桌面 
4440 rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网 
5432 PostgreSQL 
5900 vnc 
5984CouchDB http://xxx:5984/_utils/6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网 
6379 redis未授权 
7001,7002 WebLogic默认弱口令,反序列 
7778 Kloxo主机控制面板登录 
8000-9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上 
8080 tomcat/WDCP主机管理系统,默认弱口令 
8080,8089,9090 JBOSS 
8083 Vestacp主机管理系统 (国外用较多) 
8649 ganglia 
8888 amh/LuManager 主机管理系统默认端口 
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 
10000 Virtualmin/Webmin 服务器虚拟主机管理系统 
11211 memcache未授权访问 
27017,27018 Mongodb未授权访问 
28017 mongodb统计页面 
50000 SAP命令执行 
50070,50030 hadoop默认端口未授权访问

8、常见的端口和攻击方法

端口号服务攻击方法21/22/69ftp/tftp文件传输协议爆破嗅探 溢出 ; 后门22ssh远程连接爆破OpenSSH;28个退格23telnet远程连接爆破嗅探25smtp邮件服务邮件伪造53DNS域名系统DNS区域传输DNS劫持 DNS缓存投毒 DNS欺骗 深度利用 :利用DNS隧道技术刺透防火墙67/68dhcp劫持欺骗110pop3爆破139samba爆破未授权访问 远程代码执行143imap爆破161snmp爆破389Idap注入攻击未授权访问512/513/514linux r直接使用rlogin873rsync未授权访问1080socket爆破:进行内网渗透1352lotus爆破:弱口令信息泄漏:源代码1433mssq爆破:使用系统用户登录注入攻击1521oracle爆破: TNS注入攻击2049nfs配置不当2181zookeeper未授权访问3306mysql爆破拒绝服务 注入3389rdp爆破Shift后门4848glassfish爆破:控制台弱口令认证绕过5000sybase/DB2爆破注入5432postgresql缓冲区溢出注入攻击 爆破:弱口5632pcanywhere拒绝服务代码执行5900vnc爆破:弱口令认证绕过6379redis未授权访问爆破:弱口令7001weblogicJava反序列化控制台弱口令 控制台部署webshell8069zabbix远程命令执行8080-8090web常见web攻击控制台爆破 对应服务器版本漏洞9090websphere控制台爆破: 控制台弱口令Java反序列9200/9300elasticsearch远程代码执行11211memcacache未授权访问27017mongodb爆破未授权访问

八、查找真实ip

如果目标网站使用了CDN,使用了cdn真实的ip会被隐藏,如果要查找真实的服务器就必须获取真实的ip,根据这个ip继续查询旁站。
注意:很多时候,主站虽然是用了CDN,但子域名可能没有使用CDN,如果主站和子域名在一个ip段中,那么找到子域名的真实ip也是一种途径。

1、多地ping确认是否使用CDN

http://ping.chinaz.com/
http://ping.aizhan.com/

在这里插入图片描述

2、查询历史DNS解析记录

在查询到的历史解析记录中,最早的历史解析ip很有可能记录的就是真实ip,快速查找真实IP推荐此方法,但并不是所有网站都能查到。

2.1 DNSDB

https://dnsdb.io/zh-cn/

2.2 微步在线

https://x.threatbook.cn/

在这里插入图片描述

2.3 Ipip.net

https://tools.ipip.net/cdn.php
在这里插入图片描述

2.4 viewdns

https://viewdns.info/
在这里插入图片描述

3、phpinfo

如果目标网站存在phpinfo泄露等,可以在phpinfo中的SERVER_ADDR或_SERVER[“SERVER_ADDR"]找到真实ip

4、绕过CDN

绕过CDN的多种方法具体可以参考 https://www.cnblogs.com/qiudabai/p/9763739.html
在这里插入图片描述
在这里插入图片描述

九、旁站和C段

旁站往往存在业务功能站点,建议先收集已有IP的旁站,再探测C段,确认C段目标后,再在C段的基础上再收集一次旁站。
旁站是和已知目标站点在同一服务器但不同端口的站点,通过以下方法搜索到旁站后,先访问一下确定是不是自己需要的站点信息。

1、站长之家

同ip网站查询http://stool.chinaz.com/same
https://chapangzhan.com/

2、google hacking

https://blog.csdn.net/qq_36119192/article/details/84029809

2.1 网络空间搜索引擎

如FOFA搜索旁站和C段
该方法效率较高,并能够直观地看到站点标题,但也有不常见端口未收录的情况,虽然这种情况很少,但之后补充资产的时候可以用下面的方法nmap扫描再收集一遍。
在这里插入图片描述
在这里插入图片描述

2.2 在线c段 webscan.cc

webscan.cc
https://c.webscan.cc/
在这里插入图片描述
c段利用脚本

pip install requests
#coding:utf-8
import requests
import json

def get_c(ip):print("正在收集{}".format(ip))
    url="http://api.webscan.cc/?action=query&ip={}".format(ip)
    req=requests.get(url=url)
    html=req.text
    data=req.json()
    if 'null' not in html:
        with open("resulit.txt",'a', encoding='utf-8') as f:
            f.write(ip + '\n')
            f.close()
        for i in data:
            with open("resulit.txt",'a',encoding='utf-8') as f:
                f.write("\t{} {}\n".format(i['domain'],i['title']))print("     [+] {} {}[+]".format(i['domain'],i['title']))
                f.close()

def get_ips(ip):
    iplist=[]
    ips_str = ip[:ip.rfind('.')]
    for ips in range(1, 256):
        ipadd=ips_str + '.' + str(ips)
        iplist.append(ipadd)
    return iplist

ip=input("请你输入要查询的ip:")

ips=get_ips(ip)
for p in ips:
    get_c(p)

2.3 Nmap,Msscan扫描等

例如:nmap -p 80,443,8000,8080 -Pn 192.168.0.0/24

2.4 常见端口表

21,22,23,80-90,161,389,443,445,873,1099,1433,1521,1900,2082,2083,2222,2601,2604,3128,3306,3311,3312,3389,4440,4848,5432,5560,5900,5901,5902,6082,6379,7001-7010,7778,8080-8090,8649,8888,9000,9200,10000,11211,27017,28017,50000,50030,50060,135,139,445,53,88

注意:探测C段时一定要确认ip是否归属于目标,因为一个C段中的所有ip不一定全部属于目标。


本文转载自: https://blog.csdn.net/weixin_63172698/article/details/132565596
版权归原作者 君衍.⠀ 所有, 如有侵权,请联系我们删除。

“Web安全——信息收集上篇”的评论:

还没有评论