渗透工程师总结亲身经历SRC漏洞挖掘经验,这些技巧必掌握!

虽然是前期,但是却是我认为最重要的一部分;很多人挖洞的时候说不知道如何入手,其实挖洞就是信息收集+常规owasptop10+逻辑漏洞(重要的可能就是思路猥琐一点),这些漏洞的测试方法本身不是特别复杂,一般混迹在安全圈子的人都能复现漏洞。接下来我就着重说一下我在信息收集方面的心得。

1、域名信息收集

src一般都只收对应的漏洞,很多src的公告里面就会明确范围;然后我们就需要根据这些范围来确定域名。

如果src上面没有给出范围,那么需要我们去搜集,你需要知道哪些domain是该公司的,主要通过手工来查看:

…………还需要你们来补充

2、子域名信息收集

工具:

其他的还有很多,比如kali下的等等,不写那么多免得看着蛋疼;

手工:其实也是可以工具化(爬虫思维,不过爬虫不是很准确)

利用googlehacking搜索,大家一定不要只用google搜索,这样是不全面的,还有bing(不用访问外国网站)、百度、360等等,因为很多国内的网站利用google去搜索是搜不到的。这里就不说语法了,贴几条常用的就行了。

搜集域名和mail地址:

搜集敏感文件:site:xxx.comfiletype:doc

搜集管理后台:site:xxx.com管理/site:xxx.comadmin/site:xxx.comlogin

搜集mail:site:xxx.comintext:@xxx.com/intext:@xxx.com

3、敏感信息收集

这一块是比较大的一块,我这里举一些:

4、小结一下

其实很多时候,我们通过信息收集能得到不少的漏洞了,我这里举几个简单的案例:

二、漏洞挖掘的中期–信息处理

1、信息整理

对于第三节提到的那些信息收集技术,我们不能收集完了就完了,一定好好整理,会对后期渗透有很大的帮助。这里说一下具体怎么整理。

利用word或excel或txt都行,我建议word和excel因为txt毕竟太简单了。分类:

2、漏洞整理

我们辛苦的挖洞一定要对我们挖掘出来对漏洞有一个记录,记录的可以稍微详细一些,一是可以方便自己以后回顾,还有就是以后说不定有些地方出现了跟以前一样的功能,这样就方便我们更快的找到漏洞。这里建议doc文档,图片可以贴的详细一些。

第二个就是通过漏洞得到的一些数据:

为什么我们要整理这些数据,因为我们要根据这些数据来设计我们的字典。爆破完好了,一样的6。

三、漏洞挖掘的后期–漏洞挖掘

有了前两步,这里我会写的少一点,毕竟漏洞的类型就那么些,像前文说过就是owasptop10、逻辑,对于挖掘这些漏洞,我觉得没什么特别好的办法,就是抓包分析逻辑(这里说的不包括对软件客户端的挖掘、app的挖掘);

首先我们需要对一个网站/app有一个了解要知道它的功能点有哪些(后期我会更新一个checklist介绍一下哪些功能会对应什么样的漏洞)。

其次我们要分析这个网站/app里面的请求哪些是我们可以控制的参数,这些地方就是漏洞经常出没的点。

最后就是分析逻辑,这一类别的漏洞主要还是涉及一套流程,这里举个例子:

例:”我们买东西”

大家可以无限延伸,这里只是抛砖引玉。

建议:

src慢慢的挖多了系统更新不快,业务不多自然就很难挖了,所以一定要有坚持精神,深入挖掘意识,因为挖洞没有想象中的那么简单;不要想一步登天,多去看看一些案例分析一下别人的挖掘思路,然后跟着学。

安全漏洞的定义

从业多年,我至今都找不到一个满意的定义,于是我自己定义一个:安全漏洞是信息系统在生命周期的各个阶段(设计、实现、运维等过程)中产生的某类问题,这些问题会对系统的安全(机密性、完整性、可用性)产生影响。

这是一个从研究者角度的偏狭义的定义,影响的主体范围限定在了信息系统中,以尽量不把我们所不熟悉的对象扯进来。

漏洞之所以被描述为某种“问题”,是因为我发现无法简单地用脆弱性、缺陷和Bug等概念来涵盖它,而更象是这些概念的一个超集。漏洞会在系统生命周期内的各个阶段被引入进来,比如设计阶段引入的一个设计得非常容易被破解的加密算法,实现阶段引入的一个代码缓冲区溢出问题,运维阶段的一个错误的安全配置,这些都有可能最终成为漏洞。

定义对安全的影响也只涉及狭义信息安全的三方面:机密性、完整性和可用性。漏洞造成的敏感信息泄露导致机密性的破坏;造成数据库中的信息被非法篡改导致完整性的破坏;造成服务器进程的崩溃导致可用性的丧失。漏洞也可能同时导致多个安全属性的破坏。

安全漏洞与Bug的关系

已知漏洞的数量

各个漏洞数据库和索引收录了大量已知的安全漏洞,下表是一个主流漏洞库的数量的大致估计,漏洞一般最早从20世纪90年代开始:

安全漏洞的分类

基于利用位置的分类

本地漏洞

实例:

远程漏洞

无需系统级的帐号验证即可通过网络访问目标进行利用,这里强调的是系统级帐号,如果漏洞利用需要诸如FTP用户这样应用级的帐号要求也算是远程漏洞。

MicrosoftWindowsDCOMRPC接口长主机名远程缓冲区溢出漏洞(MS03-026)(CVE-2003-0352)攻击者可以远程通过访问目标服务器的RPC服务端口无需用户验证就能利用漏洞,以系统权限执行任意指令,实现对系统的完全控制。

基于威胁类型的分类

获取控制

获取信息

可以导致劫持程序访问预期外的资源并泄露给攻击者,影响系统的机密性。

拒绝服务

可以导致目标应用或系统暂时或永远性地失去响应正常服务的能力,影响系统的可用性。

基于技术类型的分类

基于漏洞成因技术的分类相比上述的两种维度要复杂得多,对于目前我所见过的漏洞大致归纳为以下几类:

以下是对这几类漏洞的描述和实例分析。

内存破坏类

栈缓冲区溢出

最古老的内存破坏类型。发生在堆栈中的缓冲区溢出,由于利用起来非常稳定,大多可以导致执行任意指令,威胁很大。此类漏洞历史非常悠久,1988年著名的Morris蠕虫传播手段之一就是利用了finger服务的一个栈缓冲区溢出漏洞。在2008年之前的几乎所有影响面巨大的网络蠕虫也基本利用此类漏洞,汇总情况可以见下表:

上面表格里列出的蠕虫即使经过多年,在当前的互联网上还经常被捕捉到。栈溢出漏洞是相对比较容易发现的漏洞,静态动态分析的方法对于此漏洞的挖掘已经相当成熟,因此这类漏洞,特别是服务端程序中,目前基本处于日渐消亡的状态。

长度检查不充分的串连接操作。

无长度检查的*printf调用。

堆缓冲区溢出

静态数据区溢出

发生在静态数据区BSS段中的溢出,非常少见的溢出类型。

格式串问题

在*printf类调用中由于没有正确使用格式串参数,使攻击者可以控制格式串的内容操纵*printf调用越界访问内存。此类漏洞通过静态或动态的分析方法可以相对容易地被挖掘出来,因此目前已经很少能够在使用广泛的软件中看到了。

越界内存访问

程序盲目信任来自通信对方传递的数据,并以此作为内存访问的索引,畸形的数值导致越界的内存访问,造成内存破坏或信息泄露。

SessionID甚至是私钥等在内的敏感信息。

释放后重用

著名的Aurora攻击,涉嫌入侵包括Google在内的许多大互联网公司的行动,就使用了这个CVE-2010-0249这个典型的释放后重用漏洞。

二次释放

逻辑错误类

涉及安全检查的实现逻辑上存在的问题,导致设计的安全机制被绕过。

代码会先检查回来的数据签名是否为空,不空的话检查签名是否正确,如果不对返回失败。问题在于如果签名是空的话并没有对应的else逻辑分支来处理,会直接执行最下面的returntrue操作,导致的结果是只要返回的消息中签名为空就会返回验证通过。

输入验证类

SQL注入

Web应用对来自用户的输入数据未做充分检查过滤,就用于构造访问后台数据库的SQL命令,导致执行非预期的SQL操作,最终导致数据泄露或数据库破坏。

跨站脚本执行(XSS)

Web应用对来自用户的输入数据未做充分检查过滤,用于构造返回给用户浏览器的回应数据,导致在用户浏览器中执行任意脚本代码。

YouTube上的一个存储式XSS漏洞。

远程或本地文件包含

PHP语言支持在URL中包含一个远程服务器上的文件执行其中的代码,这一特性在编码不安全的Web应用中很容易被滥用。如果程序员在使用来自客户端的URL参数时没有充分地检查过滤,攻击者可以让其包含一个他所控制的服务器上的文件执行其中的代码,导致远程文件包含命令执行。

如果Web应用支持在URL参数中指定服务器上的一个文件执行一些处理,对来自客户端URL数据及本地资源的访问许可如果未做充分的检查,攻击者可能通过简单的目录遍历串使应用把Web主目录以外的系统目录下的文件包含进来,很可能导致信息泄露:

命令注入

涉及系统命令调用和执行的函数在接收用户的参数输入时未做检查过滤,或者攻击者可以通过编码及其他替换手段绕过安全限制注入命令串,导致执行攻击指定的命令。

典型的由于Perl语言对文件名特性的支持加入未充分检查用户输入的问题,导致的命令注入漏洞,awstats.pl的1082行:

if(open(CONFIG,”$searchdir$PROG.$SiteConfig.conf”))。

目录遍历

涉及系统用于生成访问文件路径用户输入数据时未做检查过滤,并且对最终的文件绝对路径的合法性检查存在问题,导致访问允许位置以外的文件。多见于CGI类应用,其他服务类型也可能存在此类漏洞。

在HPDataprotecetorMediaOperations的客户端连接服务端时,通过私访有的通信协议,客户端会首先检查[系统分区]:\DocumentsandSettings\[用户名]\ApplicationData下面是否有相应的资源(如插件等),如果没有,则会向服务器请求需要的文件,服务器没有验证请求的文件名的合法性,而且这个过程不需要任何验证,攻击者精心构造文件名,可以读取服务端安装目录所在分区的任意文件。

设计错误类

系统设计上对安全机制的考虑不足导致的在设计阶段就已经引入的安全漏洞。

这个算法至少存在以下3方面的弱点:

1、口令转换为大写极大地缩小了密钥空间。

2、切分出的两组数据分别是独立加密的,暴力破解时可以完全独立并行。

3、不足7字节的口令加密后得到的结果后半部分都是一样的固定串,由此很容易判定口令长度。

这些算法上的弱点导致攻击者得到口令HASH后可以非常容易地暴力猜测出等价的明文口令。MicrosoftWindows图形渲染引擎WMF格式代码执行漏洞(MS06-001)(CVE-2005-4560)如果一个WMF文件的StandardMetaRecord中,Function被设置为META_ESCAPE而Parameters[0]等于SETABORTPROC,PlayMetaFileRecord()就会调用Escape()函数,Escape()调用SetAbortProc()将自己的第四形参设置为一个回调函数,把图像文件中包含的一个数据块象Shellcode那样执行。此漏洞从Windows3.1一直影响到2003,攻击者只要让用户处理恶意的WMF文件(通过挂马或邮件)在用户系统上执行任意指令,漏洞实在是太好用影响面太大了,以至有人认为这是一个故意留的后门,其实影响设计的功能是处理打印任务的取消,功能已经被废弃,但废弃的代码并没有移除而导致问题。

这是类似于2000年微软输入法漏洞的例子,通过访问输入法设置的某些功能绕过操作系统的用户验证执行某些操作。

配置错误类

系统运维过程中默认不安全的配置状态,大多涉及访问验证的方面。

对控制台访问接口的访问控制默认配置只禁止了HTTP的两个主要请求方法GET和POST,事实上HTTP还支持其他的访问方法,比如HEAD,虽然无法得到的请求返回的结果,但是提交的命令还是可以正常执行的。

Tomcat的默认配置允许列某些目录的文件列表。

各种眼花缭乱的安全漏洞其实体现的是人类在做事的各种环节上犯过的错误,通过改进工具流程制度可以得到某些种程度的解决,但有些涉及人性非常不容易解决,而且随着信息系统的日趋复杂,我们可以看到更多的新类型漏洞,这个领域永远都有的玩。

THE END
1.社畜靠挖SRC漏洞每月多赚1W+,实现财富自由,网安接私活太香了诚笙11创建的收藏夹别人的人生内容:社畜靠挖SRC漏洞每月多赚1W+,实现财富自由,网安接私活太香了!(副业渠道分享|含教程),如果您对当前收藏夹内容感兴趣点击“收藏”可转入个人收藏夹方便浏览https://www.bilibili.com/list/ml3420252662?oid=113677332120928
2.“以战促学”,学院学子SRC平台尽展技能风采没有网络安全就没有国家安全!为进一步培养高水平的网络安全专业人才,甘肃政法大学网络空间安全学院积极响应国家号召,鼓励学生通过SRC平台进一步加强对专业知识的理解和巩固,锻炼技术,全面提升网络安全理论素养和实际动手能力,为今后的学习和生活打下坚实的基础,从而更好地适应未来社会发展的需要。 https://way.gsupl.edu.cn/info/1016/3176.htm
3.我院学子在安全应急响应中心平台近日,我院计算机网络技术专业2022-3班任志用同学在各大SRC应急响应中心平台上不断绽放光彩,凭借精湛的技术挖掘了数个中高危漏洞,在提升技能的同时也获得了补天漏洞响应平台给予的2000元奖金。任志用通过技术获取人生第一桶金的故事不仅为他自己未来的学习奠定了更坚实的兴趣基础,更给班级乃至我院其他同学树立了榜样,使http://www.hunangy.com/xxgcxy/info/1032/5073.htm
4.SRC混子的漏洞挖掘之道SRC混子的漏洞挖掘之道一个SRC混子挖SRC的半年经验分享~,基本都是文字阐述,希望能给同样在挖洞的师傅们带来一点新收获。前期信息收集? 还是那句老话,渗透测试的本质是信息收集,对于没有0day的弱鸡选手来说,挖SRC感觉更像是对企业的资产梳理,我们往往需要花很长的时间去做信息收集,收集与此公司相关的信息,包括https://xz.aliyun.com/t/8501
5.SRC挖个1.5W,不是简简单单?一共挖到了5个漏洞,这下买的服务器和一些设备、工具可以报销啦。 目前src挖掘的危害等级,还是要根据甲方或者授权方的收取范围来挖掘会比较快些,毕竟这些漏洞,有些厂商是不收的,说危害不高然后不收,过几天再去看的时候就修复了,或者直接不能访问了 https://www.163.com/dy/article/IJ1GNTP105319Y7J.html
6.为什么我不挖SRC赚外快?SRC漏洞挖掘(非常详细)零基础入门到精通,收藏这如果你实在好奇想要学习挖漏洞技术的话? 接下来我将完整的讲述漏洞挖掘过程中所有的细节,干货满满,内容有点长,记得点赞收藏! 漏洞挖掘***的流程一般可以概括为以下几个步骤: 一、漏洞去哪挖? SRC即各个公司,厂商创建的漏洞安全响应中心。每家SRC都有着自己的漏洞收取范围以及漏洞收取标准。我这里给大家搜集整理了https://blog.csdn.net/Libra1313/article/details/137623278
7.记录一次挖SRC碰到一个通杀的经历+一点挖掘SRC的经验大家好,我是来自十三期一班的dl,下面我就来讲讲我发现漏洞的经历吧。 一、发现 在8月SRC挖掘的过程中,受到社区某位大佬的文章建议,尝试用不同传参尝试去找漏洞,于是就换了一个type_id,突然就感觉发现了新大陆一样,10个网页里面9个有漏洞,还有一个有waf。在提交了十来个漏洞过后,我发现了他们其中几个具有https://zhuanlan.zhihu.com/p/419355262
8.Src挖掘技巧分享谈谈业务逻辑漏洞腾讯云开发者社区Src挖掘技巧分享 | 谈谈业务逻辑漏洞 本文首发于奇安信攻防社区 原文链接:https://forum.butian.net/share/1453 谈谈业务逻辑漏洞 业务逻辑漏洞简介 业务逻辑漏洞,是由于程序逻辑不严谨或逻辑太过复杂,导致一些逻辑分支不能正常处理或处理错误,这样的漏洞统称为业务逻辑漏洞。https://cloud.tencent.com/developer/article/2036056
9.挖SRC逻辑漏洞心得分享ZM思白帽子挖洞的道路还漫长的很,老司机岂非一日一年能炼成的。 本文多处引用了 YSRC 的公(qi)开(yin)漏(ji)洞(qiao)。 挖SRC思路一定要广!!! 漏洞不会仅限于SQL注入、命令执行、文件上传、XSS,更多的可能是逻辑漏洞、信息泄露、弱口令、CSRF。 本文https://www.cnblogs.com/wjw-zm/p/11809020.html
10.关于SRC漏洞挖掘经验及工具分享在SRC漏洞挖掘过程中,保证在最短时间内提交”有效”漏洞,自我总结漏洞数量主要来源于三个方面: 一、资产收集; 二、学会使用自动化工具; 三、通过数据包仔细审查业务逻辑。 资产收集作为漏洞挖掘第一步,资产收集的广度,会直接影响漏洞的数量,所以资产收集尤为重要。 https://m.elecfans.com/article/2066597.html