1 域名信息收集
1.1 域名是什么
域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的 Internet 上某一台 计算机 或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
由于 IP地址 具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和 IP地址 相互 映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的 IP地址 数串。
1.2 注册域名
国内域名注册服务商
万网(阿里云旗下)
新网
...
国外域名注册服务商
NameSilo
GoDaddy
...
1.3 二级域名、多级域名
子域名(或子域,英语:Subdomain)是在 域名系统 等级中,属于更高一层域的域。比如,mail.example.com 和 calendar.example.com 是 example.com 的两个子域,而 example.com 则是 顶级域 .com 的子域。
凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。
1.4 域名的分类
国际域名
- .com - 商业公司
- .net - 网络服务
- .org - 组织机构
- .gov - 政府部门
- .edu - 教育机构
- .mil - 军事领域
- .int - 国际组织
国别域名
- .cn - 中国
- .uk - 英国
- .us - 美国
新顶级域名
- .biz
- .info
- .name
- .pro
- .aero
- .coop
- .museum
- ...
1.5 域名联系人信息
Whois
用于查询域名所有者、到期日、所属注册商等详细 WHOIS 信息。
查询网站
Whois.com - Domain Names & Identity for Everyone
域名WHOIS查询 - WhoisSoft
域名Whois查询 - 站长之家
在线域名Whois查询,网站Whois反查-在线站长工具 bugscaner
whois查询-中国万网
域名信息查询 - 腾讯云
国家域名whois - CNNIC(只能查询 .cn 域名)
终端工具
whois | Kali Linux Tools
域名反查
可以使用邮箱、注册人、电话,ICP备案信息等进行反向查询。
域名Whois反查 - 站长之家
ICP备案
ICP备案,是为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,国家对互联网信息服务实行的备案制度。
《互联网信息服务管理办法》指出互联网信息服务分为经营性和非经营性两类。国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务。
《非经营性互联网信息服务备案管理办法》于2005年3月20日起施行。办法指出在中华人民共和国境内提供非经营性互联网信息服务,应当依法履行备案手续。未经国家机关单位许可备案,不得在中华人民共和国境内从事非经营性互联网信息服务。
备案信息查询
ICP/IP地址/域名信息备案管理系统
ICP备案查询 - 站长工具
1.6 企业信息查询
企业信用信息公式系统
天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统
企查查-工商信息查询-公司企业注册信息查询-全国企业信用信息公示系统
爱企查首页 - 专业企业查询平台 - 查企业 - 查老板 - 查风险 - 工商信息查询系统
1.7 子域名信息
子域名通常用于其他业务系统,意味着更多的测试点。
在线子域名查询
在线子域名查询 - phpinfo.me
子域名查询|ip反查域名 - DNSGrep
子域名字典枚举工具
subDomainBrute
Layer子域名挖掘机
Sublist3r
theHarvester
Teemo
1.8 DNS
域名系统(英文:Domain Name System,缩写:DNS)是 互联网 的一项服务。它作为将 域名 和 IP地址 相互 映射 的一个 分布式数据库 ,能够使人更方便地访问互联网。DNS使用 UDP 端口 53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
本地 hosts 与 DNS 有什么关系
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从 Hosts 文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交 DNS 域名解析服务器进行 IP 地址的解析。
需要注意的是,Hosts 文件配置的映射是静态的,如果网络上的计算机更改了请及时更新 IP 地址,否则将不能访问。
DNS 解析类型
类型 | 作用 |
A | 将域名指向一个 IPv4 地址 |
CNAME | 指向另一个域名 |
MX | 用于邮件服务器,相关参数由邮件注册商提供 |
TXT | 附加文本信息,常用于域名验证 |
NS | 域名服务器记录,可将指定域名交由其他 DNS 服务器解析管理 |
AAAA | 将域名指向一个 IPv6 地址 |
SRV | 用 DNS 做服务发现,可以将端口映射到指定的子域名上 |
DNS 在线解析
DNS 在线解析
Ping.cn-DNS在线查询工具
域名解析查询(A/Txt/Cname/Mx/Srv/AAAA记录)
DNS 解析工具
nslookup
证书反查
crt.sh | Certificate Search
域名信息综合收集
网站信息综合查询
Netcraft
OSINT 收集工具
Maltego
2 IP 信息
2.1 Ping
Ping(Packet Internet Groper,因特网包探索器),用于测试网络是否正常,也可以 ping 域名获取对应的服务器 IP。(如果服务器使用了 CDN 则返回的是 CDN 加速节点的 IP)
ping [domain]/[ip]
# 示例
ping baidu.com
2.2 nslookup
nslookup(name server lookup,域名服务器查找)
nslookup [domain] [dns-server]
# 指定解析记录类型
nslookup -type=[type] [domain]
# 示例
nslookup baidu.com
nslookup -type=MX baidu.com
nslookup -type=MX baidu.com 114.114.114.114
2.3 ipwhois
Whois - CNNIC
2.4 什么是 CDN
CDN的全称是 Content Delivery Network,即 内容分发网络。CDN 是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术。
来源链接:什么是阿里云CDN
2.5 常见的 CDN 服务提供商
国外 CDN 服务提供商
CloudFlare
CloudFront
StackPath
...
国内 CDN 服务提供商
帝联
蓝讯
网宿
七牛云
腾讯
百度
阿里云
...
2.6 获取 CDN 之后的真实 IP
通过 DNS 解析历史
Netcraft
DNS History
通过子域名
处在主域名和子域名上的业务都在同一台服务器上而子域名没有做 CDN 加速时可以用此方法。
国外主机解析
针对只做了国内加速或在国外没有加速节点的服务器,当国外主机访问时则直接解析到主机。
国外 DNS 解析服务
Website uptime monitoring service, check is site down - Host-tracker
WebPageTest - Website Performance and Optimization Test
Website Speed Test | Pingdom Tools
其他方法
- 网络空间搜索引擎
-
- Fofa
- Censys
- Shodan
- ...
- 邮件
- APP 抓包
- 微信服务号抓包
- ...
端口服务信息
Windows
netstat -ano | findstr 80
Linux
netstat -an | grep 80
测试目标机器端口开放状态
telnet 192.168.1.88 80
wget 192.168.1.88 80
nc -vz 192.168.1.88 80
nc -vz 192.168.1.88 1-65535
常用端口列表
common-ports.pdf
攻击方向
端口 | 说明 | 攻击方向 |
21/22/69 | FTP/SFTP 文件传输协议 | 允许匿名上传、下载、爆破和嗅探 |
2049 | NSF(Network File System) | 配置不当 |
139 | Samba 文件共享协议 | 爆破、未授权访问、RCE |
389 | LDAP 目录访问协议 | 注入、允许匿名访问、弱口令 |
22 | SSH | 爆破、SSH 隧道及内网代理转发、文件传输 |
23 | Telnet | 爆破、嗅探、弱口令 |
3389 | RDP 远程桌面 | 爆破 |
5900 | VNC | 爆破、弱口令 |
5632 | PcAnywhere 远程控制服务 | 密码抓取、代码执行 |
80/443/8080 | 常见的 Web 服务端口 | Web 攻击、爆破、漏洞利用 |
7001/7002 | Weblogic 控制台 | Java 反序列化、弱口令 |
8080/8089 | Jboss/resin/jetty/Jenkins | 反序列化、弱口令 |
9090 | Websphere 控制台 | Java 反序列化、弱口令 |
4848 | Glassfish 控制台 | 弱口令 |
1352 | Lotus domino 邮件服务 | 弱口令、信息泄露、爆破 |
10000 | Webmin-web 控制面板 | 弱口令 |
3306 | MySQL 数据库 | 注入、提权、爆破 |
1433 | MSSQL数据库 | 注入、提权、SA 弱口令 |
1521 | Oracle 数据库 | 注入、反弹 Shell、TNS 爆破 |
5432 | PostgreSQL数据库 | 注入、弱口令、爆破 |
27017/27018 | MongoDB 数据库 | 未授权访问、爆破 |
6379 | Redis 数据库 | 未授权访问、弱口令 |
5000 | Sysbase/DB2 数据库 | 注入、爆破 |
53 | DNS 域名解析服务 | 允许区域传送、DNS 劫持、缓存投毒、DNS 欺骗 |
67/68 | DHCP 动态主机配置协议 | 劫持、欺骗 |
161 | SNMP 简单网络管理协议 | 爆破、搜集目标内网信息 |
2181 | Zookeeper | 未授权访问 |
8069 | Zabbix | RCE、SQL 注入 |
9200/9300 | Elasticsearch | RCE |
11211 | Memcached | 未授权访问 |
512/513/514 | Linux Rexec | rlogin 登录、爆破 |
873 | Rsync | 匿名访问、文件上传 |
3690 | SVN | SVN 泄露、未授权访问 |
50000 | SAP Management Console | RCE |
Nmap
- 主机扫描 (Host Discovery);
- 端口扫描 (Port Scanning);
- 操作系统、软件版本探测 (Operating System Detection, Version Detection)。
使用方法
# 帮助文档
nmap --help
# 常用
nmap -sS -A -P [ip]
# 脚本路径(lua):/usr/share/nmap/scripts/
# 查看脚本总数:/usr/share/nmap/scripts/ | wc -l
# 脚本清单:https://nmap.org/nsedoc/scripts/
# 绕过鉴权
nmap --script=auth
# 暴力破解
nmap --script=brute
# 扫描漏洞
nmap --script=vuln
在线扫描服务
在线端口检测,端口扫描,端口开放检查-online tool-postjson
masscan
与 nmap 相似,同时还可以与 nmap 无缝衔接。
masscan | Kali Linux Tools
masscan -p22,80,445 192.168.1.0/24
nbtscan
用于探测内网主机。
nbtscan | Kali Linux Tools
nbtscan -r 192.168.1.0/24
指纹识别
通过关键特征,识别出目标的 CMS 系统、服务器、开发语言、操作系统、CDN、WAF 的类别和版本等信息。
识别对象
- CMS 信息:如 Discuz、织梦CMS、帝国CMS、PHPCMS、ECshop 等;
- 前端技术:如 jQuery、Bootstrap、Vue、ACE 等;
- 开发语言:如 PHP、Java、Ruby、Python、C# 等;
- Web 服务器:如 Apache、Nginx、IIS、lighttpd 等;
- 应用服务器:如 Tomcat、Jboss、Weblogic、Websphere 等;
- CDN 信息:如 Cloudflare、帝联、蓝讯、网宿、七牛云、阿里云等;
- WAF 信息:D盾、云锁、宝塔、安全狗、360 等。
CMS 指纹识别
CMS(Content Management System,内容管理系统)
各类开源 CMS
- 企业建站系统:Metinfo(米拓)、蝉知、SiteServer CMS 等;
- B2C 商城系统:商派 Shopex、ECshop、HiShop、XpShop 等;
- 门户建站系统:DedeCMS(织梦)、帝国CMS、PHPCMS、动易、CmsTop 等;
- 博客系统:WordPress、Z-Blog 等;
- 论坛社区:Discuz、PHPwind、WeCenter 等;
- 问答系统:Tipask、Whatsns 等;
- 知识百科系统:HDwiki;
- B2B 门户系统:Destoon、B2Bbuilder、友邻B2B 等
- 人才招聘网站系统:骑士CMS、PHP云人才管理系统等;
- 房产网站系统:FangCMS等;
- 在线教育建站系统:Kesion、EduSoho等;
- 电影网站系统:苹果CMS、ctcms、movcms等;
- 小说文学建站系统:杰奇CMS等;
版权信息
像是在页面底部,或者是 Title 处的版权声明信息。
特定文件 MD5 值
默认的 CSS、JS、图片等文件的 MD5 值,下载文件后计算即可得出。
网页源代码
浏览器用 F12 快捷键启动开发者工具,再用 Ctrl+F 查找功能搜索关键词。
再以 WordPress 为例,用户上传的图片和文件都会存储在wp-content/
目录下
通过特定文件分析
搜索引擎使用爬虫(Spider,又称蜘蛛)爬取网站页面制作成索引,就可以让用户在搜索引擎中通过关键字搜索到。而网站也有一些不希望被搜索引擎搜索到的页面或文件(如管理后台),这时就定义了一个 robots.txt 文件,该文件是网站和搜索引擎之间的协商,由网站管理员定义,告知爬虫哪些文件或目录允许或不允许收录。
CMSprint
该项目收集了主流 CMS 系统的特定文件 MD5 值,可以结合这份数据开发一套识别 CMS 系统的脚本。
Lucifer1993/cmsprint - Github
whatweb
whatweb 是一款 CMS 识别工具,集成在 Kali Linux 的工具集中。
whatweb | Kali Linux Tools
# 使用示例,-v 表示输出详细信息
whatweb -v https://www.example.com
CMSeek
Kali 环境下可以使用 apt 直接安装。
Tuhinshubhra/CMSeeK - Github
# 使用示例
cmseek -u https://www.example.com
Wappalyzer
一款识别 Web 网站技术栈的浏览器插件,支持 Chrome/Edge,Firefox 等浏览器。
Find out what websites are built with - Wappalyzer
whatruns
与 Wappalyzer 相似,但识别的正确率要低一些。
WhatRuns — Discover What Runs a Website
bugscaner
在线 CMS 识别服务。
在线指纹识别,在线cms识别小插件--在线工具
御剑指纹扫描器
Windows 平台下的老牌工具(需要安装 .NET Framework 3.5)。
Test404 轻量级 CMS 指纹识别
较为小众的轻量化 CMS 指纹识别工具,可以导入文件批量探测。
CDN 指纹识别
Ping
ping www.example.com
注意 PING wordpress.org(198.143.164.252) 这部分,如果存在 CDN 则可能显示的是 CDN 节点的域名。
nslookup
# 第二个参数是指定 DNS
nslookup www.example.com 114.114.114.114
多尝试几次 nslookup,可能每次得到的 IP 地址都不一样,则可以判断是否存在 CDN。
多地点 ping
多个地点Ping服务器,网站测速 - 站长工具
lbd
lbd(load balance detector,负载均衡探测器)
注意是 "lbd" 而不是 "ldb"。
lbd www.example.com
cdn.chinaz.com
各地CDN节点测速结果 - CDN云观测 - 站长工具
www.cdnplanet.com
CDN Finder - CDN Planet
w8fuckcdn
通过扫描全网绕过CDN获取网站IP地址
boy-hack/w8fuckcdn - Github
xcdn
尝试找出cdn背后的真实ip
3xp10it/xcdn - Github
WAF
WAF(Web Application Firewall,Web 应用防火墙),用于网站安全的防护,可以过滤 HTTP/HTTPS 请求,拦截恶意攻击。
ModSecurity
一款开源的跨平台 Web 应用程序防火墙(WAF)引擎,支持 Apache,IIS 和 Nginx。
- SQL Injection (SQLi):阻止SQL注入
- Cross Site Scripting (XSS):阻止跨站脚本攻击
- Local File Inclusion (LFI):阻止利用本地文件包含漏洞进行攻击
- Remote File Inclusione(RFI):阻止利用远程文件包含漏洞进行攻击
- Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击
- PHP Code Injectiod:阻止PHP代码注入
- HTTP Protocol Violations:阻止违反HTTP协议的恶意访问
- HTTPoxy:阻止利用远程代理感染漏洞进行攻击
- Shellshock:阻止利用Shellshock漏洞进行攻击
- Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
- Scanner Detection:阻止黑客扫描网站
- Metadata/Error Leakages:阻止源代码/错误信息泄露
- Project Honey Pot Blacklist:蜜罐项目黑名单
- GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断
SpiderLabs/ModSecurity - Github
WAF 类型
- 硬件型 WAF(厂商安装)
- 云 WAF(配合云服务器使用,提供商有 阿里云、腾讯云、华为云...)
- 软件型 WAF(部署在 Apache、Nginx 等 HTTP 服务器上)
WAF 厂商
- 宝塔
- 知道创宇
- 安全狗
- 腾讯云
- 阿里云
WAF 指纹识别
0xInfection/Awesome-WAF -Github
Everything about web application firewalls (WAFs). 🔥
Foreword: This was originally my own collection on WAFs. I am open-sourcing it in the hope that it will be useful for pentesters and researchers out there. You might want to keep this repo on a watch, since it will be updated regularly. "The community just learns from each other." #SharingisCaring
"关于web应用程序防火墙(WAF)的一切。"
一个关于 WAF 特征的仓库。
wafw00f
The Web Application Firewall Fingerprinting Tool.
— From Enable Security
一款非常热门的 Web应用程序防火墙指纹工具,Kali Linux 内置。
wafw00f https://example.com
wafw00f | Kali Linux Tools
enablesecurity/wafw00f - Github
nmap 识别 WAF
nmap example.com --script=http-waf-detect.nse
sqlmap 识别 WAF
默认就会执行识别 WAF 操作,识别成功则会提示。
sqlmap -u "exmple.com/search.php?id=1"
搜索引擎收集信息
Google hacking
运算符
- 完全匹配
-
- 用双引号括住,例如 "Burp Suite"
- 任意关键词
-
- 在两个关键词中间添加 "OR",如 "管理 OR 登录"
- 筛选结果
-
- 用 "-xxx",除去包含 "xxx" 的搜索结果
- 限定数字范围
-
- 在数字之间添加 "..",如 1..100
高级语法
- 搜索指定网站的内容
-
- site:example.com
- 搜索网页内容
-
- intext:Powered by Discuz
- allintext
- 搜索网页标题
-
- intitle:后台登录
- allintitle
- 搜索 URL
-
- inurl:index.php?id=1
- allinurl
- 指定文件类型
-
- filetype:pdf
Google Hacking Database
Google Hacking 的语法收集
Google Hacking Database (GHDB) - Google Dorks, OSINT, Recon
BullsEye0/google_dork_list - Github
网络空间搜索(测绘)引擎
OSINT
OSINT Framework
Shodan
Shodan 是最早的互联网设备搜索引擎,与 Google, Bing 等搜索引擎不同,Shodan 收录的范围更大,包括服务器的系统版本、运行的服务,端口开放信息等。
过滤器
详细参考 Filter Reference - Shodan
- 指定国家
-
- country:"CN"
- 指定城市
-
- city:"Changsha"
延伸阅读 一些有趣的Shodan搜索
Censys
Zoomeye
Fofa
鹰图
集成框架
Kunyu
Kunyu (坤舆),名字取自 <坤舆万国全图> ,测绘实际上是一个地理信息相关的专业学科,针对海里的、陆地的、天上的地理信息进行盘点。同样应用于网络空间,发现未知、脆弱的资产也是如此,更像是一张网络空间地图,用来全面描述和展示网络空间资产、网络空间各要素及要素之间关系,以及网络空间和现实空间的映射关系。所以我认为“坤舆”还是比较贴合这个概念的。
Kunyu(坤舆),旨在让企业资产收集更高效,使更多安全相关从业者了解、使用网络空间测绘技术。
knownsec/Kunyu - Github
DiscoverTarget
尽可能花更少的时间,使用All in one工具收集更多的信息-URL采集。 集360、百度、谷歌、Shodan、Zoomeye、Censys、Fofa于一体一键运行获取目标URL、IP等信息。
coco413/DiscoverTarget - Github
Saucerframe
saucerframe是一个基于python3的开源批量POC检测框架,默认使用协程异步请求,支持多线程并发,支持多种指定目标方式,可用于批量POC检测,也可根据需要扩展功能。
saucer-man/saucerframe - Github
目录扫描
为什么要进行目录扫描
网站管理员在部署网站时可能会因为粗心而把敏感文件放在网站的根目录下,或没有更改 HTTPD 配置而导致目录泄露。
文件扫描思路
基本原理
域名后面拼接文件或目录名,访问并确认 HTTP 状态,如果为 200/403 则能证明该文件存在。
递归
针对文件夹进行递归测试,逐层返回信息。
字典
使用预先收集或制作的文件/目录列表进行自动化测试,任意一条匹配成功即可。
爆破
使用 a-zA-Z1-9 等各类字符组合,并从 1 - x 位逐个尝试。
爬虫
根据 robots.txt 的内容进行探测。
FUZZ
模糊测试,主要针对参数。
目录扫描字典
- wordlists
- Seclists
目录扫描工具
dirb
# -a <agent_string> 自定义 User-Agent
#
# -c <cookie_string> 设置 Cooike
#
# -E <certficate> 设置客户端证书文件
#
# -H <header_string> 设置 HTTP 请求头
#
# -i 是否大小写敏感
#
# -N <nf_code> 根据指定的 HTTP 状态码忽略响应包
#
# -o <output_file> 输出文件
#
# -p <proxy[:port]> 设置代理
#
# -r 不要递归扫描
#
# -S 不显示测试字符
#
# -u <username:password> 指定用户名和密码
#
# -X <extension> 扫描特定的扩展名
# 指定需要使用的字典(不指定则默认用 common) URL
dirb /usr/share/wordlists/common.txt https://example.com
DirBuster
由 OWASP 推出,现已并入 OWASP ZAP 项目,DirBuster 则不再维护。
ZAP
OWASP 新出品的漏洞扫描综合工具。
御剑后台扫描
Burp Suite
Intruder 模块下指定 payload 和爆破模式
绕过 WAF/IDS
- Proxy
- 网络空间搜索(测绘)引擎
防御
- 设置访问权限;
- 删除敏感文件;
- 使用 WAF/IDS。
Git 信息收集
什么是版本控制系统
版本控制系统(Version Control System)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
VCS 的发展阶段
- 本地 VCS
-
- 直接存储在本机上,对于个人项目非常实用,但无法多人协作开发,如果更改了同一段代码则会冲突。
- 集中式 VCS
-
- 集中式版本控制系统 CVCS(Centralized Version Control Systems);
- 并行的版本控制系统 CVS(Concurrent Version System);
- SVN(Subversion);
- 解决了本地 VCS 无法协同开发的痛点,适合多人协作。
- 分布式 VCS
-
- 相较于集中式 VCS 更为安全,不需要担心作为 VCS 的服务器损坏。
Git
- Github
- 码云
- Coding
Git 使用方法
# 初次使用时,先要配置全局邮箱和名字
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
# 进入存放代码的文件夹
cd projectname/
# 初始化仓库
git init
# 暂存文件
git add
# 提交,并添加备注
git commit -m "fix bugs"
# 提交,origin 是这个本地仓库的别名,可以另外指定
git push origin master
Git 为什么会泄露重要信息
- 将私有仓库或密钥文件错误的提交到了 Github;
- 部署项目时, .git/ 文件夹也被打包进去,并且放在网站的根目录下;
关于在 .git/ 文件夹中较为重要的文件
适用于上文提到的第二种方式。
- .git/logs/HEAD:存储了 git 的日志信息,可以找到历史 Commit;
- .git/index:暂存了 git add 操作的文件;
- .git/refs/stash:暂存了 git stash 操作的文件;
- .git/refs/heads/master:记录了 master 最后一次提交的 hash;
- git/objects/pack/.pack:压缩文件。
Gtihub 搜索技巧
适用于上文提到的第一种方式。
- 查询文件名中包含指定关键字的代码:
-
- kali in:file
- 查询路径/用户/组织名称中包含指定关键字的代码:
-
- kali in:path
- 上述两种方式组合使用:
-
- kali in:path,file
- 指定程序开发语言:
-
- shodan language:python
- 查询文件名为指定关键字,且开发语言为 php 的代码:
-
- filename:config.php language:php
- 查询标签数量大于等于 5 的仓库:
-
- kali topics:>=5
- 查询小于 1KB 的文件:
-
- kali size:<1000
- 查询 Star 总数在 10 到 50 之间:
-
- kali stars:10..50
- 查询最近一次更新时间大于某日的仓库:
-
- kali pushed:>2022-4-1
- 查询最后一次更新时间在两个时间段之内的仓库:
-
- kali pushed:2021-4-1..2022-4-1
- 查询仓库的创建时间大于等于指定日期:
-
- kali created:>=2022-4-1
- 筛选不需要的结果,如:排除开发语言为 Java 的仓库
-
- kali pushed:2021-4-1..2022-4-1 -language:java
Git 仓库利用流程和工具
寻找 .git/ 文件夹
- 目录扫描
- robots.txt
- Google hacking
-
- intitle:"Index of /.git"
下载 .git/ 到本机
- BugScanTeam/GitHack - Github
-
- 使用方法:
python GitHack.py http://example.com/.git/
- 使用方法:
- lijiejie/GitHack - Github
-
- 使用方法:
python GitHack.py http://example.com/.git/
- 使用方法:
- wangyihang/githacker - Github
-
- 使用方法:
githacker --url http://example.com/.git/ --output-folder result
- 使用方法:
- WangWen-Albert/JGitHack - Github
用 git 命令获取
git log
git reset --hard [log hash]
git diff
集成上述功能的 Git 利用工具
- gakki429/Git_Extract - Github
-
- 使用方法:
python git_extract.py http://example.com/.git/
- 使用方法:
示例
CTFHub Git 信息泄露(Log)
dirb http://xxx.ctfhub.com:10800/
python GitHack.py http://xxx.ctfhub.com:10800/.git/
cd dist/xxx.ctfhub.com_10800/
git log
git diff 690ced82338b6036a3fe8322b33f922a0593988f
信息收集总结
常规信息收集
- 域名信息
- IP 信息
- 端口服务信息
- CMS 指纹识别
- CDN 指纹识别
- WAF 指纹识别
- 搜索引擎(Google hacking)
- 网络空间搜索(测绘)引擎
- Web 目录扫描
- Git 信息泄露
Kali 信息收集工具
- 存活主机识别
-
- arping(发送 ARP 或 ICMP 数据包)
- fping(可以指定 ping 的主机范围)
- hping3(TCP/IP 数据包组装/分析工具,也可以发起 flood 攻击)
- masscan(最快的互联网端口扫描器,自称)
- thcping6(atk6-thcping6,可以攻击 IPV6 和 ICMP 6 固有的协议弱点)
- 路由分析
-
- netdiscover(基于 ARP 的网络扫描工具)
- netmask(可以在 IP 范围、子网掩码、CIDR、Cisco 等格式中相互转换)
- 情报分析
-
- maltego(信息收集和网络侦查工具)
- spiderfoot(收集信息和探测资源)
- theharvester(从开源情报中收集电子邮箱和子域名)
- 网络扫描
-
- masscan
- nmap(主机发现,端口扫描,服务和版本探测,操作系统探测,防火墙/IDS 欺骗)
- DNS 分析
-
- dnsenum(多线程 Perl 脚本枚举域名 DNS 信息并发现非连续的 IP 段)
- dnsrecon(DNS 枚举和扫描)
- fierce(DNS 扫描)
- IDS/IPS 识别
-
- lbd(CDN、负载均衡识别)
- wafw00f(WAF 识别)
- SMB 分析
-
- enum4linux(能够收集 Windows 系统的相关信息,如用户列表、主机列表、共享文件列表、密码策略信息、工作组和成员信息、主机信息,打印机信息等)
- nbtscan(扫描开放的 NETBIOS 名称服务器)
- smbmap(枚举域中的 Samba 共享驱动器。列出共享驱动器及权限,共享内容,上传/下载等。文件名自动下载模式匹配,甚至是执行远程命令)
- SNMP 分析
-
- onesixtyone(通过 SNMP 服务获取设备和系统信息)
- snmp-check
- SSL 分析
-
- ssldump(SSL/TLS 网络协议分析工具)
- sslh(采用 C 语言编写的开源端口复用软件)
- sslscan(评估远程 Web 服务的 SSL/TLS 的安全性)
- sslyze(扫描 SSL 中一些经典的配置错误)
- dmitry(信息收集工具,包括子域名、电子邮箱,正常运行时间信息,TCP 端口扫描,whois 等)
- ike-scan(VPN 服务嗅探工具)
- legion(使用 NMAP,whataweb,nikto,vulners,hydra,smbenum,dirbuster,sslyzer,webslayer 等进行自动化侦察和扫描)
其他信息收集方式
- 旁站/C段
-
- ip段网站查询 旁站查询 C段网站查询 查旁站
- 同IP网站查询,C段查询,IP反查域名,在线C段,旁站工具 - WebScan
- 通过 APK 收集信息
-
- apktool 反编译
- 正则表达式匹配
-
-
grep -ohr -E "https?://[a-zA-Z0-9\.\/_&=@$%?~#~]*" /apps/com.name.android/ |sort|uniq >> result.txt
-
-
- Nicholas-lang/apkmap - Github
- 社会工程学工具包(Social Engineering Toolkit)
-
- Spear-Phishing Attack Vectors(鱼叉式网络钓鱼攻击)
- Website Attack Vetors(网站攻击)
- Infectious Media Generator(传染媒介生成,俗称木马)
- Create a Payload and Listener(创建 Payload 和 Listener,比如 MSF)
- Mass Mailer Attack(邮件群发攻击,携带Payload,如木马执行脚本)
- Arduino-Based Attack Vector(基于 Arduino 的攻击,类似树莓派的开发板)
- Wireless Access Point Attack Vector(无线接入点攻击)
- QRCode Generator Attack Vetor(二维码攻击)
- Powershell Attack Vetors(Powershell 攻击)
- Third Party Modules(第三方模块)
- 内网信息收集(Windows 或 Linux 命令)
伪装自身
- kali-undercover
-
- 在命令行输入即可伪装成 Windows 10,同样,在输入一次即可退出。超详细信息收集篇