《网络安全从浅入深百科全书》信息篇 word版本 huoji 网络安全,网络安全从浅入深百科全书,百科全书,白帽子,黑帽,白帽 2020-12-21 589 次浏览 0 次点赞 ## 注意:下面的文字版主要目的是SEO 排版并不好看 建议看word版本: word版本(推荐阅读): [《网络安全从浅入深百科全书》信息篇.docx](https://key08.com/usr/uploads/2020/12/4020023684.docx) word在线阅读,无需下载连接直接接阅读: https://docs.qq.com/doc/DWndvTUh5YUp4UGV2?pub=1&dver=2.1.0 文字版: 主要为seo 排版并不好看: 市面上没有看到关于这方面的有含金量书籍,要么是介绍红队那些几百年前过时的技术,要么是介绍一大堆高深莫测的理论基础可能作者自己都不知道在干什么,遇到实战全部拉胯.因此本书会通过蓝队视角总结现代化渗透防御技巧.以后遇到实习生可以丢给他这本书让他自己寻找自己学习而无需带人.当然这不是叫你做破坏性行为的,在阅读本书之前请熟知网络安全法,这种东西其实挺敏感的,模棱两可,所以本书会尽量模糊掉"教你怎么用工具手把手的入侵网站"要不然我这边出了纠纷也不好. 本书分为 基础篇、中阶篇、提高篇 阅读本书之前,你需要学习熟知《网络安全法》,这不是客套话,你如果之前没读过,请务必读它,不读它你就不要继续读这本书,再往下我就默认你读过了. -huoji 2020-12-5日 目录: 第一章 信息 1. 脆弱信息搜集 1.1.0 常见网络结构 1.1.1 谷歌 1.1.2 github 1.1.3 邮件信息 1.1.4 常见信息泄露问题 1.1.4.0 SVN & GIT 1.1.4.1 容器信息泄露 1.1.4.1.0 网站程序debug没关导致的信息泄露: 1.1.4.1.1 网站容器配置不当造成的泄露: 1.1.4.1.1 配置文件、关键文件权限设置不当造成的泄露 1.1.4.2.0 云key泄露 1.1.4.2.1 Spring Boot Actuator未授权访问 1.1.5 科学解决防范此类问题 2. 人员信息搜集 1.2.0 高级权限人员信息搜集 3. 系统信息搜集 1.3.0 Nmap 1.3.1 空间搜索引擎 4. OSINT(Maltego) 第一章 信息 [基础篇] 脆弱信息搜集 脆弱信息往往是一般攻击的入口点,相当于是整个网络系统中最脆弱的部分,虽然这些年技术越来越进步导致的边界脆弱入口点能越来越快被发现,但是对于大部分企业来说,这方面的概念与安全意识还是不太成熟的. 在介绍信息搜集之前,得介绍为什么要做信息搜集.要搜集哪些信息 对于常规攻防中,我们可以视为进入内网则整个安全体系被攻破,内网或多或少都有重要资料或者重要数据除非运气很不错(无敏感自己服务器)或者安全措施到位(第一时间发现并且处理) 不然多半是打出GG的对于蓝队来说.最快进入目标内网的方式是找个暴露在公网的内网环境. 比如内网的开发机暴露在了公网上,内网的日志分析、邮件系统不小心暴露在公网上、内网VPN系统暴露在公网上.这些能极大程度的帮助红队攻击蓝队设施,而蓝队必须对这些设备多加小心. 现代攻击战术中,也有很多对人员的攻击,比如员工习惯的登录账号的密码是泄露的,那么配合已知的脆弱入口点,效果是拔群的.也有很多比如钓鱼攻击等接下来会讨论到 作为蓝队,最有效的解决信息泄露的方法是在攻击者找到这些信息之前将其抹除.因此本篇章是唯一一个以红队视角写的篇章.毕竟最好的进攻是防守 **本篇章由于特殊性大部分信息点到为止,具体操作不提供,点到为止** 1.1.0 常见网络结构 自行判断:     1.1.1 谷歌信息搜集 这是一个老生常谈的技巧了,不仅谷歌,很多爬虫比如必应 百度 360的都可以 只不过谷歌的效果拔群一点,对于大部分情况,你如果需要使用谷歌搜索敏感内网信息秩序在谷歌输入 搜索关键词 site:你的网站域名,然后自己分析由谷歌送给你的数据,当然你可以带一点比如后台登录等关键词, 本文由于不涉及真实攻击操作,因此会大部分讲解案例,这些案例是网上公开可查的,本人不负法律责任: 2010年某安全厂商称,某国内浏览器的内网日志服务器暴露在公网外可被谷歌搜索到,其中包含了大量用户隐私信息包括用户账号密码(来源资料:腾讯网):  这就是一起典型的内网关键服务器暴露在公网上+Google hack的结果,如果被进一步利用,爬取可用信息(比如某些公司的登录服务器账号密码等)则会造成进一步的渗透. 至于关键字 **自行百度** 1.1.2 github GitHub是也是泄露重灾区,很多史诗级操作也常常发生在GitHub里面,要搜索这些敏感数据,你只需要在搜索框搜你想要的词即可,比如下面这个案例(来源:搜狐新闻): 2018年某酒店信息大量泄露,疑似是程序员把敏感数据放到了github上并且设置了public属性:   当然这是少见极端情况,但是github所造成的泄露数据在国内外数不胜数. 按照作者经验,github配置不当容易出现以下信息: 1. 数据库信息 2. 测试账号密码 3. 测试用邮箱账号密码 4. 员工信息 至于关键字 **自行百度** 1.1.3 邮件信息 邮件信息也有风险?是的,但是仅限于个人邮件,员工私人邮箱是最好的突破口,攻击者可以利用邮件做钓鱼攻击,也可以利用邮箱暴力破解登陆密码,针对私人邮箱的攻击是常见的攻击手段 2016年某国总统在竞选期间被一个自称谷歌官方人员给竞选团队发了一封钓鱼邮件,导致整个邮箱被攻陷机密材料泄露从而影响了某国选举局势(来源:搜狐新闻)  大部分的私人邮箱里面有很多重要系统的口令、信息等,并且大部分人的私人邮箱很多都是密码不重视的(qq邮箱除外,但针对qq邮箱的qq_security_cookie攻击不在少数).对于企业来说,一旦某个高级权限的人员邮箱被攻破,整个系统都会陷入危险之中.本文不会介绍如何搜集到蓝方员工的个人隐私邮箱,但对于邮箱部分的攻击手段会在下文中单独提及. 1.1.4 常见信息泄露问题 1.1.4.0 SVN & GIT ~~SVN(subversion)是程序员常用的源代码版本管理软件。 在服务器上布署代码时。如果是使用 svn checkout 功能来更新代码,而没有配置好目录访问权限,则会存在此漏洞。黑客利用此漏洞,可以下载整套网站的源代码。 使用svn checkout后,项目目录下会生成隐藏的.svn文件夹(Linux上用ls命令看不到,要用ls -al命令)。 svn1.6及以前版本会在项目的每个文件夹下都生成一个.svn文件夹,里面包含了所有文件的备份,文件名为 .svn/text-base/文件名.svn-base svn1.7及以后版本则只在项目根目录生成一个.svn文件夹,里面的pristine文件夹里包含了整个项目的所有文件备份 隐患描述:SVN(subversion)是源代码版本管理软件,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。”(可以利用.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息) 更严重的问题在于,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,则可以直接获得文件源代码。 一旦网站出现SVN漏洞,其危害远比SQL注入等其它常见网站漏洞更为致命,因为黑客获取到网站源代码后,一方面是掠夺了网站的技术知识资产,另一方面,黑客还可通过源代码分析其它安全漏洞,从而对网站服务器及用户数据造成持续威胁。(git同理) 简单来说 SVN是源代码本本管理软件。使用SVN管理本地代码过程中,会生成一个名为.svn的隐藏文件夹,其中包含重要的源码信息。~~ 停,太概念化了,听不懂,来点简单的: 1. 程序员喜欢用svn或者git做代码管理 2. 这些程序会在目录生成.git/和.svn文件 3. 这些文件夹里有隐私数据,一般要删掉!不能展现给人看 4. 但是程序员没删掉在正式环境,然后就有这种漏洞了 -有些时候还是通俗一点比较好一堆概念新手也看不懂 案例: 2015年 某社交软件 内网服务器暴露在外网同时.svn信息泄露 关键管理节点数据库账号密码暴露  所幸被乌云漏洞报告平台报告并且修复. 漏洞发现: 搜索引擎关键字 intitle:“index of/.svn” site:你的网站域名  本文不会提供利用过程或者工具,自行百度,这个东西已经烂大街了 注意git文件也同理,只不过git的是.git svn的是.svn 检测方案: 1.检查网站url /.svn/目录、/.git/目录 响应是否是http 200 1.1.4.1 容器信息泄露 老生常谈,新葫装旧酒的问题,本书来全面总结作者从刚入学到现在2020年所遇到的容器信息泄露问题,由于实在是太多了,篇幅有限,分类来做: 1.1.4.1.0 网站程序debug没关导致的信息泄露: 此类漏洞以前天天见,无非是系统上线时候忘记关debug模式了,WordPress、thinkphp、laravel、egg.js等都存在此类漏洞,要探测很简单,确定对方是什么系统,百度 这个系统 调试模式信息 就会出现如何查看调试信息. 案例: 2019年 某国大选,某竞选网站使用的laravel框架忘记关闭调试模式,导致其数据库信息、数据库账号密码密钥地理位置IP被知晓:  1.1.4.1.1 网站容器配置不当造成的泄露: 这个问题按理说2020年不会有了,但是还得提一下, 一些网站容器 iis 6.0 apache早起版本 nginx问题 当程序出现问题的时候会抛出错误信息:  有些错误信息甚至还有数据库连接的信息....当然现在大部分架构都只返回一个nginx的502.不排除内网开发服务器暴露在公网被找到了出现的问题比如作者12年发现的某金融系统的漏洞: ***此案例不好讲述,毕竟乌云没了,大概就是某金融系统暴露开发环境在外网导致随便一个报错暴露出数据库信息*** 目录遍历漏洞: 原理:index文件是web应用程序的默认入口文件被称为索引文件。访问web应用程序时如果没有 指定某个文件,web应用程序就会调用索引文件。根据web开发脚本语言的不同,索引文件 往往也不同,常见的有index.html、cindex.php、index.jsp、 index.asp等。 危害: 泄露网站后台路径 泄露网站敏感的文件信息 泄露网站的编辑器路径 泄露网站的测试接口等 用法:可在goole Hacking或bing中输入intitle:"index of"寻找 1.1.4.1.1 配置文件、关键文件权限设置不当造成的泄露 .DS_Store文件泄漏 .DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。 如果开发/设计人员将.DS_Store上传部署到线上环境,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。 此漏洞网上一大堆检测工具,自行百度 web-inf/web.xml 访问权限配置错误 Tomcat的WEB-INF目录,每个j2ee的web应用部署文件默认包含这个目录。 Nginx在映射静态文件时,把WEB-INF目录映射进去,而又没有做Nginx的相关安全配置(或Nginx自身一些缺陷影响)。从而导致通过Nginx访问到Tomcat的WEB-INF目录(请注意这里,是通过Nginx,而不是Tomcat访问到的,因为上面已经说到,Tomcat是禁止访问这个目录的。)。 这个漏洞12年就已经被玩烂了,不知道2020年还有没有。 网站备份文件泄露 这玩意没什么好说的,有些网站根目录下有备份文件(一般是.rar、.zip、.7z、.tar、.tar.gz、.bak、.txt)..有些程序的备份系统存在问题备份路径可以被猜解或者被下载. 案例: 2012年某大型社交企业分站备份信息泄露,后缀为.bak文件被下载(来源:乌云镜像)  1.1.4.1.2 网站程序bug 这个老生常谈了,2020年少见,但是以前非常多,WordPress、动网、discuz基本都有,可以试着百度搜索 目标建站程序 + 信息泄露 关键字搜索看看有没有对应的问题 案例: 2014年 WordPress暴路径:  1.1.4.2.0 云key泄露 随着云服务越来越多,随之而来的云key泄露也越来越多 AccessKey(即访问密钥)是云平台用户在通过API访问云资源时用来确认用户身份的凭证,以确保访问者具有相关权限。AccessKey由云平台提供商(如亚马逊AWS、阿里云等)颁发给云主机的所有者,一般由AccessKeyID(访问密钥ID)和Secret Access Key(私有访问密钥)构成。 此类key一般也不会造成泄露,但是奈何程序质量问题或者因为前文信息泄露问题导致云key暴露,一旦暴露给其他人,攻击者可以控制对应的云服务: 比如ossaccessKey直接写到前端的(这真不怪开发,阿里文档里面就这样写的,但是开发没注意这个是后端用的)  博客园 @bypass 比如开了调试信息报错的:  freebuf @成见 还有github上写着的:  现找的,已经通知作者 检测方案: 1.可利用搜索引擎或者网络空间引擎进行检测 2.着重注意调用OSS的上传点,避免前端暴露key 3.注意程序调试信息是否关闭 1.1.4.2.1 Spring Boot Actuator未授权访问 在Spring Boot的众多Starter POMs中有一个特殊的模块,它不同于其他模块那样大多用于开发业务功能或是连接一些其他外部资源。它完全是一个用于暴露自身信息的模块,所以很明显,它的主要作用是用于监控与管理,它就是:spring-boot-starter-actuator 这玩意要是启用了 而且没有配置好情况,你可以直接尝试 /trace 目录要是存在这个漏洞.会直接暴露给你关键信息,包括数据库密码之类的, 具体如何操作怎么操作 老规矩 自行百度 检测方案: 1.spring boot业务的 输入/trace查看是否是http 200响应 结语: 当然,你如果作为一个脚本小子想尝尝鲜的,也可以批量使用Google搜索找这些信息泄露的网站,绝对有,而且可能还有大网站也存在这种问题,具体语法自己琢磨.本文不会教你干坏事 1.1.5 科学解决防范此类问题 本书是蓝队用书,肯定要做出一些对蓝队有益的指导意见,当然作者也不提倡在护网时候拔网线(2020年护网大部分蓝队是这样的)固然拔网线实现物理隔离是最强的手段,问题是业务还要运营,护网只是测试.APT攻击是不会提前通知你的 对于信息泄露,最好的办法是部署流量过滤系统,如今绝大部分流量过滤系统已经可以识别常见信息泄露问题,即便是开源的Apache security moudle也有上百条规则,因此给关键业务部署防火墙能解决大部分问题.但是指标不治本,业务太多的时候来不及一个一个审计时,建议防火墙发现报警后立刻修复对应的信息漏洞. 对于绝大部分没有被防火墙覆盖的内网暴露在公网的问题,最好的办法从根源上解决问题:对于内网机器一律切断公网IP,一律走隧道跳板,禁止员工部署调试到公网机器.对于云服务器或者物理服务器的蓝方来说,这不需要部署什么产品,交换机或者云服务器安全组完全可以花点时间设置的.对于业务复杂的冗长企业,建议好好的给自己做一个安全检查再好好地整理安全规则,不要到护网的时候再亡羊补牢.。 #### 人员信息搜集 1.2.0 高级权限人员信息搜集 让我们从一个案例审视这个问题: 案例: 2018年国内某大型驱动维护工具被黑,数十万电脑被下发远控后门(来源:搜狐网):  攻击方法为搜集人员信息、找到了一个辞职的员工,对其密码进行猜解,最终破译登陆内网服务器,这个案例很经典,本篇稍后会做详细介绍 高级权限的人也是普通人,人总有自己的社交圈子,而此类社交圈子一旦被攻击者捕获,就很容易被利用,这是系统最脆弱的部分: 人 **对于人员信息搜集等不在本书讨论范围内,因为不合法,**(再次提醒,专业网络安全从业者搜集此类信息的时候也是非法的.但在授权情况下是合法的,非专业网络安全从业者不要进行此类操作,特别是没有授权情况下) 对于防御此类手段,只能尽量减少工作圈与社交圈的距离,并且增加 二次验证 注意此类方法只能缓解此类攻击,不能完全解除.这几年APT组织绝大部分的攻击都是以人为入口点(无论是伪造邮件、还是利用已知个人信息资料对系统进行登录爆破)这些会在后面分析。不怕神一样的对手就怕猪一样的队友,很不幸,大部分蓝队服务对象就是如此.他们没有网络安全意识,很容易随随便便就中招的同时权限还很大.提高企业机构安全意识也是当今网络安全从业者的任务也是难题之一. 系统信息搜集 1.3.0 Nmap 是的没错就是我的老朋友nmap,这个工具无人不知,无人不晓.小时候看黑客帝国女主入侵核电站就是用的nmap,nmap开发作者是业内顶尖黑客,具体可以自己百度  黑客帝国里面出现的nmap Nmap这玩意年龄比大部分从业者都还老,当然功能的话..... 常用的命令: nmap -v -n XXXXX XXX的规则非常多,可以扫子网、扫C段等.具体可以百度这些用法 我常用的命令 nmap -v(显示详情,黑客都对自己的程序有满满的控制欲) -n(不做DNS解析,因为我们的是IP地址) IP地址 -A(启用服务探测,能告诉你运行着什么服务) -O(探测系统信息) 这边非常推荐观看 明教教主秦珂的《backtrack5》教程 里面有nmap的使用详情 NMAP的服务探测与操作系统探测原理我会在本书提高篇部分讨论.其他的信息你可以百度 nmap使用方法 1.3.1 空间搜索引擎 空间搜索引擎,作者最早接触的是 ******,大部分原理是使用zmap、nmap扫全网IP段然后做信息分类对比等. 空间搜索引擎能干什么: 1.你可以直接输入蓝队信息,看看有什么内网服务器暴露在公网上(甚至是敏感信息) 2.你可以用来做漏洞服务器测绘,查看某个漏洞在互联网上有多少服务器 3.你可以拿来做APT组织钓鱼、远控、中转节点跟进 4.你可以拿来发现梯子、游戏端口、反射服务器数量等 5. 可以拿来找CDN后面的真实服务器(我会在后文说明) 6.可以拿来找暴露在公网上的redis、mongoDB、ES服务器,尤其是mongodb 多半存在未授权(因为这数据库默认就是没用户名密码的)实际上这属于第一种类型 -内网服务器暴露在公网上 常见空间搜索引擎已经能发现绝大部分暴露在公网的内网服务器.发挥你的想象力去用.如何使用自行百度 空间搜索引擎 OSINT 在网络安全领域 这玩意指利用搜索引擎、github、朋友圈、社交软件等搜集情报之所以单独写一个这个OSINT,这年头搞安全不配一点英文真的会被人看不起的. 说道这个东西,就不得不提一个我非常喜欢的东西: Maltego Maltego这玩意相当于一个增强型爬虫 + 端口扫描 + 资产信息搜集工具 只需要一个域名,便可对互联网上的资源自上而下的搜集。它可以枚举网络和域的信息,包括whois,nds,IP地址;可以搜集Person的信息,电子邮件,网站,电话号码,组织,公司等。还可以查旁站、漏洞报告等 这一切都是通过开源信息(其实我觉得应该叫做公开)信息搜集而来!  maltego 具体使用方法还是那个样子: 自行百度 对于蓝队,可以以攻击者视角搜集资产信息,可以帮助定位暴露在互联网上面的敏感信息 第一章结语: 信息是万事的第一步,现代渗透不是简单地sql inject,而是拼得是信息量,谁掌握的信息越多谁就越有优势.对于蓝队,掌握的自己的信息越多越有优势,在攻击者发现敏感信息之前解决掉敏感信息再好不过了,本文对于信息搜集的方法是点到为止,希望读者自己在不破坏他人财产的情况下自己动动手试试. 本文由 huoji 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。 点赞 0
还不快抢沙发