每当拿到一个资产的时候,都感觉无从下手,要么感觉这里差点,那里差点,总是觉得没有仔细的把所有的信息收集到位。由此我才想到写这么一篇手动的信息收集流程,当然我也是很极力推荐使用类似于灯塔这样的信息收集工具,这些工具可以给节省人力和时间。对于小白来说,手动的收集是一个必不可少的过程,这让其形成一个体系,对目标有更深的理解。工具永远是工具,工具是死的,人是活的。本文章肯定有很多不全的,请大佬轻喷。
域名信息
- 查询
ip
信息:
ip
使用过的网址,也可以反向查询到网址绑定过的 ip
https://site.ip138.com/
- 子域名:
这款工具可能仅支持绕过Cloudflare
服务,说能绕过去吧,也不对,总而言之当做子域名爆破,还是非常好用的!
子域名爆破推荐工具:https://github.com/spyboy-productions/CloakQuest3r
详细讲解:https://www.bilibili.com/video/BV1Sz421X7SA/?share_source=copy_web&vd_source=6a59aec42efee75d78b0133daad15911
日常多收集一些子域名字典,到关键时刻的时候可以派上用场
- 备案信息:
查到网站的联系方式,所有人等
https://beian.miit.gov.cn/
- C段:
在给运营商开通IP
时候可能会连续开通好几个,通过C
段就能找到其他相关的网站
nmap -sn -PE -n 192.168.100.0/24 -oX output.xml
- Whois:
查询域名是否被注册,域名详细信息
https://www.whois.com/
- 搜索引擎搜索:
通过 google
黑客语法查找更多的信息。
site:domain
- 网络空间资产测绘:
可以通过一些资产测绘找到其他的关键信息
https://www.shodan.io/
https://fofa.info/
https://censys.com/
https://hunter.qianxin.com/
https://quake.360.net/
- ASN信息关联:
自治系统是互联网中的一组IP地址及其相关路由策略的集合,由一个或多个网络连接到互联网的IP地址块组成。ASN是一个唯一的标识符,用于在互联网路由中标识一个自治系统,类似于企业或者组织在互联网上的身份证。
命令:
Linux:whois -h whois.radb.net AS<ASN号>
Windows:tracert -h whois.radb.net AS<ASN号>
在线工具和网站:
https://bgp.he.net/
https://stat.ripe.net/
https://asn.cymru.com/cgi-bin/whois.cgi
- 证书收集
通过 https://crt.sh 进行快速证书查询收集
附上查询 python
脚本(获得所有包含证书的子域)
import requests
import re
TIME_OUT = 60
def get_SSL(domain):
domains = []
url = 'https://crt.sh/q?=%25.{}'.format(domain)
response = requests.get(url,timeout=TIME_OUT)
ssl = re.findall("<TD>(.*?).{}</TD>".format(domain),response.text)
for i in ssl:
i += '.' + doamin
domains.append(i)
print(domains)
if __name__ == '__main__':
get_SSL("baidu.com")
CDN
单独开一个目录来说一说 CDN
。现在的企业网站中,几乎所有的网站都用了CDN
。
CDN
中文名称为:内容分发网络使用
CDN
技术能有效提高万战的访问速度和安全性
- 使用命令行
openssl:openssl s_client -connect ip:443 | grep subject
curl:curl -v https://ip | grep ‘subject’
- CloudFlair工具
脚本兼容 python 2.5
和 python 3.5
,需要配置 Censys API
,只针对目标网站使用 CloudFlare
服务进行探测
API
和 Secret
获取地址:
https://search.censys.io/account/api
CloudFlair
工具使用
git clone https://github.com/christophetd/CloudFlair
export CENSYS_API_ID=“xxx”
export CENSYS_API_SECRT=“xxx”
pip install -r requirements.txt //安装环境依赖
python cloudflair.py --censys-api-id xxx --censys-api-secret xxx baidu.com
- 通过 favicon.ico 哈希特征
favicon.ico
是浏览器在标题左侧的小图标,改图标可以通过 https://anywebsite/favicon.ico 处获取,浏览器会自动请求它,通过计算得到 favicon.ico
的指纹哈希,然后去 fofa
等搜索引擎搜索与之相同的主机结果,从而找到真实 IP
地址
计算 favicon.ico
哈希的脚本:
import mmh3
import requests
import codecs
response = requests.get('https://domain.com/favicon.ico')
favicon = codecs.encode(reponse.content,"base64")
hash = mmh3.hash(favicon)
print hash
站点信息
- 判断网站操作系统
Linux
大小写铭感Windows
带下写不敏感
- 扫描铭感文件
robots.txt
crossdomain.xml
sitemap.xml
xx.tar.gz
xx.bak
login.html
passwd
推荐工具:https://github.com/maurosoria/dirsearch
- 框架/中间件/web容器服务等信息
推荐工具(小插件Wappalyzer
): https://chromewebstore.google.com/detail/wappalyzer-technology-pro/gppongmhjkpfnbhagpmjfkannfbllamg?utm_source=ext_app_menu
- 端口扫描
推荐工具nmap
:https://github.com/nmap/nmap
kali
自带的也可以
命令详解:https://zhuanlan.zhihu.com/p/626825093
搜索浏览器利用
- 搜索技巧:
site:www.xxx.com //返回此目标站点被搜索引擎抓取收录的所有内容
site:www.xxx.com abc //abc这个关键词可以改为passwd、login等
site:www.xxx.com inurl:admin.php //查找该网站的admin.php页面,可进行更换
link:www.xxx.com //所有包含目标站点链接的页面
related:www.xxx.com //所有和站点相似的页面
inurl:"nph-proxy.cgi""Start browsing" //查找代理服务器
- github:
xxx pushed:>2013-01-28 created:>2023-01-01 #查找自2013年1月28日到2023年1月1日推送的 xxx 存储库
xxx size:>1000 #查找大小大于1000kbs的代码中所有system的实例
xxx repo:a/b #在a/b存储库中的代码中查找所有xxx的实例。
xxx extension:abc #查找所有扩展名为abc的代码中xxx的实例
exception created:>2023-12-31 #自2023年初以来异常问题
exception updated:<2023-01-01 #在2023年之前的异常问题
邮箱泄露:
site:Github.com @qq.com
site:Github.com apache @qq.com
site:Github.com xxx @qq.com
site:Github.com xxx @gmail.com
site:Github.com xxx @163.com
密码泄露:
site:Github.com password
site:Github.com xxx password
site:Github.com pwd
文件类型:
filename:manifest.xml
filename:travis.yml
filename:vim_settings.xml
filename:database
filename:prod.exs NOT prod.secret.exs
filename:prod.secret.exs
filename:.npmrc _auth
filename:.dockercfg auth
filename:WebServers.xml
filename:.bash_history <Domain name>
filename:sftp-config.json
filename:sftp.json path:.vscode
filename:secrets.yml password
filename:.esmtprc password
filename:passwd path:etc
filename:dbeaver-data-sources.xml
path:sites databases password
filename:config.php dbpasswd
filename:prod.secret.exs
filename:configuration.php JConfig password
filename:.sh_history
社会工程学
- 企业信息收集
天眼查:工商信息,商标专利,企业年报
也能通过企业名字在备案信息网(https://beian.miit.gov.cn/
)找到企业备案信息
- 钓鱼
通过邮箱发送邮件,Office可以使用Office漏洞、宏、OLE对象、PPSX等方式构造利用文件。Exe可以使用特殊的Unicode控制字符如RLO (Right-to-Left Override) 等来构建容易混淆的文件名。
- 社工库
在tg
上有很多 sgk
这个大家自己去找,八仙过海各显神通的时候到了。通过手机号,qq号等找到其他关键信息。通过这些关键信息组合成密码本,对网站进行密码爆破。
结语
本文章肯定有很多不足之处,希望各位大佬轻喷。此文章深度不是很够,希望给大家提供一些其他新的思路。渗透测试的本质就是信息收集,做好信息搜集事半功倍。