渗透前的⽬标信息收集⼩结
前⾔:
信息收集分类:
1、主动式信息搜集(可获取到的信息较多,但易被⽬标发现)
2、通过直接发起与被测⽬标⽹络之间的互动来获取相关信息,如通过Nmap扫描⽬标系统。
3、被动式信息搜集(搜集到的信息较少,但不易被发现,如通过搜索引擎搜索)
4、通过第三⽅服务来获取⽬标⽹络相关信息。如通过搜索引擎⽅式来搜集信息。
搜集什么信息
1、whois信息
2、⽹站架构(语⾔、中间件、数据库、平台)
3、dns信息(通过查询dns可以检测是否存在dns域传送和域⾏⾛)
4、⼦域名搜集(搜索引擎和⼯具以及漏洞)
5、敏感⽬录及敏感信息、源码泄露(搜索引擎+⼯具、GitHub等)
6、系统漏洞(系统版本漏洞是否修补)
7、旁站查询(通过IP反查)
8、C端查询(确认⼤公司或组织⽹段内⼦站)
9、指纹信息(框架探测)
10、端⼝服务
11、备案信息(whois反查、)
12、真实ip(绕过CDN)
13、探测waf(后续可确定Bypass⽅式)
14、社⼯(朋友圈、微博、qq空间、求职、交易等社交平台)
15、企业信息(天眼查、企业信⽤信息公⽰系统、⼯业和信息化部ICP/IP地址/域名信息备案管理系统)
信息搜集的流程
上⾯我已经列举了需要搜集的信息,然后我给它们分了⼀下类。
我考虑到⼀个⽹站的组成是由域名、服务器、⽹站程序组成的。
因此:
⾸先⼊⼿域名⽅⾯:whois、⼦域名、备案信息;
其次是⼊⼿服务器⽅⾯:dns信息、端⼝服务、真实ip;
然后⼊⼿⽹站程序(web层)⽅⾯:⽹站架构、敏感⽬录及敏感信息、源码泄露(搜索引擎+⼯具)、脆弱系统(⽹络空间)、旁站查询、C端查询、指纹信息、探测waf;
最后⼊⼿企业⽅⾯:天眼查、企业信⽤信息公⽰系统
0x00:IP发现
1.IP反查域名(查询旁站)
如果你的渗透⽬标⽹站是⼀台虚拟主机,那么通过IP反查到的域名信息往往很有价值,因为⼀台物理服务器上⾯可能运⾏多个虚拟主机,这些虚拟主机具有不同的域名,但通常共⽤⼀个IP地址。如果你知道有哪些⽹站共⽤这台服务器,就有可能通过此台服务器上其他⽹站的漏洞获取服务器控制权,进⽽迂回获取渗透⽬标的权限,这种技术也称为“旁注”。
站点和⼯具:
2.域名查询IP
知道⼀个站点的域名需要得到它的IP以便之后获取端⼝信息或扫描等后续⼯作。
站点和⼯具:
注:判断是否⽬标使⽤CDN(1).ping ⽬标主域,观察域名的解析情况,以此来判断是否使⽤了 CDN;(2).利⽤在线⽹站,进⾏全国多地区的 ping 服务器操作,然后对⽐每个地区ping 出的 IP 结果,查看这些 IP 是否⼀致,如果都是⼀样的,极有可能不存在 CDN。如果 IP ⼤多不太⼀样或者规律性很强,可是尝试查询这些 IP 的归属地,判断是都存在IP。在确认⽬标⽤了 CDN 的情况下:
内部邮箱源(让服务器给你发邮件看邮件头IP)(最可靠)
通过zmpap全⽹爆破查询真实IP(可靠)
扫描⽹站测试⽂件
分站域名(根据收集分站查看产⽣交互最多的站)
国外访问()
查询域名解析记录()(查询域名历史IP)
如果⽹站有 App,抓 App 的请求
绕过 CloudFlare CDN 查真实 IP()
3.IP WHOIS查询
IP WHOIS就是查询IP的详细信息的数据库(如IP使⽤⼈和IP使⽤⼈的相关信息等)。
4.C端存活主机探测
也可以使⽤Nmap扫描:
Nmap: nmap -sP www.XXX/24 ||  nmap -sP 192.168.1.*
5.C段常见端⼝探测
(1)最笨的⽅法:C段导⼊到⽂件,nmap扫描。
-iL参数:扫描⽂件中列出的所有IP地址。nmap -。配合其他⾃定义限制条件扫描。
(2)其他⼯具
Masscan安装和使⽤:
0x01:域名发现
1.⼦域名发现
开始渗透⼀个⽹站前,需要知道⽹站的⽹络资产:域名、IP等,⽽IP和域名有着直接的解析关系,所以如何到⽹站所有⼦域名是关键。
(1)DNS枚举(根据字典爆破)
域名可以通过收集常⽤域名字典,去DNS服务商查询是否有解析记录来枚举⼦域名。很多⼯具都是通过预定义的字典枚举:如Lay⼦域名挖掘机,subbrute等。
DNS服务商的字典是最准确有效的,先到⼀份DNSPod公布的使⽤最多的⼦域名://GitHub上的
(2)⾃⾝泄露
可通过github/FeeiCN/WebProxy代理电脑所有流量,从流量中搜索出现交互的⼦域名,如域名跳转、Response、⽹络请求中的⼦域名。缺点:⿇烦且没产⽣交互的⼦域名⽆法探测,略鸡肋。
(3)搜索引擎
使⽤百度,bing,Google等搜索引擎,可通过site关键字查询所有收录该域名的记录,⼦域名权重较⾼会排在前⾯。具体规则⽹上很多,可参考: zhuanlan.zhihu/p/22161675www.freebuf/articles/network/169601.html具体使⽤:以 s
(4)第三⽅查询
-
-有许多拥有⼤量 DNS 数据集的第三⽅服务,可通过他们来检索给定域的⼦域。如VirusTotal,dnsdumpser
(l
(6)Google HTTPS证书信息
Google透明度报告中的是⽤来解决HTTPS证书系统的结构性缺陷,它能够让所有⼈查询各个⽹站的HTTPS证书信息,从⽽能发现签发了证书的⼦域名。利⽤SSL证书的注册登
记发现⼦域名。
使⽤收集 CT(Certificate Transparency)⽇志的搜索引擎,是发现某个域证书最简单的⽅法。以下是⼀些流⾏的搜索引擎:
可以结合Masscan# ct.py - extracts domain names from CT Logs(shippedwith massdns) # massdns - will find resolvable domains & adds them to a file./ct.py  | ./bin/massdns -r
< -tA -q -a -o -w icann_ -//读取⽂件⾥⾯的CT信息搜索还可以直接通过本地证书:⼤⼚的SSL证书⼀般都是⼀证多⽤,根据这个特性,可以得到⼀些
⼦域名.eg:
使⽤SSL证书缺点很明显,没有注册SSL证书的⼦域名⽆法查到。
(7)⾃治系统编号(ASN)
到的ASN号码可⽤于查域的⽹络块。使⽤Nmap脚本可以实现使⽤ASN号码来查域的⽹络块。$ nmap --script targets-asn --script-args targets-asn.asn=XXXX
(8)利⽤域传送漏洞
因为对DNS服务器配置不当,导致任意IP都可以直接向DNS服务器请求数据,从⽽导致该域名的所有⼦域名暴露,可以写脚本也可以通过⽹站查询DNS。
域传送漏洞漏洞很⽼旧不常见。kali下检测:root@kali:~# dig +short @8.8.8.8  ns
.
.
得到了⽬标ns服务器,接下来使⽤⽬标ns服务器尝试传送dig @  axfr发现Transfer failed失败即不存在
漏洞。Kali下dns⼦域探测⼯具:dnsmap,dnsenum,fierce。也可以Windows
下nslookup查询:
(9) FDNS(forward DNS,DNS转发)
FDNS数据集作为 Project Sonar 的⼀部分发布。这些数据是通过提取来⾃多个源的域名并且给每个域发送 ANY 请求来收集的。这些数据是 gzip 格式的 json ⽂件。我们可以解
析数据集来查给定域的⼦域。数据集是很⼤的(压缩后约 20 + GB,未压缩约有 300 + GB)。
//GitHub说明
(10)zone walking(NSEC)区域⾏⾛
2.关联域名发现
(1)注册⼈和邮箱反查域名
先whois获取注册⼈和邮箱,再通过注册⼈和邮箱反查域名。
缺点很明显:除了⼤⼚之外很多公司都是DNS解析的运营商注册的,查到的是运营商代替个⼈和⼩公司注册的⽹站信息。
(2)相似域名查询
根据⽬标公司名称来查可能是⽬标资产的相似域名。
//相似、钓鱼域名检测。
0X02:端⼝信息探测
1、快速判断端⼝是否开启:
2、对服务器的信息进⾏详细的收集:
0X03:⽹站信息收集
1、指纹识别
2、waf识别:
nmap的扩展脚本,众所周知,nmap是⼀个端⼝扫描⼯具。但是它额外有的扩展模块,使得它具有了识别和绕过waf的能⼒。
2、敏感路径探测
1、Git源码泄露
成因及危害:当前⼤量开发⼈员使⽤git进⾏版本控制,对⽹站进⾏⾃动部署。如果配置不当,可能会将.git⽂件部署到线上环境,这就引起了git泄露漏洞。在⽹站安全维护⽅⾯,git和svn信息泄露,是⾮常常见也是⾮常致命的漏洞。会导致整个⽹站的源码泄露。漏洞检测:批量寻:".git" intitle:"index of"
2、SVN源码泄露
版本⼤于1.7的,        1、列出所有的⽂件。        2、把所有的⽂件dump下来。
3、⽹站⽂件备份
直接扫⽬录就可以得到,⼯具:7kbscan、御剑都可以。
0X04:互联⽹信息收集
(1)google和GitHub
使⽤⾕歌关键字。例如搜索site: 搜索⽬标公司程序员上传到GitHub上的代码和敏感信息,可能泄露如数据库连接信息、邮箱密码、uc-key、阿⾥的osskey、甚⾄是⽹站源代码。
还可以site: svn(smtp等) @)等在后⾯添加限制脚本类型或者服务类型。
intext:后台登录
查询页⾯中含有后台管理的⽹站,这⾥还可以利⽤site:语句(下同)指定查的⽹站(包含⼦域名)中页⾯含有后台登录的站点
intitle:管理登录
查⽹站标题中存在管理登录的页⾯
filetype: pdf
查⽹站中pdf格式的⽂件,也可以搜索⽹站sql或者压缩包等⽂件
inurl:  php?id=
查url中带有php?id=的⽹站
filetype:php  site:查secevery中的PHP⽂件
(2)shodan搜索引擎
可以直接搜索到站点IP开启的端⼝、服务器版本及平台、开启服务、地理位置等搜索语法可以直接搜索到站点IP开启的端⼝、服务器版本及平台、开启服务、地理位置等搜索语法
hostname:  搜索指定的主机或域名,例如 hostname:”google”
port:  搜索指定的端⼝或服务,例如 port:”21”
country:  搜索指定的国家,例如 country:”CN”
city:  搜索指定的城市,例如 city:”NanYang”
org:  搜索指定的组织或公司,例如 org:”google”
isp:  搜索指定的ISP供应商,例如 isp:”China Telecom”
product:  搜索指定的操作系统/软件/平台,例如 product:”Apache httpd”
version:  搜索指定的软件版本,例如 version:”1.6.2”
geo:  搜索指定的地理位置,例如 geo:”31.8639, 117.2808”
before/after:  搜索指定收录时间前后的数据,格式为dd-mm-yy,例如 before:”11-11-15”
net:  搜索指定的IP地址或⼦⽹,例如 net:”210.45.240.0/24”
(3)censys搜索引擎
搜索语法默认情况下censys⽀持全⽂检索。
23.0.0.0/8 or 8.8.8.0/24  可以使⽤and or not
status_code: 200  指定状态
status_code:[200 TO 300]  200-300之间的状态码
protocols: (“23/telnet” or “21/ftp”)  协议
tags: scada  标签
headers.server:nginx  服务器类型版本
autonomous_system.description: University  系统描述
(4)FoFa搜索引擎
搜索语法直接输⼊查询语句,将从标题,html内容,http头信息,url字段中搜索
title="abc" 从标题中搜索abc。
header="abc" 从http头中搜索abc。
body="abc" 从html正⽂中搜索abc。
domain="secevery" 搜索根域名带有secevery的⽹站。
host=".gov" 从url中搜索.gov,注意搜索要⽤host作为名称。
port="443" 查对应443端⼝的资产。
ip="1.1.1.1" 从ip中搜索包含1.1.1.1的⽹站,注意搜索要⽤ip作为名称。如果想要查询⽹段,可以是:ip="192.168.111.1/24",
protocol="https" 搜索制定协议类型(在开启端⼝扫描的情况下有效)。
city="Beijing" 搜索指定城市的资产。
region="Henan" 搜索指定⾏政区的资产。
country="CN" 搜索指定国家(编码)的资产。
nginx ssl证书配置
cert="" 搜索证书(https或者imaps等)中带有的资产。
banner=users && protocol=ftp 搜索FTP协议中带有users⽂本的资产。
type=service 搜索所有协议资产,⽀持subdomain和service两种。
os=windows 搜索Windows资产。例:
server=="Microsoft-IIS/7.5" 搜索IIS 7.5服务器。例:
app="海康威视-视频监控" 搜索海康威视设备,。例:
after="2017" && before="2017-10-01" 时间范围段搜索。例:
⾼级搜索:可以使⽤括号和 && || !=等符号,如
title="powered by" && title!=discuz
title!="powered by" && body=discuz
( body="content=\"WordPress" || (header="X-Pingback" && header="/xmlrpc.php" && body="/wp-includes/") ) && host="gov"
新增==完全匹配的符号,可以加快搜索速度,⽐如查所有host,可以是domain==""
(5)钟馗之眼(Zoomeye)
搜索语法
app:nginx  组件名
ver:1.0  版本
os:windows  操作系统
country:”China”  国家
city:”hangzhou”  城市
port:80  端⼝
hostname:google  主机名
  ⽹站域名
desc:nmask  描述
keywords:nmask’blog  关键词
service:ftp  服务类型
ip:8.8.8.8  ip地址
cidr:8.8.8.8/24  ip地址段
(6)邮箱收集
-
-⾸先确定邮件服务器本⾝有没有什么错误配置,没有禁⽤VRFY或EXPN命令导致的⽤户信息泄露,如果有可以直接把⽬标的邮件⽤户都爆出来,也可以尝试弱⼝令。
--收集⽬标的各类webmail⼊⼝。
⽬标的各种webmail⼊⼝,不⼀定有,但这也是为了后⾯⼀旦拿到密码尝试撞库的⼿段,如果⽤的是某种开源WEB邮件程序,也可以尝试对应版本的exp。
--提取whois邮箱去搜索引擎搜索,拿到旧密码可以去社⼯库去撞库。
--直接从⽬标站点查邮箱。⼀般的⽹站都有的""之类的链接或许就是邮箱,当然如果是[email]support@target[/email]或者[email]info@target[/email]这种邮箱直接忽略,我们需要有互动的邮箱,拿到后都试⼀试撞⼀撞库和搜索引擎跑⼀跑。
TheHarvester+Hydra可以⼤量扫描弱⼝令账户。
也可以使⽤metasploit的 auxiliary/gather/search_email_collector 模块:
msfconsole打开MSF控制台,输⼊use auxiliary/gather/search_email_collector,然后set domain XXmail设置⽬标邮件⽹站,然后show options显⽰搜索来源,exploit
⽬前使⽤菜单内的google选项去搜索邮箱需要FQ,直接⽤如图。
两种⽅法都可以将结果保存为⽂件然后使⽤hydra爆破。
(7)历史漏洞信息
虽然乌云关了但是镜像上⾯还有⼤量企业漏洞信息,此外CNVD,seebug等平台
也能查⼀些企业历史漏洞信息。
0X05:⼈⼒资源情报收集
(1)招聘信息
⽤google从招聘⽹站到信息再去查企业信息

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。