WebHackingNotes
1-信息收集:信息收集是狩猎安全错误的一部分。攻击表面侦察 - 策略和标准化的价值
***识别虚拟主机:多个网站通常部署在同一物理服务器上。
- 许多组织的网站使用共享资源由服务提供商托管。 IP地址的共享是它们使用的最有用,最具成本效益的技术之一。当您对特定IP地址进行反向DNS查询时,您通常会看到许多域名。这些网站使用基于名称的虚拟托管,并且它们与主机标头值在同一IP地址上托管的其他网站进行了唯一的识别和区分。
- YouGetSignal(http://www.yougetsignal.com/)是一个提供反向IP查找功能的网站。
***亚域枚举:
- 您可以使用VPS查找子域,开始您的侦察。您发现的子域越多,攻击表面就越多。
- 查找网站的子域可能会使我们进入令人惊讶的地方。我记得以色列安全研究人员Nir Goldshlager的演讲,他在Google服务上进行了子域枚举扫描,他发现他发现的一堆子域中,有一个人在公开披露的本地文件包含漏洞的网络应用程序中运行了一个网络应用程序。
***端口扫描:
- 列举子域后,您可以开始进行端口扫描以识别更多的攻击表面,包括运行服务。
- 使用端口扫描 - 不只是寻找正常的80,443-对所有65536端口进行端口扫描。您会惊讶于在随机高端口上可以运行的内容。
- PortScan的结果也可以表明公司的整体安全性。例如,一家关闭了80和443(用于托管HTTP和HTTPS网站的通用Web端口)以外的所有端口的公司很可能具有安全性,而开放式开放端口很多的公司可能恰恰相反,并且可能具有更好的赏金潜力。
- 确定Web服务器上的开放端口后,您需要确定基础操作系统。
- 一旦确定了基础操作系统和开放端口,就需要确定在开放端口上运行的确切应用程序。扫描Web服务器时,您需要分析在操作系统之上运行的Web服务的风味和版本。
***内容发现:发现隐藏和默认内容
- 在我们访问互联网搜索引擎的许多用途之前,我们想记下与搜索相关的另一个问题,可以极大地提高分析的效率。 robots.txt文件包含搜索引擎(例如Google)的目录列表,该目录应该索引或忽略。
- 站点地图是一种以零努力进行基础研究的简单简单方法。使用sitemap.xml slug进行一些URL黑客攻击通常会返回详细详细介绍站点结构的实际XML文件,或者yoast-or-seo-plugin supplied html的html页面,记录了网站的不同区域,并带有单独的帖子站点地图,用于帖子,页面等。
- 绘制应用程序寻找隐藏目录的应用程序,或者忘记了诸如 /备份 /等的事物。
- 有几种不同的方法来了解内容发现。首先,您可以尝试通过违反文件来发现文件和目录。
- 模糊工具可以通过尝试不同的路径来发现Web内容,并从巨型文字列表中获取URI,然后分析响应的HTTP状态代码,以发现隐藏的目录和文件。
- CEWL是罗宾汉(Robin Hood)制造的自定义WordList发电机。它基本上将目标站点刺激到一定深度,然后返回单词列表。此WordList以后可以用作BruteForce Web应用程序登录的字典,例如管理门户。
- 蜘蛛平行与野蛮的资产相关,可以帮助您获得一个站点的图片,而没有站点地图,就无法提供野蛮的锻造本身。
- Web服务器可能具有用于管理员,网站的旧版本,备份目录,数据目录或其他HTML代码中未引用的目录的目录。
- 获取常见的fi le and目录名称以及常见的扩展名单。添加到这些列表中,在应用程序中实际观察到的所有实际观察到的项目,还可以从这些列表中推断出。尝试了解应用程序开发人员使用的命名约定。例如,如果有一个称为adddocument.jsp和viewDocument.jsp的页面,则可能还有一个称为editdocument.jsp.jsp和remaveocument.jsp的页面。
- 手动验证任何可能有趣的fi fi fi,以消除结果中的任何误报。
***咨询公共资源:从公开资源中累积有关目标网站的信息
- 当您需要超越文件和目录蛮力时,Google Dorking也可以提供一些有趣的内容发现。 Google Dorking可以节省您的时间,尤其是当您发现通常与url,redirect_to,id等漏洞相关的URL参数时。
- 搜索引擎一直是黑客最好的朋友。一个很好的赌注是,过去至少有一个主要的互联网搜索引擎将您的目标Web应用程序索引至少一次。
- 除了Google之外,还有其他搜索引擎具有特定焦点,对于查找特定信息而言是无价的。无论您是想找到一个人的信息还是询问公共记录,都有可能找到您想要的东西。
- 对您在应用程序内容(例如联系信息)中发现的任何名称和电子邮件地址进行搜索。包括未在屏幕上渲染的项目,例如HTML评论。除了网络搜索外,还要执行新闻和小组搜索。查找有关目标应用程序及其支持基础架构的网络论坛上发布的任何技术细节。
- 查找有趣内容的另一种方法是检查公司的GitHub。您可能会从公司找到开源存储库,或有关其使用技术的有用信息。
- Github是一个惊人数据的宝库。有许多渗透测试和红色团队评估,我们能够获取密码,API键,旧源代码,内部主机名/IP等。这些要么导致直接妥协或协助另一次攻击。我们看到的是,许多开发人员要么将代码推向错误的存储库(将其发送到其公共存储库,而不是将公司的私人存储库发送到公共存储库),要么不小心推出敏感材料(如密码),然后尝试将其删除。 GitHub的一件好事是,它跟踪每次代码都会被修改或删除。
- Shodan(https://www.shodan.io)是一项出色的服务,可以定期扫描互联网,抓住横幅,端口,有关网络的信息等。
- Censys在Internet上不断监视每个可触及的服务器和设备,因此您可以实时搜索和分析它们。您将能够理解您的网络攻击表面,发现新的威胁并评估其全球影响[https://censys.io/]。
- 利用Waybackmachine寻找被遗忘的终点
***技术堆栈:确定所使用的技术
- 我测试新应用程序时要做的第一个任务之一是识别所使用的技术。这包括但不限于前端JavaScript框架,服务器端应用程序框架,第三方服务,本地托管的文件,远程文件等。
- 拥有用于开发网站的框架的知识可以使您在识别未拨款版本中可能存在的漏洞方面具有优势。
- 寻找基础技术是什么。为此,有用的工具是NMAP,对于Web应用程序,特别是Wappalyzer
***确定新的效果:
- 您还可以通过跟踪JavaScript文件来发现新的站点功能。当网站依靠前端JavaScript框架呈现其内容时,专注于JavaScript文件特别强大。该应用程序将依靠网站在其JavaScript文件中使用的大多数HTTP端点。
- 支付访问新功能的费用
***源代码:源代码分析通常被认为是仅在白盒中发生的东西,即内部测试方案,无论是自动构建链的一部分还是手动审查。但是,分析可用于浏览器的客户端代码也是寻找外部研究人员漏洞的有效方法。