
“ Pentester”-这个词实际上不是俄语,是借来的。 恐怕无法想象,不是IT部门的人们会想到什么。 因此,我们自己在“俄罗斯”自豪地称为“渗透测试专家”。 什么是“渗透”,为什么要进行测试? 在本文中,我将尝试揭开未成年人的秘密面纱。
有大公司在其中工作受到尊敬的“叔叔”。 他们由编写代码,有时会出错的程序员工作。 错误的原因是司空见惯的:由于愚蠢,由于懒惰或对技术的无知,并且通常是由于烧毁最后期限的
屁,使您无法思考应用程序逻辑并用测试覆盖代码。
在软件产品中,任何错误都是潜在的漏洞。 漏洞已经是潜在的风险。 风险是种不良后果,您可能会赔钱(一般来说,您可能会损失很多东西:客户数据,知识产权,声誉,但所有这些都是以金钱计算的)。
你觉得呢? 大叔决定不急于程序员,带他们去安全开发课程,给时间完善代码并给他们以脚底按摩吗? 当然不是 大叔决定接受这些风险(减少,转移,保险和许多其他流行词)。 通常,程序会旋转-lavekha糊涂了。 黑客偷了一点,一切都按照标准进行,但这只是暂时的。
随着时间的推移,数据量开始显着增长,黑客的傲慢甚至更快。 黑客入侵造成的损害开始超过可接受的范围。 此外,用户开始意识到其“非常重要”的个人数据的价值,然后这些“家伙”从政治中走开并开始自旋(窃听高级官员,破坏伊朗核电站,选举欺诈,言论自由,隐私权,遗忘权)最后是“网络武器”!)。
所有人立即意识到,信息安全并不适合您“ Khuhra-Mukhra”。
在这里,最受尊敬的人说,他们当然会监禁邪恶的黑客(他们会伸手可及),但是其他所有人都需要以某种方式对其活动负责,并采取必要的信息安全措施。 他们发出指示,用锤子敲击逃跑。
对于读者来说,重要的一点是:``业务''当然可以说对他来说非常重要,隐私不会传递给任何人,每一个信息都将由经过专门培训的人来保护,但实际上这对任何人都无关紧要。 确保信息安全的主要动机是“奶奶”,或更准确地说:
- 监管要求(否则将处以高额罚款);
- 防止黑客大量窃取(可能导致破产);
- 保持声誉(以便易受攻击的用户进一步承担公司的金钱)。
通常,起初没有人打扰他们,他们开发了智能纸张,购买了经过认证的设备,聘请了经过认证的专家(或者说,由于他们的平庸而购买了纸张),乍一看似乎一切都是安全的。 但众所周知,现实生活中的一张纸并没有奏效。
再次,“聪明的叔叔”聚在一起,决定:为了防御攻击者,您需要像攻击者一样思考。 您不一定要自己做,您可以使此过程正式化,雇用受过专门培训的人员“穿夹克”,然后让他们自己乱砍,结果将是新的文件,但已经是“技术报告”!
因此,以一种简单的方式“模仿一个人”就是模仿真实攻击者的工作,从而测试组织是否存在渗透(妥协)并获取信息资产(机密信息)的机会。
怎么测试? 从哪里来? 在哪里渗透? 得到什么信息? 有什么限制? -所有这些都是事先商定的细节。
从外部看,工作似乎很容易而且薪水很高,而且市场还没有专家饱和,因此,这种趋势正在形成,许多学生想成为坐在沙发上在家按下几把钥匙的“酷黑客”,从而入侵IT巨头。 就是这么简单吗?
生活经历
Pentester不仅是一名测试员,最好不要在没有正规公司或
供应商公司员工经验的情况下从学校的长凳上走下来。
您必须经历学校的生活,例如:
- 向会计师解释打印机由于电缆未连接到计算机而无法工作;
- 向公司的财务总监解释说,在计算机的贴纸上写密码非常不好;
- 在具有256MB RAM的计算机上安装最低要求为4Gb的软件;
- 在家用路由器上建立公司网格,以便一切顺利;
- 等待几个月,以同意访问一个简单的信息系统;
- 通过从互联网下载“鱼”,在几天之内制定信息安全政策;
- 要求上帝编译程序,并且在不更改代码中任何内容的情况下获得成功;
- 使工作比计划快2倍,获得更多的工作而不是奖品;
- 等
否则,您的整个报告如果不了解客户的实际做法和个性,将仍然是一张漂亮的纸,而这些建议将永远无法实现。
通常,在数以千计的公司中找到一个“漏洞”并不难,但是如果没有生活经验,就很难在不了解的情况下全面分析和破解其他系统:
- 它是如何建造的? (定性地或根据物质)
- 为什么这样 (懒惰,预算,条件,工作人员)
- 开发人员/架构师/网络人员可能会错过什么?
- 为什么没有人负责入侵系统? (发生)
- 为什么没人愿意修复您的重要漏洞? (发生)
- 为什么几个小时都无法修复严重漏洞? (也许人们只是结束了他们的工作而没有人支付处理费用)
- 修复发现的漏洞有多容易? (也许支持过期的外包服务)
- 等等
学期要求
当然,对这样的专家的要求与对宇航员的要求有所不同,没有必要保持身体弹性,通常您很长一段时间都不能从沙发上站起来,但是您自己会有一些细微差别。
以下是示例工作职责:- 渗透测试(最细):
- 外部和内部渗透测试;
- Web应用程序的安全性分析;
- 无线网络的安全性分析;
- 使用社会技术工程方法进行渗透测试;
- 渗透测试是PCI DSS标准的一部分。
- 制定有关测试报告和建议。
- 自己在信息安全领域的发展和部门能力的发展。
样品要求:在信息安全领域中存在高等技术教育。- 管理* nix和Windows系统,Web服务器的知识。
- 了解网络协议(TCP / IP),安全技术(802.1x)以及网络协议的主要漏洞(arp-spoofing,ntlm-relay)。
- 了解Web协议和技术(http,https,soap,ajax,json,rest等)的工作知识,以及主要的Web漏洞(OWASP Top 10)。
- 对信息安全产品(制造商,供应商,竞争对手,发展趋势,需求特征,客户需求和期望)的了解。
- 了解信息安全技术(WAF,VPN,VLAN,IPS / IDS,DLP,DPI等)。
- 有过使用nmap,sqlmap,dirb,wireshark,burp suite,Metasploit,Responder和Bloodhound的经验。
- 具有Kali Linux操作系统的经验。
- 了解OWASP和PCI-DSS方法。
- 具有Python,PHP,Ruby,bash,Powershell,Java,C,Assembly的开发经验。
- 了解逆向工程的基础知识。
- 英语知识不低于中级水平。
懂中文 (请稍候)。
加:- 具有逆向工程和恶意软件分析的经验。
- 具有利用二进制漏洞的经验。
- 专业证书CEH,OCP,OSCE等的可用性
- 参加专业比赛(CTF,黑客马拉松,奥林匹克竞赛)。
- 参与Bug赏金计划。
- 拥有您的CVE。
- 在专业会议上的演讲。
来自我自己:在这种情况下,很少有人会对技术天才-社交犯感兴趣;通常,在这里需要外向的人,他们可以:
- 向客户说明他真正想要的是什么以及外观如何;
- 以书面和口头形式正确陈述和保护他们的行动和建议;
- 如果成功,创造一个“令人赞叹的效果”;
- 在失败的情况下,产生“令人惊讶的效果”(渗透的缺点是信息安全的优点);
- 耐压力(高温,尤其是在隐蔽的工作中);
- 即使是跨项目,也能按时解决任务。
- 处于趋势中 (哦,是的,处于趋势中是所有IT专业人员的“负担”):
- [您不能只接受它,而不能下班后考虑工作]。
- 需要不断发展。
- 阅读电报中的聊天室,阅读外国博客,阅读新闻,跟踪Twitter,阅读Habr,观看报告。
- 学习新工具,跟踪存储库中的更改。
- 参加会议,为自己说话, 写文章 。
- 培训新员工。
- 待认证。
- 不要烧坏。
渗透测试哲学
无需认为渗透测试将解决所有问题,结果将是对您公司(产品)中信息安全性的客观评估。
渗透测试仅显示了在给定条件下(时间,地点,攻击者的模式,能力,允许的行动,立法限制,优先级,
月相 ),一组特定专家可以通过模拟攻击者的工作来获得什么结果。
请记住:渗透测试者不是真正的
入侵者 ,他们可以将盗窃,黑客攻击,勒索,贿赂员工,伪造文件,他们的影响力和其他普遍的人为因素结合在一起,这里的一切都协调了100次,负担得到控制,一切都是已知的。
渗透测试也很幸运。 今天,您设法从RAM中提取了管理员密码,然后是整个公司网络的域管理员,而明天它已经不存在了,只有无特权的(简单的)访问权限才能在某些古老的,没人关注的服务器上访问该报告。
与近距离目的地的差异
除了“ pentester”之外,还有“ redtimers”,“ baghunters”,“ researchers”,“ auditors”,还有信息安全专家-所有这些可以是一个人,也可以是不同的人,在能力方面仅部分重叠。 但是,请尝试“咀嚼”这些术语:
“审核员”
该专家将获得所有文档,网络图,设备配置,并在此基础上根据审核员的最佳标准和经验为组织做出结论和建议。 由于信息的开放性,它为所有IS过程提供了最大的覆盖范围,并提供了整个基础架构的整体视图。
审核员很少独立检查组织中的每个设置,通常信息是由客户自己提供给他的,有时过时或不正确。
有必要将审核员和渗透测试员的工作结合起来,以检查纸和业务流程及其在实践中的实施情况。
“研究员”
最纯净的彭斯特不是研究人员,他根本没有时间从事这项工作。 所谓研究员,是指可以举起立场,部署某些软件并只能在几周甚至几个月的时间内对其进行检查的专家。
现在想像一下,您正在聘请一名专家来测试您的公司基础结构,他花了整整一整天的时间研究安装在一名员工计算机上的“发送Valentine”软件。 即使成功,您对他的工作结果也不是很感兴趣。
Redimer
Redtim是完全不同的测试理念。 适用于具有成熟IS的公司,这些公司已经进行了审核和渗透测试,而且所有缺点都已被消除。
在这里,它最接近真正的攻击者,并且该组织的IS服务和相关服务(
SOC ...)已经在验证中。
与Pentest的区别:
- 只有少数人知道这项工作,其他人将实时响应攻击。
- 工作是秘密进行的-您可以在夜间从云托管者发起攻击。
- 无需进行测试覆盖-您可以遵循阻力最小的路径,并在github.com上找到密码。
- 较宽的曝光范围-可以使用0day ,固定在系统中。
- 这项工作进行了很长时间(几个月,一年),不需要仓促-在这里您可以负担起研究客户在高架上的基础设施的工作,以最大程度地减少使用防护设备。
Baghunter
把一个猎手与一个五分之一的人进行比较是不正确的-就像温暖和柔软,一个不会干扰另一个。 但是对于分离,我可以说戊二酯是一种职位,根据规定的方法并根据建议与客户达成协议,工作涉及许多正式任务。
对于一个寻宝者来说,在任何人(通常是从站点列表中)中发现一个漏洞并发送错误证明(前提条件,步骤)就足够了。
再一次,没有初步协议,没有批准-我只是找到了该漏洞,并通过该网站将该漏洞发送给了客户(该网站可以作为该网站的示例,网址为
www.hackerone.com )。 您甚至可以看到Petya在组织“ A”中是如何做到的,然后在组织“ B”中重复该过程。 这里的竞争是激烈的,“低垂的果实”越来越少见。 最好将其视为五分之一期的额外收入。
集成商公司的渗透测试的特异性
此部分可能看起来像是在做广告,但您将无法摆脱事实。每个渗透测试都有其独特的方式(尽管该技术可以被刻板印象)。 许多因素使它变得独特,但主要是人,一个由专家组成的团队,其风格当然受到他们工作所在公司的影响。
因此,例如,只有Pentent本身对一家公司很重要,其结果是,他们仅在此上赚钱。 第二家公司希望在渗透测试期间制造特定的缺陷,以便出售其防护解决方案。 第三部分更多地关注中断的业务流程,以引发整个问题并提出解决方案。
我将在一家
集成公司工作,讨论针对外部客户的渗透测试的功能。 具体是:
- 我们不希望为了进行渗透测试而进行渗透测试并将其延伸几个月。
- 工作是在最短的时间内完成的,其结果旨在确定客户信息安全的真实情况。
- 有必要通过测试关键基础架构点来突出信息安全性问题业务流程。 因此,如果在20台计算机中的20台计算机中检测到过时的操作系统,那么再显示200台又有什么意义呢? 通常不需要完全覆盖,谁能保证呢?
- 根据渗透测试的结果,公司可以立即提出进行审核,建立业务流程,提出保护措施,实施,陪同和监督的提议。 在俄罗斯,没有多少公司可以吹嘘这样的机会。 如果一家公司在此类项目中具有丰富的经验,可以提供整套服务,则这很方便。
从员工的角度来看,集成公司是涉及全国各地大小客户的各种类型工作的众多项目。 这是在俄罗斯和国外的商务旅行的存在。 当然,与审核员,实施,维护工程师,供应商等并肩工作。
工作日
想象一下,您已经作为一个学期的学生。 您的工作日如何?
从星期一到星期五,您与同事一起对Customer1进行“外部测试”。 工作是基于个人经验和国际方法,并考虑了客户的具体情况。 您启动扫描仪,编译地图,核对清单,并与有关发现漏洞的同事进行通讯。
同时,另一个团队开始打电话给客户的员工,冒充安全服务,发出带有恶意附件的可怕信件,甚至有人丢下闪存驱动器,并在客户的领土上张贴海报。
这不是竞争,这里并不总是发现有趣的漏洞,人们并不总是通过电话报告密码,安全措施也不总是设置为“泄漏”,因此只有执行的工作列表可以进入报告,但是您不必担心,因为每个渗透测试都可以教您一些东西一些新事物,并显示出有趣的人为因素。
在客户对输入数据进行模糊测试之后的几次,服务的可服务性下降,并且工作被暂停。 调整限制后,它们将继续。 一切正常。 撰写报告。
然后,您将被分配到Customer2的“内部测试”,并出差了N市,您的一位同事开始测试移动应用程序。 抵达后,您将被带到单独的办公室,提供工作场所。 根据声明的协议,您可以将网络电缆从容地连接到笔记本电脑并进行“内部测试”。 也许您在工作开始后3个小时通过ms17-010捕获了域控制器,并在剩下的几天中收集了其他向量。 也许您整周都在尝试在一对接收到的帐户上“玩弄”“ Kerberos授权”。 IB员工一定会来找您,问他们发现了什么。 15分钟后,您就会想到一个问题:“好吗? 您是否设法破解了某些内容?”,尽管nmap甚至没有“预热”。 无论如何,通常情况下您都会感到有些意外,即使您使用打印机中的帐户,也可以从中获得安全防护,您可以选择Exchange服务器备份。 进一步的报告,有关同事“长途跋涉”的故事,客户的惊讶,很多建议甚至更多的澄清,但最终公司真正开始理解安全性是一个过程,而不是一次性的措施,您将对所做的工作感到满意。
然后,您被分配到一个红色团队,您与同事一起开车,停在银行旁边。 使用笔记本电脑和专用天线对Wi-Fi发起攻击。 您不是GRU,没有外壳,您可以真正从不可预测的警卫那里“抢一顶帽子”,因此隐藏了天线,并且您有一个可以期待成为朋友的传奇。
但是现在已经收到了公司的Wi-Fi wifi握手信号,并且您办公室中的同事已经将其拆开了,并通过Internet到达了最高经理的邮箱。 这是成功的。 进一步收集信息,报告,演示文稿。
在工作日进一步,您将编写脚本来优化部分工作。 阅读新闻并在展台上测试新技术。 同时,老客户向您发送有关一个月前工作的问题。
周六几个小时(已支付处理费用),计划在客户处进行负载测试,您在开始运行10分钟后就将站点放下了,您猜怎么着? 编写结果报告。
不久,将会有一场有趣的ASU TP渗透测试,并参加一次IS会议,费用由公司承担。 您放下了幸福的眼泪,并在新的Web表单中插入了引号。
总结
渗透测试的话题并不是什么新鲜事物,他们以不同的方式写了很多关于渗透测试的文章(您可以
在这里和
这里阅读),
适当的学科出现在大学中,组织比赛,举行各种会议,但“饥饿”的人员配置逐年增加。 另外,许多公司的信息安全性日趋成熟,越来越多的信息保护工具应运而生,并且专家要求具备高水平和多方面的能力。 对于每个IT专家(更不用说信息安全专家)至少一次参加一次真正的渗透测试将很有用。
尽管开始了自动化(
这里是一个例子),但在未来十年内,不太可能有什么东西能够取代在职的有能力的人。