目录
一. 为什么要做信息收集?
渗透测试的流程
信息收集包括的内容
学习框架:
二. 分类
1. 域名相关信息
域名(Domain Name)是什么
域名的分类
域名联系人信息
子域名信息
域名DNS信息
2. IP相关信息
ping/nslookup
如何获取CDN背后的真实IP
3. 端口服务相关信息
端口扫描思路和代码实现
常见端口及漏洞
端口扫描工具
windows中的图形化工具:zenmap
kali中自带nmap:
安装metasploitable2 Linux靶机:
利用nmap对linux靶机、靶场网站进行扫描
4.指纹识别
什么是指纹识别?
识别对象
CMS--(Content Management System)内容管理系统
CMS是怎么来的?
CMS指纹识别思路
CMS识别工具
在kali中利用CMSeek查询CMS版本:
CDN--(Content Delivery Network)内容分发网络
CDN指纹识别思路:
CDN指纹识别工具:
WAF--(Web Application Firewall)Web 应用防火墙
什么是WAF?
WAF的作用:
WAF的分类:
常见WAF厂商
WAF指纹识别思路
如何触发拦截
指纹库
WAF指纹识别工具
5.Google Hacking
搜索引擎
Google Hacking
运算法
高级语法
语法数据库
工具
什么是网络空间
6. 网络空间搜索引擎
怎么扫描?
怎么标识一个设备?
实时威胁地图
Shodan--搜索引擎https://www.shodan.io/https://www.shodan.io/
Shodan-CLI(Shodan Command-Line Interface--命令行界面)
其他的网络空间搜索引擎
7.目录信息
什么是目录扫描
常见的敏感目录和文件
robots.txt:
sitemap.xml:
网站的备份文件/数据:
后台登录的目录:
安装包(源码):
上传的目录:
mysql的管理界面:
程序的安装路径:
php探针:
网站文本编辑器(漏洞):
Linux:
MacOS:
编辑器的临时文件:
目录穿越:
tomcat WEB-INF:
8. 文件扫描思路
做法:
扫描方法:
递归:
字典:
暴力破解:
编辑
爬虫:
robots.txt
fuzz(模糊测试):
文件扫描的字典
编辑
文件扫描的工具:
如果目标系统开启WRF或者IDS:
防御:
9.Git Hack
什么是版本控制系统--VCS
DVCS(Distributed Version Control System)
Git工作区划分
Git信息泄露原理
为什么Git会导致信息泄露?
部署项目的时候,不小心把.git文件一起打包进去,放到web网站的目录下
Git信息泄露的利用方式
Github搜索技巧
Git仓库利用流程和工具
实例
CTFHUB:
Dirsearch
GitHack
一. 为什么要做信息收集?
渗透测试的流程
- 确定目标
- 信息收集
- 漏洞扫描
- 漏洞利用
- 形成报告
信息收集包括的内容
域名信息、IP段、开放的端口、网站架构、文件目录结构、软件版本、WAF、旁站、C段……
学习框架:
- 这种信息是什么?
- 怎么收集这种信息?
- 收集这种信息有什么用?
二. 分类
1. 域名相关信息
域名(Domain Name)是什么
域名是用于在互联网上标识特定网站或服务的名称。它通常由一个或多个单词组成,与IP地址相关联,使用户可以更容易地访问网站而不必记住复杂的数字地址。
- IP:
可以用域名代替IP
- 域名与IP:
域名的分类
- 国际域名:
.com 商业公司 .net 网络服务 .org 组织协会等 .gov 政府部门 .edu 教育机构 .mil 军事机构 .int 国际组织 - 国别域名:
.CN 中国 .UK 英国 .US 美国 - 新顶级域名:
biz info name pro aero coop museum
域名联系人信息
所属人、邮箱、电话、地址……
- whois查询:
"whois" 是一个网络工具,用于查询域名的注册信息。可以查看一个域名的注册者、注册日期、过期日期、域名服务器等信息。对于确认一个域名的所有者、管理者以及其他相关信息非常有用。
.com由域名运营商VeriSign管理
.cn域名由CNNIC管理
站长工具:站长工具 - 站长之家
中国互联网信息中心:首页----中国互联网络信息中心
- kali中自带whois命令:
- 域名反查工具:
站长工具域名反查:域名反查_邮箱反查域名_邮箱Whois反查 - 站长工具
- 备案信息:
通常是指在某些国家或地区,网站运营者需要向政府或相关管理机构注册并提交其网站的基本信息的要求。这些信息可能包括网站所有者的身份信息、网站域名、服务器信息、经营范围等。
备案信息的目的是确保网站的合法性、安全性和透明度,以便政府或相关机构监管和管理互联网内容。在一些国家和地区,没有备案或未按规定进行备案可能导致网站被关闭或受到处罚。
工信部ICP/IP地址/域名信息备案管理系统:https://beian.miit.gov.cn/#/Integrated/index
子域名信息
- 子域名的作用:
子域名是在主域名之下创建的附加域名,用于组织、管理和定位网站内容和服务。它们可以提供特定的功能、服务或语言版本,并帮助改善搜索引擎优化和品牌展示。通过子域名,网站所有者可以更好地组织网站结构、提供多样化的内容和服务,并更精准地定位目标受众。
- 怎么查询子域名:
- 字典猜解
- 枚举
子域名挖掘机:
域名DNS信息
- 域名解析服务(DNS Domain Name Server):
- 域名解析信息:
DNSPod-免费智能DNS解析服务商-电信_网通_教育网,智能DNS-烟台帝思普网络科技有限公司
- 记录类型:(11种,以下列举常用的几种)
A A记录是最常用类型,将域名指向一个IPV4地址,如8.8.8.8 CNAME 将域名指向另一个域名地址,与其保持相同解析,如https://www.dnspod.cn MX 用于邮件服务器,相关参数一般由右键注册商提供。 TXT 域名服务记录,可将指定域名交由其他DNS服务商解析管理。 NS 域名服务器记录,可将指定域名交由其他DNS服务商解析管理 AAAA 将域名指向一个IPv6地址,如:ff06:0:0:0:0:0:0:c3
在线域名解析记录检测-在线Nslookup域名解析查询工具
- Maltego:
Maltego是一种开放源代码的情报和侦查工具,用于收集和分析开放源代码情报(OSINT)。它允许用户在网络上执行广泛的情报收集任务,包括从各种来源(如社交媒体、网站、公开数据库等)收集数据,并通过可视化工具来分析和呈现这些数据的关系。
2. IP相关信息
- DNS服务器的类型:
ping/nslookup
- PING(Packet Internet Groper):
因特网包探索器
是一种用于分析和监视网络流量的工具。它能够捕获经过网络接口的数据包,并显示这些数据包的各种信息,如源地址、目标地址、协议类型、数据大小等。
通过因特网包探索器,用户可以深入了解网络上正在传输的数据,检测网络问题、分析网络性能、排查安全问题等。
Wireshark是一个知名的因特网包探索器,它提供了强大的捕获、分析和展示网络数据包的功能。
- nslookup:
nslookup 是一个网络工具,用于查询 DNS(Domain Name System)域名系统的信息。它可以通过输入域名查询对应的 IP 地址,或者通过输入 IP 地址查询对应的域名。
此外,nslookup 还可以查找特定类型的 DNS 记录,比如 MX 记录、TXT 记录等。这个 工具通常用于网络故障排除、验证 DNS 设置和查看网络配置。
如何获取CDN背后的真实IP
- 使用CDN服务:
CDN是一种分布式网络,旨在加速网站和应用程序的内容传输,提高性能和可用性。它通过在全球各地的服务器上缓存内容,并将用户请求路由到最近的服务器节点来实现这一目标。这有助于减少加载时间、提高可扩展性、增强可用性,并节省带宽成本。
- 常见CDN服务商:
CloudFlare CloudFront……
帝联 蓝讯 网宿 七牛云 腾讯 百度 阿里云……
- 实现流程(以阿里云为例):
- 当终端用户(北京)向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。
- LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。
- 当授权DNS解析www.a.com时,返回域名CNAME
www.a.tbcdn.com对应IP地址。- 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点P地址。
- LDNS获取DNS返回的解析IP地址。
- 用户获取解析IP地址。
- 用户向获取的!P地址发起对该资源的访问请求。
- 如何找出真实IP:
- 如何获取CDN背后的真实IP:
- 超级ping
- 历史DNS:https://www.dnshistory.org/
- 通过子域名查询IP
- 国外主机解析
- 其他,比如邮件、SSL证书、手机App抓包、网络空间搜索引擎等
3. 端口服务相关信息
端口扫描思路和代码实现
- 查看本机端口信息:
Windows:
netstat -aon | findstr 3306
Linux:
netstat -an | grep 80
- 远程机器端口:
telnet:192.168.xxx.xxx 80
wget:192.168.xxx.xxx 80
nc -vz:192.168.xxx.xxx 445
常见端口及漏洞
常见端口:
端口号大全https://nsrc.org/workshops/2009/summer/presentations/day3/common-ports.pdf 分类:
- 文件共享服务
- 远程连接服务
- Web应用服务
- 数据库服务
- 邮件服务
- 网络常见协议
- 其他服务端口
端口扫描工具
Nmap
Nmap(Network Mapper)
https://nmap.org/
Nmap使用技巧总结:
作用:
- 扫描主机(Host Discovery)
- 扫描端口(Port Scanning)
- 探测操作系统、软件版本(Operating SystemDetection、Version Detection)
展示:
windows中的图形化工具:zenmap
Zenmap:
kali中自带nmap:
- nmap参数类型:
kali中输入:
nmap --help
- IP地址后面的/24是什么意思?
旁站:和目标网站在 同一台服务器 但 端口不同 的其他网站。
C段:和目标服务器IP处在 同一个C段 的其他服务器
- 脚本:
nmap本身内置了大量的lua脚本,而且还可以自己编写脚本
ls /usr/share/nmap/scripts/ | wc -l
全部清单:https://nmap.org/nsedoc/index.html
例如:nmap 192.168.142.137 --script http-enum 列举HTTP服务nmap --script=auth 绕过鉴权
nmap --script=brute 暴力破解
nmap --script=vun 扫描漏洞
安装metasploitable2 Linux靶机:
利用nmap对linux靶机、靶场网站进行扫描
- 获取linux的ip地址:
ifconfig
- 在kali中,利用nmap进行端口扫描:(默认扫描1000个端口,显示有977个是关闭的)
- 尝试扫描IBM提供的一个靶场:(Altoro Mutual)
- 对Linux的端口进行简单扫描:
- 对Linux的全部端口号进行扫描:
- 尝试探测Linux的操作系统:
在Liux中确定操作系统版本是否对应:
- 只进行主机发现,不进行端口扫描:
- 进行C段扫描:
其他扫描工具:
- 在线扫描:在线端口检测,端口扫描,端口开放检查-在线工具-postjson
- masscan
- nbtscan
- ……
4.指纹识别
什么是指纹识别?
通过 关键特征,识别出目标的CMS系统、服务器、开发语言、操作系统、CDN、WAF的类别版本等等。
识别对象
- CMS信息:比如Discuz、织梦、帝国CMS、PHPCMS、ECshop等;
- 前端技术:比如HTML5、jquery、bootstrap、Vue、ace等;
- 开发语言:比如PHP、Java、Ruby、Python、C#等;
- Web服务器:比如Apache、 Nginx、IIS、lighttpd等;
- 应用服务器:比如Tomcat、Jboss、Weblogic、Websphere等;
- 操作系统信息:比如Linux、win2k8、win7、Kali、Centos等;
- CDN信息:是否使用CDN,如cloudflare、帝联、蓝讯、网宿、七牛云、阿里云等;
- WAF信息:是否使用WAF,如D盾、云锁、宝塔、安全狗、360等;
- CDN是什么?
CDN的全称是Content Delivery Network,即内容分发网络。它是一种利用互联网技术和网络设备,将内容分布到全球各地,用户可以就近获取所需内容的网络架构。通俗地说,CDN可以将网站的静态资源(如图片、CSS、JS等)缓存到离用户最近的服务器节点上,让用户在访问网站时可以快速获取这些资源,提高网站的访问速度和用户体验。
CMS--(Content Management System)内容管理系统
CMS是怎么来的?
CMS(Content Management System)内容管理系统,是一种用于创建、管理和发布数字内容的软件应用程序。
- CMS的主要功能包括:
内容创建:用户可以创建和编辑各种类型的内容,包括文字、图像、视频等。
内容组织:CMS提供了组织和结构化内容的工具,帮助用户创建层次化的内容结构。
内容发布:CMS允许用户将内容发布到网站或其他平台上,通常具有发布计划和权限控制等功能。
用户管理:CMS通常具有用户角色和权限管理,确保只有授权人员才能对内容进行特定操作。
CMS被广泛应用于网站建设、博客、新闻发布等领域,流行的CMS平台包括WordPress、Drupal、Joomla等。
CMS是什么?好的网站后台有什么特质?http://t.csdnimg.cn/4jOxd
- CMS包括什么?
博客(比如CSDN、博客园)、微博、团购网站、导航网站(hao123)、信息分类(58)、问答网站(知乎)、商城、百科……企业官网、学校官网、医院官网……
- 主流(开源)CMS:
- 各类网站开源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;
CMS指纹识别思路
版权信息特定文件MD5值查看网页源代码通过特定文件分析……
CMS识别工具
- kali自带工具:
whatweb
- 浏览器插件:
Wappalyzer:Find out what websites are built with - WappalyzerFind out the technology stack of any website. Create lists of websites and contacts by the technologies they use.https://www.wappalyzer.com/whatruns :WhatRuns - Discover Website Technologies | Identify CMS, Frameworks, and MoreExplore the world of website technologies with WhatRuns.com. Identify content management systems (CMS), frameworks, analytics tools, and more. Uncover the tech stack behind any website.https://www.whatruns.com/
- 在线网站:
TideFinger 潮汐指纹 TideFinger 潮汐指纹
- 离线网站:
御剑指纹扫描器(需要.NET Framework)Test404轻量CMS指纹识别 v2.1
- 其他开源程序:
GitHub - Tuhinshubhra/CMSeeK: CMS Detection and Exploitation suite - Scan WordPress, Joomla, Drupal and over 180 other CMSsCMS Detection and Exploitation suite - Scan WordPress, Joomla, Drupal and over 180 other CMSs - Tuhinshubhra/CMSeeKhttps://github.com/Tuhinshubhra/CMSeeK
在kali中利用CMSeek查询CMS版本:
CDN--(Content Delivery Network)内容分发网络
CDN指纹识别思路:
- CDN如何配置:
通过DNS解析记录的CNAME解析到CDN服务器
CDN指纹识别工具:
- 如何获取CDN背后的真实IP:
- 超级ping
- 历史DNS
- 通过子域名查询IP
- 国外主机解析
- 其他
- 专用工具:
国内:各地CDN节点测速结果 - CDN云观测 - 站长工具
国外:CDN Finder - CDN Planet
脚本:GitHub - boy-hack/w8fuckcdn: Get website IP address by scanning the entire net 通过扫描全网绕过CDN获取网站IP地址GitHub - 3xp10it/xcdn: Try to find out the real ip behind cdn
- 常规:
ping
nslookup
超级ping
ldb(load balance detector)
WAF--(Web Application Firewall)Web 应用防火墙
什么是WAF?
Web Application Firewall
Web 应用防火墙
过滤HTTP/HTTPS的请求
WAF的作用:
- 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:阻止利用远程代理感染漏洞进行攻击
- Sshllshock:阻止利用Shellshock漏洞进行攻击
- Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
- Scanner Detection:阻止黑客扫描网站
- Metadata/Error Leakages:阻止源代码/错误信息泄露
- Project Honey Pot Blacklist:蜜罐项目黑名单
- GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断
WAF的分类:
- 硬件型 WAF(厂商安装)
- 云 WAF(阿里云、腾讯云、华为云……)
- 软件型 WAF(部署在 Apache、Nginx 等 HTTP Server 中)
常见WAF厂商
各种云:阿里云、腾讯云、华为云、百度云…… 安全狗、宝塔、360、知道创宇、长亭、安恒……
- 宝塔
- 安全狗
- 腾讯云
- 阿里云
WAF指纹识别思路
- 额外的cookie;
- 任何响应或请求的附加标头;
- 响应内容(如果被阻止请求);
- 响应代码(如果被阻止请求);
- IP地址(云WAF);
- JS客户端模块(客户端WAF)
如何触发拦截
指纹库
wafid/finger.xml at master · CSecGroup/wafid · GitHub
WAF指纹识别工具
- Kali自带:
GitHub - EnableSecurity/wafw00f: WAFW00F allows one to identify and fingerprint Web Application Firewall (WAF) products protecting a website.
用法:wafw00f https://www.12306.cn
nmap www.12306.cn --script=http-waf-detect.nse
sqlmap -u "xxx.com?id=1" --identify-waf
- 其他:
GitHub - 0xInfection/Awesome-WAF: 🔥 Web-application firewalls (WAFs) from security standpoint.
5.Google Hacking
搜索引擎
Google Hacking
- 来源:2002年
Johnny Long
Google--Google Hacking
运算法
- 以下所有字词:直接输入
- 与以下词完全匹配:”双引号扩起“
- 以下任意字段:在所需字词之间添加OR
- 不含以下任意字词:在不需要的字词前添加一个减号 -xx、-“xx”
- 数字范围:从:在数字之间加上两个句号并添加度量单位 10..20斤
高级语法
- 只搜索某个网站的内容:site:xxxxx
- 网页的内容包括:allintext:xxxxx
intext:xxxxx
- 标题出现:allintitle:xxxxx
intitle:xxxxx
- URL地址包括:allinurl:xxxxx
inurl:xxxxx
- 文件类型指定:filetype:pdf
语法数据库
Google Hacking Database (GHDB) - Google Dorks, OSINT, ReconThe GHDB is an index of search queries (we call them dorks) used to find publicly available information, intended for pentesters and security researchers.https://www.exploit-db.com/google-hacking-database
GitHub - BullsEye0/google_dork_list: Google Dorks | Google helps you to find Vulnerable Websites that Indexed in Google Search Results. Here is the latest collection of Google Dorks. A collection of 13.760 Dorks. Author: Jolanda de KoffGoogle Dorks | Google helps you to find Vulnerable Websites that Indexed in Google Search Results. Here is the latest collection of Google Dorks. A collection of 13.760 Dorks. Author: Jolanda de Koff - BullsEye0/google_dork_listhttps://github.com/BullsEye0/google_dork_list
工具
GitHub搜索:Google Hacking、Google Dorks
查找最新的插件:
什么是网络空间
6. 网络空间搜索引擎
OSINT--Open source intelligence--开源网络情报
怎么扫描?
用网络扫描的工具:nmap、zmap
方式:IP库、枚举
怎么标识一个设备?
爬虫:url
IP:域名
开放端口
操作系统
物理地址:中国、外国
MAC地址
设备的类型
实时威胁地图
地图 | 卡巴斯基网络威胁实时地图地图 | 点击这里查明您是否处于网络攻击环境下https://cybermap.kaspersky.com/cn
其他的网络空间搜索引擎
Shodan:
Shodan Search EngineSearch Engine for the Internet of Thingshttps://www.shodan.io/
Censys:
ZoomEye(钟馗之眼):
Fofa:Fofa是一家专注于网络空间搜索和网络安全的公司,其产品也被称为Fofa。Fofa平台提供了强大的网络空间搜索功能,用户可以使用Fofa来搜索和分析互联网上的设备、服务和漏洞信息,帮助用户发现潜在的网络安全风险并加强安全防护。该平台被广泛应用于网络安全行业和相关领域。对比:
工具:https://github.com/knownsec/Kunyuhttps://github.com/knownsec/Kunyuhttps://github.com/coco413/DiscoverTargethttps://github.com/coco413/DiscoverTargethttps://github.com/saucer-man/saucerframehttps://github.com/saucer-man/saucerframe
7.目录信息
什么是目录扫描
部署的网站有一些敏感文件:
配置文件(xxx.cfg)、
数据文件(xxx.sql)、
目录(/backup、/conf、/admin)
会泄露哪些信息:
数据库用户名和密码
服务器的用户名和密码
数据库的文件
为什么会泄露?
配置不当的问题
本地文件包含(local file inclusion(LFI)):
PHP:header.php、common.php、footer.php、function.php
include("恶意代码")、include("路径/文件")
require();
常见的敏感目录和文件
robots.txt:
是一个网站根目录下的文本文件,用于向搜索引擎爬虫指示哪些页面可以被抓取,哪些页面不应该被抓取。这个文件告诉搜索引擎爬虫访问网站时应该遵守的规则和指导,以控制搜索引擎对网站内容的索引和抓取行为。
通过robots.txt文件,网站管理员可以指定哪些页面不应该被搜索引擎爬虫访问(比如敏感信息、私人数据等),从而保护这些页面的隐私性。此外,robots.txt还可以用来指示搜索引擎爬虫抓取网站的频率、哪些目录需要被忽略等。
sitemap.xml:
是一个XML格式的文件,用于向搜索引擎提供关于网站上所有可抓取的页面的信息。这个文件包含了网站的结构化数据,列出了网站上的各个页面的URL地址、最后修改日期、更新频率等信息,帮助搜索引擎更有效地抓取和索引网站的内容。
通过提供sitemap.xml文件,网站管理员可以帮助搜索引擎更快地发现和理解网站上的内容,确保所有重要页面都被搜索引擎爬虫正确地抓取和索引。这有助于提高网站在搜索结果中的可见性,并加快页面被检索的速度。
通常,sitemap.xml文件位于网站的根目录下,搜索引擎会定期扫描该文件以获取关于网站内容的最新信息。创建和维护sitemap.xml文件是SEO(搜索引擎优化)的重要一环,有助于提升网站的搜索引擎排名并增加网站流量。
网站的备份文件/数据:
在线压缩:路径、文件名、wwwroot:20240529.zip
帝国备份王:1.sql、1.zip
后台登录的目录:
/admin
/manage
安装包(源码):
非开源、商用
1.zip
/install
上传的目录:
文件上传漏洞(webshall [一句话木马] )
/upload
/upload.php
mysql的管理界面:
300M--Mysql
web页面去管理
phpadmin
程序的安装路径:
/install
php探针:
phpinfo
雅黑探针:雅黑PHP探针
网站文本编辑器(漏洞):
Ueditor(GitHub - fex-team/ueditor: rich text 富文本编辑器)
Kindeditor
CKeditor
文件上传漏洞、命令注入漏洞
Linux:
/etc/passwd
/etc/shadow(SH512加密)
/stc/sudoers(sudo)
MacOS:
.DS_Store
编辑器的临时文件:
xxx.swp
目录穿越:
Windows IISApache(pikachu靶场)tomcat WEB-INF:
其他非常规文件:secret.txtpassword.txt
8. 文件扫描思路
做法:
直接在域名后面拼接路径/ 文件名,如果返回200,就是存在。
扫描方法:
递归:
dir xxx
字典:
dict
暴力破解:
爬虫:
robots.txt
sitemap.xtml
网页中的其他链接
fuzz(模糊测试):
文件扫描的字典
kali字典:
尝试在kali中扫描:
文件扫描的工具:
如果目标系统开启WRF或者IDS:
可以尝试 代理、网络空间搜索引擎
防御:
权限chrom
删除敏感文件
WAF、IDS
9.Git Hack
什么是版本控制系统--VCS
代码的恢复和备份遇到的问题:
修改仓库难以管理
整个工程直接打包,占用空间过多
Version Conteol System(版本控制系统)
是一种记录文件内容变化,以便将来查阅特定版本的系统。它们通常用于跟踪源代码文件的更改,但也可用于跟踪任何类型的文件。版本控制系统有助于团队协作,提供了一种方法来协调多个人对文件的编辑,并且可以追踪文件的整个演变过程。
SVN(Subversion)
是一个开放源代码的集中式版本控制系统,用于管理文件和目录的更改历史记录。它由CollabNet公司开发,最初于2000年发布。SVN提供了一种简单而强大的方式来跟踪文件的变化,协调团队成员的工作,并恢复到之前的版本。
DVCS(Distributed Version Control System)
是指分布式版本控制系统,它是一种用于管理文件变更历史记录的系统,每个用户都可以拥有完整的文件版本历史记录。与集中式版本控制系统(CVCS)不同,DVCS使得团队成员可以在本地进行工作,而不必始终连接到中央服务器。
Git工作区划分
Git信息泄露原理
为什么Git会导致信息泄露?
把私有仓库/隐私文件提交到了github
部署项目的时候,不小心把.git文件一起打包进去,放到web网站的目录下
Git信息泄露的利用方式
找到.git:
目录扫描
robots.txt
搜索引擎搜索--intitle:”index of /.gif“
把.git下载到本地:
Github搜索技巧
Git仓库利用流程和工具
Git信息泄露方式:
实例
CTFHub:CTFHub
CTFHUB:
1. 先用dirsearch扫描,发现是否有存在.git泄露漏洞
发现漏洞
2.利用御剑或者dirb扫描网站,进行目录遍历,获取.git目录
3.GitHack下载.git目录
4.找到保存后的.git文件目录
5.输入git log命令查看Git版本控制系统中提交历史记录
5.使用git diff HEAD^命令,对比当前提交与它的父提交(即前一个提交)之间的差异,获得到flag
Dirsearch
是一款用于目录扫描和敏感文件泄露检测的工具。它通过发送HTTP请求来枚举目标网站上的目录和文件,并在服务器返回状态码为200的情况下确认有效的目录或文件。
Dirsearch可以帮助安全测试人员或渗透测试人员识别目标网站上可能存在的敏感目录、备份文件、配置文件、源代码等。通过扫描目标网站,Dirsearch可以发现隐藏的页面或资源,从而提供潜在的攻击向量。
Dirsearch具有以下功能:
- 多线程并发扫描,提高效率。
- 支持自定义字典,可以根据需要使用不同的字典进行扫描。
- 支持HTTP代理,方便在代理环境中进行扫描。
- 可以指定特定的文件扩展名进行扫描。
- 支持过滤规则,可以排除指定的目录或文件。
- 扫描结果以表格或JSON格式输出。
总之,Dirsearch是一个用于目录扫描和敏感文件泄露检测的强大工具,可以帮助发现网站上隐藏的目录和文件,从而增强对目标系统的安全评估和渗透测试。
GitHack
是一款用于自动化Git存储库的信息收集和攻击的工具。它专门设计用于利用Git存储库中的配置错误或敏感信息泄露,从而获取对代码、配置文件和其他敏感信息的未授权访问。
Git是一种分布式版本控制系统,广泛用于开发人员之间的协作和代码管理。但是,如果Git存储库的配置不正确或者敏感信息被误配置,可能会导致安全风险。GitHack将尝试通过以下方式来发现和利用这些问题:
- Git泄露:GitHack会检查目标存储库是否存在.git目录或.git泄露,这可能导致敏感信息的泄露。
- Git配置问题:GitHack会检查存储库的配置文件(如config和hooks)是否包含敏感信息或允许未经授权的访问。
- 远程代码执行:GitHack会尝试通过特殊的Git命令和配置来触发代码执行,以便获取更高的权限。
GitHack提供了一个简单而强大的命令行界面,使用户能够指定目标Git存储库并进行扫描。它还提供了多种输出格式,以便于结果的分析和报告生成。
需要注意的是,使用GitHack或类似的工具进行Git存储库的攻击必须遵守法律和道德准则,并且应该获得合法的授权来测试目标系统的安全性。