信息收集(上)
信息收集
-------------------------------------------------------------------------------
课程内容
- 真实IP定位
- 邮箱、电话、物理地址等收集手法
- 敏感信息收集技术
- 主动和被动信息收集技术
- 信息收集工具应用
- Google hacking 和Fofa
- C段旁站
- WAF探测
课程目标
- 了解信息收集对渗透的重要性
- 掌握主动信息收集的方法
- 掌握被动信息收集的技术和方法
- 拿到真实网站具备渗透测试的思路
---------------------------------------------------------------------------------------------------------------------------------
一、信息收集简介
1.1 什么是信息收集
信息收集是指通过各种方式获取所需要的信息,以便我们在后续的渗透过程更好的进行。比如目标站点IP、中间件、脚本语言、端口、邮箱等等。信息收集包含资产收集但不限于资产收集。
1.2 信息收集的意义
- 信息收集是渗透测试成功的保障
- 更多的暴露面
- 更大的可能性
1.3 信息收集的分类
- 主动信息收集
通过直接访问网站在网站上进行操作,对网站进行扫描等,这种是有网络流量经过目标服务器的信息收集方式。缺点是容易被目标机器记录操作信息或屏蔽,如:nmap等,但这种方式收集的信息较为准确。
- 被动信息收集
基于公开的渠道,比如搜索引擎google、shadan、fofa等,在不与目标系统直接交互的情况下获取信息,并且尽量避免留下痕迹,这种方式收集的信息不是很准确。
没有一种方式是最完美的,每个方式都有自己的优势,主动方式,你能获取更多的信息,但是目标主机可能会记录你的操作记录。被动方式,你收集的信息会相对较少,但是你的行动并不会被目标主机发现。一般在一个渗透项目下,你需要有多次的信息收集,同时也要运用不同的收集方式,才能保证信息收集的完整性。而信息收集到底要收集哪些信息呢?
1.4 收集哪些信息
- 服务器信息(端口、服务、真实IP)
- 网站信息〔(网站架构【操作系统、中间件、数据库、编程语言】、指纹信息、WAF、敏感目录、敏感文件、源码泄露、旁站查询、C段查询)
- 域名信(whois、备案信息、子域名)
- 人员信息(姓名、职务、生日、联系电话、邮件地址)
域名信息收集
2.1 域名介绍
域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
DNS(域名系统,Domain Name System)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
2.2 域名分类
顶级域名 二级域名 三级域名
.com baidu.com www.baidu.com
政府域名 商业域名 教育域名
.gov .com .edu
2.3 whois查询
2.3.1 什么是whois查询
whois是用来查询域名的IP以及所有者等信息的传输协议。就是一个用来查询域名是否被注册。以及注册域名的详细信息的数据库(如域名所有人,域名注册商)。
2.3.1 whois查询的重要性
通过whois查询可以获得域名注册者邮箱地址等信息。一股情况下对于中小型网站域名注册者就是网站管理员。利用搜索引擎对whois查询到的信息进行搜索,获取更多域名注册者的个人信息。
2.3.2 查询方法
- Web接口查询
https://whois.aliyun.com/
https://www.whois365.com/cn/
http://whois.chinaz.com
- whois命令行查询
whois baidu.com
2.4 备案信息查询
2.4.1 什么是网站备案
网站搭建、域名解析都需要对网站服务器进行备案,在备案之后会生成一个网络ICP域名备案号,一般网站最下方的banner信息都会显示备案号。如果在国内不去进行备案是无法进行正常解析的。我们可以通过备案号信息去收集管理员信息、旁站、子域名信息等。
2.4.2 查询方法
web接口查询
http://www.beianbeian.com/
http://www.beian.gov.cn/portal/registerSys
http://icp.chinaz.com/
2.5 whois反查
先通过whois获取注册人和邮箱,再通过注册人和邮箱反查域名。缺点是很多公司都是DNS解析的运营商注册的,查到的是运营商代替个人和公司注册的网站信息。
web接口查询:
https://whois.chinaz.com/reverse?ddlSearchMode=1
http://whois.4.cn/reverse
https://whois.aizhan.com/
子域名收集
3.1 子域名介绍
子域名指二级域名,二级域名是顶级域名(一级域名)的下一级。
比如mail.goktech.cn和bbs.goktech.cn是goktech.cn的子域,而goktech.cn则是顶级域名.com的子域。
www.goktech.cn
3.2 为什么要收集子域名呢
- 子域名枚举可以在测试范围内发现更多的域或子域,这将增大漏洞发现的几率。
- 有些隐藏的、被忽略的子域上运行的应用程序可能帮助我们发现重大漏洞。
- 在同一个组织的不同域或应用程序中往往存在相同的漏洞。
3.3 收集方法
3.3.1 搜索引擎(谷歌黑客语法)
- GoogleHacking常用语法
- intext 搜索网页正文内容中的指定字符。
例如intext:pdf。这个语法类似我们平时在某些网站中使用的“文章内容搜索”功能
- Site 找到与指定网站有联系的URL。
例如Site:www.58.com。所有和这个网站有联系的URL都会被显示
- 减号- 要求搜索结果中不含特定查询词
例如intitle:小说 - 电视剧 只会搜到小说而不会出现电视剧
- domain 查找跟某网站相关的信息
例如domain:www.google.com查询在网站内容里面包含www.google.com的信息的网站
- filetype 限制查找文件的格式内容
关键字+filetype:文件格式,例如电脑 + filetype:ppt
- 双引号,书名号,中括号 精确匹配,缩小搜索范围
如果输入的关键字很长,在经过搜索引擎分析后,给出的搜索结果中的关键字,可能是拆分的。
对这搜索结果不满意我们可以加上 双引号(“”) 和 中括号( [] )就可以不被拆分
例如 “中国黑客协会” [中国黑客协会]
- 书名号《》
是百度独有的一个特殊查询语法。
书名号出现在搜索结果中,书名号括起来的内容不会被拆分
书名号在某些情况(如查找常用的电影或小说)下特别有效
例如 “《社交网络》”
- 基础操作符
- 逻辑与:and
- 逻辑或: or 、|
- 逻辑非: -
- 完整匹配:”关键词”
- 通配符:* ?
- GoogleHacking其他语法
- 引号 '' " 把关键字打上引号后,把引号部分作为整体来搜索
- or 同时搜索两个或更多的关键字
- link 搜索某个网站的链接 link:baidu.com即返回所有和baidu做了链接的URL
- info 查找指定站点的一些基本信息
- GoogleHacking典型用法
- intitle 搜索网页标题中包含有特定字符的网页。
例如intitle: cbi,这样网页标题中带有cbi的网页都会被搜索出来
- inurl 搜索包含有特定字符的URL。例如inurl:cbi,则可以找到带有cbi字符的URL
- 管理后台地址
site:target.com intext:管理 | 后台 | 后台管理 | 登陆 | 登录 | 用户名 | 密码 | 系统 | 账号 | login | system
site:target.com inurl:login | inurl:admin | inurl:manage | inurl:manager | inurl:admin_login | inurl:system | inurl:backend
site:target.com intitle:管理 | 后台 | 后台管理 | 登陆 | 登录
- 上传类漏洞地址
site:target.com inurl:file
site:target.com inurl:upload
- 注入页面:site:target.com inurl:php?id=
- 编辑器页面:site:target.com inurl:ewebeditor
- 目录遍历漏洞:site:target.com intitle:index.of
- SQL错误
site:target.com intext:"sql syntax near" | intext:"syntax error has occurred" | intext:"incorrect syntax near" | intext:"unexpected end of SQL command" | intext:"Warning: mysql_connect()" | intext:”Warning: mysql_query()" | intext:”Warning: pg_connect()"
- phpinfo():site:target.com ext:php intitle:phpinfo "published by the PHP Group"
- 配置文件泄露:site:target.com ext:.xml | .conf | .cnf | .reg | .inf | .rdp | .cfg | .txt | .ora | .ini
- 数据库文件泄露:site:target.com ext:.sql | .dbf | .mdb | .db
- 日志文件泄露:site:target.com ext:.log
- 备份和历史文件泄露
site:target.com ext:.bkf | .bkp | .old | .backup | .bak | .swp | .rar | .txt | .zip | .7z | .sql | .tar.gz | .tgz | .tar
- 公开文件泄露
site:target.com filetype:.doc | .docx | .xls | .xlsx | .ppt | .pptx | .odt | .pdf | .rtf | .sxw | .psw | .csv
- 邮箱信息:
site:target.com intext:@target.com
site:target.com 邮件
site:target.com email
- 社工信息
site:target.com intitle:账号 | 密码 | 工号 | 学号 | 身份证
3.3.2 第三方网站查询
http://tool.chinaz.com/subdomain
3.3.3 网络空间安全搜索引擎
- FOFA语法查询
网址:https://fofa.info/
官方详细文档: https://fofa.so/help
domain="baidu.com"
domain=""||ip=""||host=""||title=""||header=""
protocol=“https” #搜索指定协议类型
app="phpinfo" #搜索某些组件相关系统
host="oldboyedu.com/" #搜索包含有特定字符的URL
title=“powered by” && os==windows #搜索网页标题中包含有特定字符并且系统是windows的网页
- 钟馗之眼:https://www.zoomeye.org/
语法举例
- 搜索使用iis6.0主机:app:"Microsoft-IIS" ver"6.0"
- 搜索使weblogic主机:app:"weblogic httpd" port:7001
- 查询开放3389端口的主机:port:3389
- 查询操作系统为Linux系统的服务器:os:linux
- 查询公网摄像头:service:”routersetup”
- 搜索美国的 Apache 服务器:app:Apache country:US
- 搜索指定ip信息:ip:121.42.173.26
- 查询有关taobao.com域名的信息:site:taobao.com
- 搜索标题中包含该字符的网站:title:weblogic
3.3.4 ssl证书查询
网址:https://crt.sh/
3.3.5 JS文件发现子域名
通过网页源代码查找
https://github.com/Threezh11JSFinder
JSfinder使用方法:https://zhuanlan.zhihu.com/p/628709310
3.3.6 子域名工具介绍
- 子域名挖掘机
- OneForAll
优点:功能强大 缺点:需要API 要收费
使用教程:https://blog.csdn.net/weixin_49769267/article/details/131464408
- Subdomainsbrute
高并发 DNS 暴力枚举,发现其他工具无法探测到的域名,如:Google,aizhan,fofa。
下载地址:git clone https://github.com/lijiejie/subDomainsBrute.git
使用命令:python subDomainsBrute.py -t 10 xxx.com
- 在线子域名爆破 http://z.zcjun.com/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!