信息收集

1.简介

  渗透的本质是信息收集,信息收集也叫做资产收集。

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

2.分类

  (1)服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)

  (2)网站指纹识别(包括cms,cdn,证书等) dns记录

  (3)whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)

  (4)子域名收集,旁站,C段等

  (5)google,hacking针对化搜索,word/电子表格/pdf文件,中间件版本,弱口令扫描等

  (6)扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等

  (7)传输协议,通用漏洞,exp,github源码等

3.常见方法

(1)whois查询

  域名在注册的时候,需要填入个人或者企业信息,如果没有设置隐藏属性可以查询出来,通过备案号查询个人或者企业信息,也可以whois反查注册人、邮箱、电话、机构等,反查更多的域名和需要的信息。

(2)收集子域名

  域名分为根域名和子域名

  moonsec.com 根域名 顶级域名

  www.moonsec.com 子域名 也叫二级域名

  www.wiki.moonsec.com  子域名 也叫三级域名 四级如此类推

(3)端口扫描

  服务器需要开放服务,就必须开启端口,常见的端口是 tcp 和 udp 两种类型,范围 0-65535 ,通过扫得到的端口,访问服务,规划下一步渗透。

(4)查找真实ip

  企业的网站,为了提高访问速度,或者避免黑客攻击,用了cdn服务,用了cdn之后真实服务器ip会被隐藏。

(5)探测旁站及C段

  旁站:一个服务器上有多个网站,通过ip查询服务器上的网站。

  C段:查找同一个段、服务器上的网站。可以找到同样网站的类型和服务器,也可以获取同段服务器进行下一步渗透。

(6)网络空间搜索引擎

  通过这些引擎查找网站或者服务器的信息,进行下一步渗透。

(7)扫描敏感目录/文件

  通过扫描目录和文件,大致了解网站的结构,获取突破点,比如后台,文件备份,上传点。

(8)指纹识别

  获取网站的版本,属于那些cms管理系统,查找漏洞exp,下载cms进行代码审计。

4.在线whois查询

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

站长之家域名WHOIS信息查询地址 http://whois.chinaz.com/

爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/

腾讯云域名WHOIS信息查询地址 https://whois.cloud.tencent.com/

美橙互联域名WHOIS信息查询地址 https://whois.cndns.com/

爱名网域名WHOIS信息查询地址 https://www.22.cn/domain/

易名网域名WHOIS信息查询地址 https://whois.ename.net/

中国万网域名WHOIS信息查询地址 https://whois.aliyun.com/

西部数码域名WHOIS信息查询地址 https://whois.west.cn/

纳网域名WHOIS信息查询地址 http://whois.nawang.cn/

中资源域名WHOIS信息查询地址 https://www.zzy.cn/domain/whois.html

三五互联域名WHOIS信息查询地址 https://cp.35.com/chinese/whois.php

新网域名WHOIS信息查询地址 http://whois.xinnet.com/domain/whois/index.jsp

新网互联域名WHOIS信息查询地址 http://www.dns.com.cn/show/domain/whois/index.do

国外WHOIS信息查询地址 https://who.is/

5.在线网站备案查询

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

天眼查 https://www.tianyancha.com/

ICP备案查询网 http://www.beianbeian.com/

爱站备案查询 https://icp.aizhan.com/

域名助手备案信息查询 http://cha.fute.com/index

6.收集子域名

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

6.1常用方式

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

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

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

  FOFA title="公司名称"

  百度 intitle=公司名称

  Google intitle=公司名称

  钟馗之眼 site=域名 https://www.zoomeye.org/

  站长之家 直接搜索名称或者网站域名即可查看相关信息 http://tool.chinaz.com/

6.2域名类型

A (Address) 记录

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

别名(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地址上了。

MX(Mail Exchanger)记录

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

TXT记录

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

  (1)admin IN TXT "jack, mobile:138xxx138"

  (2)mail IN TXT "邮件主机, 存放在xxx ,管理人:AAA",Jim IN TXT "contact: abc@mailserver.com"

NS(Name Server)记录

  是一种域名服务器记录,用来明确当前的域名是由哪个DNS服务器来进行解析的。

6.3子域名查询

dns侦测 https://dnsdumpster.com/

 

https://www.ip138.com/

 

https://ipchaxun.com/

 

FOFA查询 https://fofa.info/

1 domain="baidu.com"

 

360空间测绘查询 https://quake.360.cn/

1 domain:"*.freebuf.com" 

 

Hackertarget查询 https://hackertarget.com/find-dns-host-records/

 

Layer子域名挖掘机

 

Sublist3r

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

常用参数:

 1 -h :帮助
 2 
 3 -d :指定主域名枚举子域名
 4 
 5 -b :调用subbrute暴力枚举子域名
 6 
 7 -p :指定tpc端口扫描子域名
 8 
 9 -v :显示实时详细信息结果
10 
11 -t :指定线程
12 
13 -e :指定搜索引擎
14 
15 -o :将结果保存到文本
16 
17 -n :输出不带颜色

默认参数扫描子域名 python sublist3r.py -d baidu.com

使用暴力枚举子域名 python sublist3r -b -d baidu.com

 

OneForALL

1 python3 oneforall.py --target baidu.com run

爆破子域名

Example:

 1 brute.py --target domain.com --word True run
 2 
 3 brute.py --targets ./domains.txt --word True run
 4 
 5 brute.py --target domain.com --word True --concurrent 2000 run
 6 
 7 brute.py --target domain.com --word True --wordlist subnames.txt run
 8 
 9 brute.py --target domain.com --word True --recursive True --depth 2 run
10 
11 brute.py --target d.com --fuzz True --place m.*.d.com --rule '[a-z]' run
12 
13 brute.py --target d.com --fuzz True --place m.*.d.com --fuzzlist subnames.txt run

 

Wydomain

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

 

目标域名解析IP

https://site.ip138.com/

https://ipchaxun.com/

ip正则

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

查找厂商IP段

https://ipwhois.cnnic.net.cn/index.jsp

7.端口扫描

masscan端口扫描

1 masscan -p 1-65535 192.168.101.4 --rate=1000

 

御剑端口扫描

 

nmap端口扫描

1 nmap -sT -A 192.168.101.4

常用参数: 

 1 nmap [ip地址|域名]
 2 
 3 nmap -A -T4 [ip地址|域名]
 4 
 5 nmap --top-ports 100 [ip地址]
 6 
 7 nmap -sS -sV -T4 [ip地址]
 8 
 9 nmap -sn [ip地址]
10 
11 nmap -Pn -sT -v -p [端口号] [ip]

 

渗透端口

21,22,23,53,135,139,1433,1521,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,445,512,513,514,1025,111,1521

 

常见端口和攻击方法

8.旁站和C段

旁站:是和目标网站在同一台服务器上的其它的网站。

C段:是和目标服务器ip处在同一个C段的其它服务器。

 

站长之家

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

查旁站:https://chapangzhan.com/

 

Google hacking

参考网站:https://blog.csdn.net/qq_36119192/article/details/84029809

 

网络空间搜索引擎

例如:FOFA搜索旁站和C段

该方法效率较高,并能够直观地看到站点标题,但也有不常见端口未收录的情况,虽然这种情况很少,但之后补充资产的时候可以用nmap扫描再收集一遍。

 

在线C段

https://webscan.cc/

https://c.webscan.cc/

 

利用脚本查询

pip install requests

 1 #coding:utf-8
 2 import requests
 3 import json
 4 
 5 def get_c(ip):
 6     print("正在收集{}".format(ip))
 7     url="http://api.webscan.cc/?action=query&ip={}".format(ip)
 8     req=requests.get(url=url)
 9     html=req.text
10     data=req.json()
11     if 'null' not in html:
12         with open("resulit.txt", 'a', encoding='utf-8') as f:
13             f.write(ip + '\n')
14             f.close()
15         for i in data:
16             with open("resulit.txt", 'a',encoding='utf-8') as f:
17                 f.write("\t{} {}\n".format(i['domain'],i['title']))
18                 print("     [+] {} {}[+]".format(i['domain'],i['title']))
19                 f.close()
20 
21 def get_ips(ip):
22     iplist=[]
23     ips_str = ip[:ip.rfind('.')]
24     for ips in range(1, 256):
25         ipadd=ips_str + '.' + str(ips)
26         iplist.append(ipadd)
27     return iplist
28 
29 ip=input("请你输入要查询的ip:")
30 ips=get_ips(ip)
31 for p in ips:
32     get_c(p)

 

Nmap,Msscan扫描等

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

 

常见端口

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不一定全部属于目标。

9.网络空间搜索引擎

如果想要在短时间内快速收集资产,可以利用网络空间搜索引擎,能够直观地看到旁站,端口,站点标题,IP等信息,点击列举出站点可以直接访问,以此来判断是否为自己需要的站点信息。

FOFA的常用语法

(1)同IP旁站:ip="192.168.0.1"

(2)C段:ip="192.168.0.0/24"

(3)子域名:domain="baidu.com"

(4)标题/关键字:title="百度"

(5)特征:body="百度"或header="baidu"

(6)如果需要将结果缩小到某个城市的范围,那么可以拼接语句 title="百度"&& region="Beijing"

10.扫描敏感目录/文件

扫描敏感目录需要强大的字典,需要平时积累,拥有强大的字典能够更高效地找出网站的管理后台。

敏感文件常见的例如.git文件泄露 .svn文件泄露 phpinfo泄露等,这一步交给各类扫描器就可以了,将目标站点输入到域名中,选择对应字典类型,就可以进行扫描。

 

御剑后台扫描

参考网站:https://www.fujieace.com/hacker/tools/yujian.html

 

7kbstorm

https://github.com/7kbstorm/7kbscan-WebPathBrute

 

BBScan

https://github.com/lijiejie/BBScan

安装:pip install -r requirements.txt

使用示例:

(1)扫描单个web服务 www.target.com

  python BBScan.py  --host www.target.com

(2)扫描www.target.com和www.target.com/28下的其他主机

  python BBScan.py  --host www.target.com --network 28

(3)扫描txt文件中的所有主机

  python BBScan.py -f targets.txt

(4)从文件夹中导入所有的主机并扫描

  python BBScan.py -d targets/

–network 参数用于设置子网掩码,小公司设为28~30,中等规模公司设置26~28,大公司设为24~26,因为扫描过于耗时,所以需要尽量避免设为24。

 

dirmap

https://github.com/H4ckForJob/dirmap

安装:pip install -r requirement.txt

输入目标:

单目标,默认为http

  python3 dirmap.py -i https://target.com -lcf

  python3 dirmap.py -i 192.168.1.1 -lcf

子网(CIDR格式)

  python3 dirmap.py -i 192.168.1.0/24 -lcf

网络范围

  python3 dirmap.py -i 192.168.1.1-192.168.1.100 -lcf

文件读取:

targets.txt中支持上述格式

  python3 dirmap.py -iF targets.txt -lcf

 

其他工具

dirsearch

gobuster

dirbuster

10.网站文件

https://www.secpulse.com/archives/55286.html

robots.txt

crossdomin.xml

sitemap.xml

后台目录

网站安装包

网站上传目录

mysql管理页面

phpinfo

网站文本编辑器

测试文件 1

DS_Store 文件

vim编辑器备份文件(.swp)

WEB—INF/web.xml文件

git

svn 

网站备份文件(.rar、zip、.7z、.tar.gz、.bak)

 

文件内容,例如

config.php

config.php~

config.php.bak

config.php.swp

config.php.rar

conig.php.tar.gz

11.网站头信息收集

中间件 :

web服务(Web Servers)

apache iis7 iis7.5 iis8 nginx WebLogic tomcat

网站组件:

js组件jquery、vue  页面布局bootstrap

 

通过浏览器获取

 

火狐插件Wappalyzer

 

curl命令查询头信息

curl https://www.baidu.com -i

 

fofa网络空间测绘

常用语法

同IP旁站:ip="192.168.0.1"

C段:ip="192.168.0.0/24"

子域名:domain="baidu.com"

标题/关键字:title="百度"

如果需要将结果缩小到某个城市,那么可以拼接语句

title="百度"&& region="Beijing"

特征:body="百度"或header="baidu"

12.敏感文件搜索

12.1github搜索

in:name test #仓库标题搜索含有关键字test

in:descripton test #仓库描述搜索含有关键字test

in:readme test #readme文件搜索含有关键字test

搜索系统密码

https://github.com/search?q=smtp+58.com+password+3306&type=Code

github 关键词监控

https://www.codercto.com/a/46640.html

 

谷歌搜索

site:Github.com sa password

site:Github.com root password

site:Github.com User ID='sa';Password

site:Github.com inurl:sql

SVN 信息收集

site:Github.com svn

site:Github.com svn username

site:Github.com svn password

site:Github.com svn username password

综合信息收集

site:Github.com password

site:Github.com ftp ftppassword

site:Github.com 密码

site:Github.com 内部 

参考网站

http://www.361way.com/github-hack/6284.html

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

搜索代码

https://docs.github.com/zh/search-github/searching-on-github/searching-code

https://github.com/search?q=smtp+bilibili.com&type=code

12.2Google hacking

site:域名

inurl: url中存在的关键字网页

intext:网页正文中的关键词

filetype:指定文件类型

12.3js敏感信息

网站的url链接写到js里面

js的api接口 里面包含用户信息 例如 账号和密码

查询网站注册信息

https://www.reg007.com/

 

JSFinder

https://gitee.com/kn1fes/JSFinder

python3 JSFinder.py -u http://www.mi.com

python3 JSFinder.py -u http://www.mi.com -d

python3 JSFinder.py -u http://www.mi.com -d -ou mi_url.txt -os mi_subdomain.txt

使用-d可以进行深度爬取来获得更多内容,并使用命令-ou, -os来指定URL和子域名所保存的文件名

批量指定URL/JS来获取里面的URL

指定URL:

python JSFinder.py -f text.txt

指定JS:

python JSFinder.py -f text.txt -j

 

Packer-Fuzzer

https://gitee.com/keyboxdzd/Packer-Fuzzer

sudo apt-get install nodejs && sudo apt-get install npm

pip3 install -r requirements.txt

python3 PackerFuzzer.py -u https://www.liaoxuefeng.com

 

SecretFinder

一款基于Python脚本的JavaScript敏感信息搜索工具

https://gitee.com/mucn/SecretFinder

python3 SecretFinder.py -i https://www.moonsec.com/ -e

13.cms识别

收集好网站信息之后,可以对网站进行指纹识别

通过识别指纹,确定目标的cms及版本,制定下一步的测试计划,可以用公开的poc或自己累积的对应手法等进行正式的渗透测试

 

云悉

http://www.yunsee.cn/

 

潮汐指纹

http://finger.tidesec.net

 

whatcms

 

御剑cms识别

https://github.com/ldbfpiaoran/cmscan

https://github.com/theLSA/cmsIdentification/

14.SSL/TLS证书查询

SSL/TLS证书通常包含域名、子域名和邮件地址等信息

结合证书中的信息,可以更快速地定位到目标资产,获取到更多目标资产的相关信息

 

https://myssl.com/

https://crt.sh/

https://censys.io/

https://developers.facebook.com/tools/ct/

https://google.com/transparencyreport/https/ct

 

SSL证书搜索引擎:

https://certdb.com/domain/github.com

https://crt.sh/?q=baidu.com

https://censys.io/

https://getdomainsbyssl.py

 15.js敏感文件

https://github.com/m4ll0k/SecretFinder

https://github.com/Threezh1/JSFinder

https://github.com/rtcatc/Packer-Fuzzer

16.github信息泄露监控

https://github.com/0xbug/Hawkeye

https://github.com/MiSecurity/x-patrol

https://github.com/VKSRC/Github-Monitor

17.资产收集神器

ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔系统

https://github.com/TophantTechnology/ARL

AssetsHunter

https://github.com/rabbitmask/AssetsHunter

一款用于src资产信息收集的工具

https://github.com/sp4rkw/Reaper

domain_hunter_pro

https://github.com/bit4woo/domain_hunter_pro

18.工具

Fuzz字典推荐:https://github.com/TheKingOfDuck/fuzzDicts

BurpCollector(BurpSuite参数收集插件):https://github.com/TEag1e/BurpCollector

Wfuzz:https://github.com/xmendez/wfuzz

LinkFinder:https://github.com/GerbenJavado/LinkFinder

PoCBox:https://github.com/Acmesec/PoCBox

posted @ 2023-08-10 16:38  lxl3344  阅读(300)  评论(0编辑  收藏  举报