信息收集
总结
whois *
一颗星,现在使用whois 可能查到的是中间商,比如阿里云。所以查不到重要的信息,不会六留下信息
备案信息 *****
缺点:
- 只用大陆的营运网站可以这么做
- 外国和港澳台不需要进行备案
用法:
通过域名->公司名称->相关的子域名,更多的域名
子域名查询 *****
非常重要,主要使用google搜索语法,
方法:
- google 搜索语法 *****
- 公开子域名
- 网络空间搜索引擎
- 备案信息
- ssl证书查询
- 子域名爆破工具
IP 反差域名 **
域名查IP ****
主要是为了端口扫描
使用ping 或者nslookup
nslookup www.hetianlab.com
CND 绕过 *****
这个主要是面试可能会考,现在绕过的几率基本为0,所以可以考虑放弃,使用其他的渗透点进行渗透
端口扫描 *****
如果没有CDN的话就直接扫描一下端口
网站使用的操作系统 ***
网站的服务器的类型,脚本类型,cms,db ms***
dbms是指的是数据库引擎
敏感文件*****
主要是使用dirsearch 进行目录爆破
WAF ***
这个就很尴尬,如果检测到了,但是也绕过不去
收集哪些信息
下面是我的使用的比较多的方法
域名信息
备案信息
主要是使用网站查询
ICP/IP地址/域名信息备案管理系统 (miit.gov.cn)
子域名
google搜索语法
fofa
hunter
js发现子域名
这个是使用
JSFinder脚本工具
oneforall
实在不行就用这个
网站信息
管理员信息
服务器信息
信息收集
前期信息收集
域名收集
域名简绍
域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
DNS(域名系统,Domain Name System)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。域名的分类
whois(不是很重要)
是用来查询==域名的IP==以及==所有者==等的信息的传输协议
Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域
名注册商、域名注册日期和过期日期等)。通过域名 Whois 服务器查询,可以查询域名归属者联系方式,以及注册
和到期时间对于中小型的服务器的管理者看可能使用自己的信息作为服务器的登录密码
下面就是使用域名Whois查询 - 站长之家 (chinaz.com)查询的结果
whois反查
方式
(1)根据已知域名反查,分析出此==域名的注册人、邮箱、电话==等字段;
(2)根据已知域名WHOIS中的==注册邮箱==来反查得出其它域名WHOIS中注册==邮箱与此相同的域名列表==;
(3)根据已知域名WHOIS中的==注册人==来反查得出其它域名WHOIS中==注册人与此相同的域名列表==;
缺点
很多公司都是DNS解析的运行商注册的,查到的是运行商代替个人和公司注册的网站信息
可以通过下面的网站进行反查
域名反查:https://whois.chinaz.com/reverse?ddlSearchMode=0
邮箱反查:https://whois.chinaz.com/reverse?ddlSearchMode=1
现在作用很少,有很多中间商,假设我们去查询可能查询到的是中间商的
备案信息
备案号是网站是否合法注册经营的标志,可以用网页的备案号反查出该公司旗下的资产。
子域名
谷歌高级搜索语法
常见的语法总结
index of /admin
index of /passwd
index of /password index of /mail
“index of /“ +passwd “index of /“ +password.txt “index of /“ +.htaccess “index of /root”
“index of /cgi-bin” “index of /logs”
“index of /config”
使用公开渠道收集
https://developers.virustotal.com/reference/domains-relationships
ssl证书查询
http->ssl->tls->https
子域名得的收集工具
- SubFinder + KSubdomain + HttpX
SubFinder:用来查询域名的子域名信息的工具,可以使用很多国外安全网站的api接口进行自动化搜索子域名信 息。https://github.com/projectdiscovery/subfinder
HttpX:一款运行速度极快的多功能HTTP安全工具,它可以使用retryablehttp库来运行多种网络探针,并使用了多 线程机制来维持运行的稳定性和结果的准确性。 https://github.com/projectdiscovery/httpx
ksubdomain是一款基于无状态子域名爆破工具,支持在Windows/Linux/Mac上使用,它会很快的进行DNS爆破, 在Mac和Windows上理论最大发包速度在30w/s,linux上为160w/s的速度。 https://github.com/knownsec/ksubdomain
#subfinder基本使用
./subfinder -d baidu.com -o output.txt
#ksubdomain基本使用
./ksubdomain -d baidu.com
*#*管道操作
./subfinder -d baidu.com -silent|./ksubdomain -verify -silent|./httpx -title -content-length -status- code
#可以用管道结合在一起配合工作。达到收集域名,验证域名,http验证存活目的。
==通过管道符的完成三个工具的整合==
js文件发现子域名
IP,端口信息的收集
CDN即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载 均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率
IP反差域名
域名查询IP
使用ping 或者nslookup
nslookup www.hetianlab.com
多地ping
国外ping
可以进行绕过的CDN的限制
渗透端口
端口扫描
使用nmap工具进行扫描
基础的使用方法是
linux
nmap -A -T4 IP地址
windows
nmap.exe -A -T4 IP地址
==注意必须在执行文件的目录下使用,或者将其添加到path==
参数的意义
A:全面扫描\综合扫描 T4:扫描速度,共有6级,T0-T5
其他说明
不加端口说明扫描默认端口,1-1024 + nmap-service (nmap觉得的危险端口)
单一主机扫描:nmap 192.168.1.2
子网扫描:nmap 192.168.1.1/24
多主机扫描:nmap 192.168.1.1 192.168.1.10
主机范围扫描:nmap 192.168.1.1-100
IP地址列表扫描:nmap –iL target.txt
扫描除指定IP外的所有子网主机:
nmap 192.168.1.1/24 –exclude 192.168.1.1
扫描除文件中IP外的子网主机:
nmap 192.168.1.1/24 –excludefile xxx.txt
扫描特定主机上的80,21,23端口:
nmap –p 80,21,23 192.168.1.1
扫描全部端口
nmap -sS -v -T4 -Pn -p 0-65535 -oN FullTCP -iL liveHosts.txt
-sS:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快,效率高(一个完整的tcp连接需要3次握手, 而-sS选项不需要3次握手)
优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描 攻击),扫描速度快,效率高,在工作中使用频率最高 缺点:它需要root/administrator权限执行
-Pn:扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
-iL:导入需要扫描的列表
扫描常见的的端口信息
nmap -sS -T4 -Pn -oG TopTCP -iL LiveHosts.txt
系统扫描
nmap -O -T4 -Pn -oG OSDetect -iL LiveHosts.txt
版本检测
nmap -sV -T4 -Pn -oG ServiceDetect -iL LiveHosts.txt
nmap还可以进行简单的漏洞扫描
nmap.exe -p445 -v –script smb-ghost 192.168.1.0/24
C段查询
也就是说有可能附近的IP地址是目标的IP
有两种方法
python2 脚本 我还是比较常用nmap
se55i0n/Cwebscanner: 快速扫描C段web应用,获取请求状态code、server、title信息 (github.com)
nmap
nmap -sP www.XXX.com/24
nmap -sP 192.168.1.*
CDN
内容分发网路,可以简单的理解为就近访问
一个网站可能布置多个IP
对于寻找真是的IP可能对于我们有难度,可以使用多地ping,国外ping,nslookup(是否存在addresses复数 cname(cnd的核心技术)可以理解为别名 )
如果发现布置了CDN服务,这么解决呢?有两种方法,绕过或者放弃。
绕过: *****
查看子域名(旁站或者C段)
因为CDN是按照流量收费的,有可能提供者没有给子域名设置CDN
国外PING
邮件收发服务(旁站或者C段)
但是必须邮件服务器和网站在同一个C段或者同一个IP才行
查询DNS记录,这个是最有效的
A记录:域名变IPV4地址查询的记录
AAAA记录:域名变成IPV6地址查询的记录
CNAME记录:就是cname CDN的核心技术
放弃:
放弃寻找真实IP,寻找一个真实IP用于端口扫描
端口信息收集
常见的端口信息
20: FTP传输控制信息
21:FTP传输数据
FTP-21:
ftp匿名访问:用户名:anonymous 密码:为空或者任意邮箱
SSH-22:
(1)弱口令,可使用工具hydra,msf中的ssh爆破模块。
(2)SSH后门 LINUX留后门–教程(二)—— SSH软链接后门_ssh软连接后门-CSDN博客
(3)openssh 用户枚举 CVE-2018-15473。(https://www.anquanke.com/post/id/157607
www-80:
http开放的端口主要是用于万维网传输信息的协议
可能存在的漏洞有
中间件 IIS apache ngnix等
MySQL-3306:
弱密码爆破
登录
获取敏感信息
RDP-3389:
windows远程桌面服务默认监听的端口
redis-6379:
Weblogic-7001:
Tomcat-8080:
Oracle-1521
SQL server-1433
Postgresql-
网站信息收集
通过ping返回的TTL值判断是什么系统的服务器
linux TTL一般小于100
win一般大于100
CMS
敏感文件
常见的敏感文件
robots.txt(一般都会存在,显示的内容就是网站使用的文件目录)
crossdomain.xml
sitemap.xml
后合目录
网站安装目录
网站上传目录
mysql管理页面
phpinfo
网站文本编辑器
测试文件
网站备份文件(.rar、.zip、.7z、tar、.gz、.bak)←
DS_Store文焦←
vim编辑器备份文侏(.swp)
WEB-lNF/web.xml文件robots.txt
robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被搜索引擎访问的部分,或者指定搜 索引擎只收录指定的内容。当一个搜索引擎访问一个站点时,它会首先检查该站点根 目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取
crossdomain.xml
跨域,顾名思义就是需要的资源不在自己的域服务器上,需要访问其他域服务器。跨域策略文件是一个xml文档文 件,主要是为web客户端(如Adobe Flash Player等)设置跨域处理数据的权限。
可以使用谷歌搜索语法
inurl:crossdomain filetype:xml intext:allow-access-from
操作系统
ping
可以使用ping 看生存时间windows一般是在128
linux则是在64,但是这个是一般情况下
网站服务,容器类型
wappalyzer插件
该浏览器插件可以查看啊网站用到的相关技术
脚本类型
php
jsp
asp/aspx
python
asp是使用vb语言写的比较老了,aspx是使用.NET框架写的,使用的语言是’C#’ 或者’vbs’
CMS识别
内容管理系统,用于网站内容文章管理
源代码泄露
主要是通过搜索github等仓库看是否存在敏感信息
.git泄露
这个可以回复部分文件
GoogleHacking语法:”.git” intitle:”index of”
工具:https://github.com/lijiejie/GitHack
GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。
看是否存在备份文件
目录扫描
这个很重要
可以使用dirsearch进行扫描出结果
人员信息,其他信息
- 身份信息,社工库
自动信息收集
灯塔
EHole-3.0-new
识别指纹
本地运行
fofa识别
选哟配置fofa密钥,邮箱
相关概念理解
主动收集和被动收集
主动收集:
就是访问对应的网站,比如我现在访问百度的网站,就是直接收集,没有流量通过
被动收集:
可以理解为,使用工具去搜集这个信息