请考虑捐赠:https://www.corelan.be/index.php/捐赠/


114938次查看

如何成为一名戊酯

简介

我收到很多电子邮件。(请不要让情况变得更糟,谢谢!)不幸的是,我没有以前或想拥有的那么多空闲时间,所以我通常别无选择,只能将问题转给我们的论坛或者我们的IRC频道(freenode上的#corelan),希望社区的其他成员也能加入进来,帮助我回答这些问题。

最常见的问题之一是“我如何成为一名渗透测试人员”。

根据你问谁这个问题,你可能会得到不同的结果,或者可能会被告知采取特定的方法。通过这篇帖子,我试图阐述我对这个问题的看法(重点是过程,而不是技术方面),希望为那些发现自己处于类似情况的人提供一个良好的起点。

事实上,我不是一个渗透测试人员……但我尝试将常识(经过简单逻辑的磨练)应用于生活中的挑战和几乎所有情况。请毫不犹豫地提供反馈、建议更改或告诉我STFU和GTFO。非常欢迎对这篇文章进行任何有动机的添加或更改,我会根据需要更新此页面。

从哪里开始…或?

有几种方法可以开始信息安全。随着时间的推移,方法会发生改变,技术会发生变化,新平台的设计和实现也会发生变化……所有这些都会影响最新的热门话题。在这样做之前,无论你采取何种方法,你都应该问自己两个基本问题:

1.我愿意为此付出多少努力(时间……)?

我多年来一直致力于开发利用。事实是,我在系统编程方面没有高级背景,也没有受过最新技术的培训。所有这一切都需要大量的时间和奉献精神,以及学习和吸收新事物的强烈意愿。你可以像你的大脑处理和记忆一样快速地学习,而练习能够锁定你的头脑,将知识转化为经验。有些人学得很快,另一些人需要更多的时间。这两种方法都没有什么错,但自我意识、对自己的能力有清醒的认识,并对自己能够和愿意投资支持学习过程的时间持现实态度是很重要的。另一个需要考虑的因素是你在生活中发挥的各种力量之间的平衡。如果你有家人,一定要与家人交谈,在与家人共度时光和花时间学习之间找到一个很好的平衡点。即使你独自一人,也要不时出去。不要急于求成,但要尝试使用健康的时间消耗模型。让你的大脑处理、思考并慢慢来。

这个“时间”因素使我们想到了第二点:

2.我的目标是什么?

人们总是设定目标。就所需的知识和经验而言,目标可能离得很远,甚至可能离得太远,以至于看起来更像是一个梦想。好消息是,有雄心壮志和梦想是可以的。然而,根据我的经验,通过将梦想分解为较小的目标,再分解为较小目标,实现你的雄心壮志将更加容易。所以,我对目标的定义(相当有限)是现实的,是你可以通过一个或多个步骤(行动)来实现的。我们可以讨论语义、词汇和定义,但这不是我的发言重点。让我们将梦想/目标/目标逻辑应用于本文的主题。让我们假设你的梦想是成为一名五人组成员。作为一个戊酯的概念很令人兴奋,但同时也很模糊。你到底想做什么?什么类型的笔。。错误。。目标是否要测试。你为什么想这么做?

如果你还没有答案,不妨与五酯谈谈,问问他们做什么工作,看看你是否感兴趣。假设您的理想场景包括测试公司网络的总体安全级别,对web应用程序执行审计,并使用“移动设备”做一些事情,因为人们都这么告诉您。也许这是社会工程。你选择什么并不重要,这些都是你的目标。它们是“五角星”定义的一部分,但你只是将梦想分解为目标和指标。

为什么我对它这么哲学?好吧,成为一名专门从事所有类型审计的顶层人员可能根本不现实。技术变化如此之快,可能不可能立即成为所有方面的专家。试图理解和掌握一切并不是一个现实的目标。但这可能仍然是一个梦想,你最终可能会实现。这一切都取决于你愿意投入多少努力。再往前走一步,不要因为别人说的话而气馁或过于热情。时间是个人的,没有好坏之分。好消息是:你可以做任何你想做的事情,有些事情会比其他事情花费更多的时间。这不是关于“如果”你能做到,而是关于“何时”,以及“何时”是多么现实。

成为一名五级主管也不意味着擅长使用工具。它是关于能够理解事物是如何工作的,事物是如何配置的,人们会犯什么错误,以及如何通过创造性发现这些弱点。成为一名五星级酒店并不意味着要针对互联网推出Metasploit。

几年前,我对摄影产生了兴趣。在用我的智能手机拍了很多照片后,在家人不断重复我的照片有多棒的鼓励下,我决定买一台单反。猜猜看。购买更好的相机或镜头并不能让我成为更好的摄影师。事实上,这让事情变得更糟,因为我不明白光是如何工作的,相机是如何调节以处理光线的,以及我们如何影响光线以获得更好的照片。智能手机的设计让你不必考虑它。初学者会犯错误。事实上,学习事物的工作原理是很费时、令人沮丧的……但最终会有回报的。我仍然不是一个好摄影师,但我也不介意承认这一点。我认为这是一次旅程,至少我决心先了解基本原理;尝试并经常犯错;不要害怕寻求帮助。

所以,这让我回到了最初的问题:“从哪里开始”。现在应该很清楚了,也许你应该首先回答“你想在哪里结束”,因为这会告诉你从哪里开始。不要担心,即使你犯了错误,即使你发现你选错了(“不太令人兴奋”)目标,你仍然会赢。你所获得的任何知识在一定程度上都是有价值的,并且在这一过程中会有所帮助。

还有第二种看待“目标”的方法。你也可以将你的目标定义为“你创造收入的能力”。为了这篇文章,让我们假设你想以五星级酒店的身份赚钱。这意味着您可能必须选择能够提供经济价值的特定技术目标(知识)。这可能是由某些类型技术(例如网络应用程序)的流行所驱动的;或相对较新的领域(物联网、移动等)。因此,即使你想做很多事情(并且应该从更广阔的角度来看),你也很有可能必须专攻特定领域。

在继续之前,我想@光余弦引用HD摩尔:“如果你认为自己不是一个n00b,那就是你不够努力”。挑战自己。试着多了解一些事情,试着温和地突破你的极限,但要以现实的方式去做。永不放弃。这是一次痛苦、漫长但很有意义的旅程。

好的,明白了。那么,从哪里开始呢?

假设你知道你想在哪里结束,并且你有一个现实的计划,包括投入时间和精力;你应该用你的时间做什么?

在谈论可能的道路之前,我想简单地提及一些将成为您旅程中最重要的部分的事情。这是你、你的态度和心态。你将是做这项工作的人。你是设定目标并想开始工作的人。你是一个将使这个工作。但它需要一个具体的态度这样做。这是所谓的“黑客”态度。黑客这个词有很多定义;但大多数人都归结为:渴望了解事情的真正运作方式,以便优化/改变行为,或应用这种理解来改变游戏规则。黑客往往会破坏东西;渗透测试人员往往也会破坏东西。我们的目标应该是打破东西,以便提出如何改进它的解决方案。如果目的是打破东西以便你可以证明你可以打破东西,而系统/人有缺陷……新闻快讯:我们已经知道这一点。你在浪费时间。你是破坏者,不是黑客。如果你真的想成为一名黑客,那么就把东西弄坏,因为你想修复它,让它变得更好。黑客这个词可以应用于许多学科。它不需要与计算机联系在一起,它也可以应用于一般科学。事实上,如果没有黑客,我们就不会有药物或技术进步。

对你所看到的进行批判。试着理解你所看到的。提出问题,不要接受“我不知道,这就是它的工作原理,这是别人告诉我的,接受它,然后继续前进”。问问自己这个问题“如果我必须设计X或Y,我会怎么做”。将你的思维过程融入他人的心态中,将有助于你理解为什么事情会以这种方式运作,它们是如何设计的,以及人们是如何以这种方式使用它们的。使用同理心和理解他人有不同的观点会拓宽你对事物的理解,反过来也会帮助你发现优势和劣势。

黑客不是技术性的。这是一种心态,一种心理。它很漂亮。它非常强大。(旁注:我真的很幸运能够与世界各地极为聪明的黑客共度时光。我们每个人都有潜力改变一些东西,改进一些东西。我们甚至可以改变世界;如果我们能以更好的方式组织起来。也许是时候选择一个新的梦想了,一个涉及黑客世界的梦想。无论如何…)

好吧,好吧,别废话了,从哪里开始?

等一下。我们快到了。在给你一些关于如何进行旅程的提示之前,我想分享一些关于提问的想法。事实上,除非你生来就已经有了所有的答案,否则你可能最终会问问题。即使你知道你的最终目标是什么,你也可能不知道如何达到目标,或者达到目标需要什么。解决问题的唯一方法是提问。有趣的是,你问问题的方式和类型将决定你是否得到了你需要的答案。

我经常在IRC上的各种频道闲逛,我已经订阅了很多邮件列表很久了。我看到人们每天都在问问题,而其他人则试图回答问题。你会认为提问或回答问题是一件微不足道的事情,但有趣的是,人们会因为试图找到他们不知道的问题的答案而被大喊大叫、从IRC频道受到贿赂或在公共场合受到羞辱。很多人最终因为无法得到满意的答案而感到沮丧,而其他人则因为觉得自己在浪费时间而感到沮丧。

到底是什么导致了这场冲突,双方如何才能更有效地提问和回答问题,并希望避免痛苦的局面?下面的大多数项目都是基于可以进行直接交互的情况(IRC、即时消息等),但它们可以很容易地推广,适用于任何形式的通信(电子邮件、支持表单、论坛)。

提出问题

提问很容易。问一个好问题似乎并不容易。一个问题需要什么才能得到一个有价值的答案?你如何避免人们因为你只想得到答案就开始向你扔桌子、自行车和电梯?我试着收集一些关于如何更有效地提问的想法,并增加你不仅得到答案,而且得到有用答案的机会。几年前,我在推特上做了一个小调查,发现人们认为“坏”问题的成分是什么。结果包括:

  • 没有迹象表明提问者进行了任何自己的研究或试图找到答案,比如谷歌必应或谷歌必应;
  • 当问题模棱两可时;
  • 当你忘记问问题时;
  • 大量的序言来回答这个问题。

你可以做一些事情来避免常见的陷阱,并让你的问题被标为“坏”。首先,我认为不存在坏问题。问题总是有原因的,或问题背后的逻辑。由于沟通不畅或其他原因,可能不清楚具体是什么,但这并没有使问题变得糟糕。我在下面列出了一些想法,没有特别的顺序。

避免使用明显的答案。

想想你的问题。通过简单的谷歌搜索或阅读产品文档,在网上、维基百科上找到答案有多容易?如果你懒惰,不要指望人们会对此表示赞赏。相信我,坦白地说你的懒惰也无济于事。如果你因为懒惰而被IRC禁止踢球,并且你做了广告或承认了这一点,那么你可能应该得到它。

表明你值得一个答案和期待。

做你的家庭作业。看看你能在网上找到什么关于你的问题,自己尝试一些事情,并记录你所做的事情。准备好展示你的所作所为。诚实准确。如果你表现出你已经尝试过并愿意尝试更多,人们更有可能提供帮助。一旦人们感觉到你只是想被勺子喂饱,你的支持渠道就会在你面前炸开。人们可能会要求你重现你在当前情况下采取的步骤,这样你就可以预见到这一点。在提出问题之前,将您的文档和程序放在Pastebin或Pastie上,并准备在需要时提供文档链接。

即使你认为自己不应该做某事,也不要遗漏重要信息或对自己做过的事感到尴尬。这很可能是问题的一部分,如果你想要一个解决方案,你最好诚实。在描述你的问题时尽可能真实,不要让你的思维过程占据主导地位。描述症状和重现症状所需的确切步骤比解释你认为问题是什么更好。你可能遗漏了一些显而易见的东西,如果你不分享所有事实,人们可能无法发现真正的问题所在。

如果您正在尝试一个过程或工具,并且收到一条错误消息,则可能其他人也遇到了相同的情况。用谷歌搜索错误消息(去掉特定部分,如IP地址等),然后看看你能找到什么。确保你的问题能够让人们相信你只是想朝着正确的方向轻轻推动。不要问“我不明白这是怎么回事”或“我想黑客攻击Gmail”,你也可以问“你建议我学什么来做这个或那个”,或“有人建议使用针对Oracle数据库的SQL注入源吗?”?你正在努力实现同一个目标,你几乎在要求同样的东西,但你正在把注意力转移到学习和寻找解决方案的过程中,而不是把注意力吸引到问题或目标本身。要求“一些正确方向的指针”是完全可以的。中国有一句著名的谚语说:“给人一条鱼,你就喂他一天。教人钓鱼,你就喂养他一辈子。”。如果你有问题,你可以选择最快、最简单的方法,让别人马上给你解决。如果你学会了如何解决问题,你可能会提高自己的洞察力,提高自己预防和解决未来问题的能力。你越是把问题集中在自己能做什么和应该做什么上,就越容易说服别人帮你。通常也有帮助的是先向朋友解释你的问题。在某些情况下,解释问题并让朋友尝试理解问题也可能会暴露出解决方案。这件事发生在我身上,并在许多情况下帮助了我。简言之,你自己在寻找解决方案方面投入的工作越多,你的问题就越精确,人们会对此表示赞赏。

把事情分崩离析,对自己提出批评。

在提出问题之前,将问题分解为技术层和组件。您是否完全理解再现问题所需的其他组件或先决条件?如果您询问有关攻击远程计算机的问题,请确保您了解网络层,并检查设备和远程计算机之间的所有设置是否正确。如果你对网络不够了解,你不应该攻击使用网络的东西。

不要忘记或忽视其他人必须经历与你相同的学习经历,并且必须努力学习。如果你的问题表明你只是想跳过基础知识的学习,人们可能会被冒犯,因为你根本上不尊重他们过去所做的努力。

考虑到你还有很长的路要走,“理解”某件事并不一定意味着你正在以正确的方式应用它。与其问为什么某项技术在特定情况下不起作用,你可能需要怀疑自己是否完全理解该技术。

不要一开始就道歉。

没有必要因为不知道什么而道歉。这通常只会让人们扬起眉毛片刻,然后继续前进。你只应该为自己没有提出适当的问题或没有做好工作或学习的准备而道歉。不要为你不懂英语而道歉。人们不在乎。如果情况不好,他们会注意到情况不好。你有机会通过阅读文件、与人互动来提高你的英语水平,所以你不妨做点什么。如果你不确定,提前准备好你的问题,放松一下。如果你问的是一个准备充分的好问题,没有人会注意到。当然,如果您的母语可以提供支持,那应该是您的第一选择。我并不是想说道歉是件坏事。这是成熟和尊重的象征,在冲突局势和谈判中可能非常强大。我只是不相信它能帮你得到答案。不要为了侮辱别人而隐瞒你的语言不太好这一事实。我以前见过这样的情况:有人走进IRC频道,先是为他糟糕的英语道歉,然后公然侮辱房间里的每个人。坏主意。借口并不是愚蠢的魔法补丁。

友善、礼貌,不要急躁。 

即使你的问题很紧急,如果你决定依赖社区的支持,你也必须认识到并接受人们也有生命,除了回答你的问题,他们可能还有其他优先事项。10分钟后问“为什么”你没有得到答案可能会导致人们忽视你,所以不要这样做。也许你需要重新思考你的问题,或者寻找其他信息或支持来源。公共论坛和IRC渠道不是私人支持渠道。不要指望全世界的人都关心你的问题,所以一定不要让你的问题充斥着整个频道。虽然IRC和Instant Messenger工具允许直接通信,但它不能保证通信会在您想要的时候以您想要的速度进行。时区是真实的,知道答案的人可能正在睡觉。接受它。

即使你认为一个工具已经严重损坏,也要关注你可能做错了什么。如果你问“我做错了什么”或“你应该做些什么”,即使这是应用程序或工具中的一个真正的错误,其他人也会很感激。如果你一开始就说你相信某个工具坏了,或者问“为什么”某个工具破了,你会以一种糟糕的方式引起别人的注意。工具中的一个错误并不会使工具变得糟糕,所以不要不尊重可能正在阅读您的评论的许多人的工作。你是一个开始讨论的人,你永远不会有第二次机会给人留下第一印象。接下来的讨论的基调将在你开始沟通后立即确定,所以要友善和尊重。

只有当你确信别人会理解和欣赏这个笑话,并且不会被冒犯时,才可以开玩笑。你不知道对方的电脑背后是谁,所以要避免任何可能冒犯他人、性取向、受宗教启发的东西。了解不同的文化,不同的观点,不同的人。没有一个是好的或坏的,更好或更坏。这在很大程度上取决于你对你所称呼的人的了解程度。(旁注:这也是为什么“黑客文化”并不存在的原因。我们都是个人,有着不同的背景、文化和信仰。无论你长什么样,说什么语言,穿什么衣服,或者你的皮肤是什么颜色。从你做的事和为什么做这些事来看,你都是黑客。)

当然,关于你自己或你的处境的笑话是一个例外,而且经常被人很好地理解。抱怨你糟糕的互联网连接,以及它如何让你考虑再次发送传真,或者评论你的狗太胖了,以至于它干扰了家里的Wi-Fi信号,这些都是如何帮助建立友好氛围的几个例子。

要有创意,不要过度,要仔细选择时间。也许你会被你要向之提问的人的技能所打动。不要开始大喊你认为他们有多“l33t”或“pro”,以及那些人回答你的问题有多容易。这可能会引发一些危险信号,让人们认为你是一个巨魔。做你自己,表现正常,有礼貌,你就会没事的。

让答案更容易回答。

如果你的问题太宽泛或包含太多可以解释的因素,含糊不清、有疑问或含糊不清,不要指望有人会花几个星期的假期带你到处看看。

选择您的受众。

什么地方是找到问题答案的最佳地点,谁是回答问题的合适人选?论坛和IRC频道通常关注某一主题,所以尽量选择合适的媒体和渠道来提问。如果您的问题与工具的使用有关,那么最好找到其他用户,而不是立即将您的问题发送给工具开发人员(或使用他们提供的支持机制)。

提出问题。

不要一开始就问你是否可以问一个问题。没有必要询问是否有人在线或可以回答您的问题。问这个该死的问题。如果有人在线,如果你的问题有意义,你会得到答案。除非你在继续之前的讨论,否则不要针对特定的人。如果你建议只有特定的人才能回答问题,其他人可能会忽略你的问题。如果你想得到答案,请确保问题非常清楚。如果你只是简单地说“我对X或Y有问题”、“这个工具不起作用”或“我的漏洞被反病毒检测到”,那么从技术上讲,你只是在做一个声明,而不是在问问题。询问你做错了什么,或者你能做些什么使事情变得更好,更有可能得到你想要的。即使你必须解释问题的背景,也要尽量简短,直截了当,并尽快提出问题。

如果需要,倾听、互动并寻求澄清。

试着理解答案,不要马上回复。如果有人告诉你调查其他事情,就去做。不要一直喋喋不休,无视别人给你的建议。如果答案不清楚,要求澄清,但要以一种表明你正在努力学习(过程)而不是试图被哄骗(解决方案)的方式来做。如前所述,你越善于设定正确的语调,并建议你只想在正确的方向上得到一些提示,别人帮助你的机会就越大。当要求澄清时,试着用一种解释你做了什么和不理解什么的方式来表述。重新措辞或总结某些部分通常有助于显示答案的哪些部分是明确的,哪些需要进一步澄清。重新措辞/考虑开始一个新问题:

  • 如果我理解正确的话,
  • 你的意思是…
  • 换句话说,
  • 如果…怎么办
  • 这是否意味着…

如果你根本不明白答案,不要害怕说出来。问问对方是否可以改写,用不同的方式解释某事,或者详细阐述答案的某一部分,然后礼貌地回答。

感激并尽可能回报。

如果有人试图帮助你,告诉他你很感激他的帮助,即使他没有完全回答你的问题。要意识到,除了回答问题,很多人还有其他事情要做。如果他们试图帮助别人,那是因为他们想帮助别人,尽管日程安排很紧,工作上有最后期限,还有其他优先事项。感谢他们花时间。以简短、清晰和高效的方式进行。提及答案的帮助。如果你觉得你问的问题是一个很常见的问题,并且你的直觉告诉你,回答问题的人实际上已经厌倦了一遍又一遍地解决这个问题,你可能会考虑帮他一把。记录您的问题和解决方案,并将其放在网上某处。它将帮助您了解原因和解决方案,您可以要求帮助您验证文档的人确保其准确性,您可以通过简单地将他们指向您的在线文档来帮助其他人。它表明你想要学习,你已经听过了,你想要回报。不要等到你有了所有的答案才分享。猜猜看,你总会发现另一个问题。

回答问题

提出好的问题绝对是一门需要准备的艺术。如果你真的想帮助别人,回答问题也不是小事。虽然有些情况可能会有相反的建议,但没有专门的提问者和专门的回答者(甚至不确定这是不是一个有效的词)。无论你有多丰富的经验,你仍然会不时发现自己处于故事的两面。当你能够回答一个问题时,你真的处于一个独特的境地。想想看,你有权决定是否要回答这个问题,最重要的是,你可以选择如何回答问题,这将直接影响到答案是否有价值。如果你决定花时间回答一个问题,目的是帮助别人,那么你最好把事情做好。以下一些指南可能会有所帮助:

要友善。

问题之所以以某种方式提出是有原因的。你应该能够感觉到一个追求快速胜利的人和一个真诚的人之间的区别,一个真正想学习但不知道如何良好沟通的人。当你不确定的时候,承认这个人的怀疑,以后你仍然可以对他大喊大叫。如果某人太含糊或不清楚,有一种简单的方法可以帮助他们。简单地改写一下问题,问问他们想知道的是不是这个问题,或者告诉他他的问题没有任何意义,然后让他说得更具体一些。这将确保你正确理解问题,并向对方展示下一次如何正确表达问题。没有理由取笑某人或让他/她感觉不好。他或她已经承认对某事一无所知。

回答之前先思考一下,询问更多信息。

你真的理解这个问题吗?你的回答会有帮助吗?如果问题不清楚,要求澄清。重新措辞;请举出一个例子。尝试重现解决问题所需的步骤,并要求提供更多详细信息和文档。

不要回答,因为你必须回答。

只回答一个问题,因为你想帮忙,并且有时间帮忙。尽管第一个问题看起来很合理,但它可能很容易变得更糟。如果你决定介入帮助某人,至少你必须试着让提问者走上正确的道路,而且很难预先估计你需要多少时间。如果你做对了事情,并且很好地理解了问题,那么立即回答问题或向提问者指出正确的资源应该不会太困难或太耗时。

回答一个问题。

一个很有趣的。有些人喜欢一直这样做,这会完全吓坏人们,破坏正常的沟通,所以请确保只在特定情况下使用此技术。回答一个问题当然有很大的价值,只要这个问题能提供解决方案,或旨在获得更多信息。让我们来看一个快速示例:

问题:“我对目标计算机进行了一次攻击,攻击表明我无法获得反向外壳。”

这种情况下可能会出现很多问题,因此很难用几句话回答这个问题。问几个简短的问题可能会让这个人回到工作中,试图获得更多细节来解释为什么他的程序不起作用。例如,你可以问两个主机是否能够相互连接。这表明可能存在与网络相关的问题。它表明您了解与利用远程计算机行为相关的各个层,并帮助他使用结构化方法来解决此类问题。就问题本身提出问题可能会揭示潜在的原因和动机。有时人们会尴尬地不愿承认某事,因为他们几乎可以感觉到自己做错了,或者他们可能知道自己在做非法的事情。通过询问他们为什么想做某事的具体问题,或建议他们以不同的方式做某事(以一种不涉及潜在非法活动的方式),可能会为你提供有关此人的一些有用信息,以及他的意图是否合法。如果有人在对互联网上的机器进行攻击时遇到问题,您可能会建议他在私人实验室中模拟该过程。如果该人选择忽略您的建议并坚持要通过互联网进行攻击,您几乎可以肯定他没有成功。试着去发现这个人想做什么。如果有人问他是否可以做某件事,问他想实现什么。理想情况下,这将迫使此人解释并揭示任何潜在动机。

要诚实。

如果你对答案不确定,就这么说。承认自己不确定没有错。猜测是可以接受的,只要你明确你在猜测。它可能会提出可能的解决方案,也可能会让人走上正确的道路。

刺激,不要燃烧。

你可以通过提供一个有用的答案来展示你的技能,而不是通过炫耀,强调你有多聪明。根据问题的具体程度以及它如何反映询问者所掌握的知识水平,您可以相应地调整答案的详细程度。如果你需要解释某件事是错误或不好的,不要忘记解释为什么它是错误或坏的,并给出如何避免或解决问题的建议。你不需要详细回答问题,就像你在给他们读教程一样。朝着正确的方向轻轻推一把通常足以刺激学习过程。如果他想在未来取得进展,可以让某人走上正确的道路,并为他指出他应该学习的资源,但不要只是向他扔URL。如果另一个人明白他为什么需要学习,那么说服他付出努力就更容易了。当然,如果同一个人只是继续问问题,不想花时间好好学习,那么你的答案显然不再有帮助,而那个人可能不想得到帮助。他只是想有人帮他做这项工作。在这种情况下,尝试是没有价值的。等到那个人发现他需要为它工作,然后忽略他,直到他证明了这一点。

语言。

英语是国际IT或Infosec社区的重要语言。然而,这并不意味着每个人都是以英语为母语的人,甚至与之相差甚远。使用通用术语是很好的,但要尽量让你的句子尽可能简单。我们不想让这个可怜的家伙遭受不必要的痛苦,是吗?如果你在谈话中注意到对方并没有真正理解你的答案,那么向他挑战,并核实他是否理解你的话。试着弄清楚这是语言问题还是知识问题。如果这是你们俩第一次说话,可以直接问对方是否理解你的意思,这样你就可以根据需要调整词汇量。看看你能不能举个例子来澄清,或者只是问一个关于你的解释的问题。如果你心情好,你可以说一些话,暗示如果需要可以多问一些问题,如果问话人有点害羞,这应该会打破沉默。

发现巨魔。

当然,有些人手头有太多的时间,没有现实生活,试图通过问一些愚蠢和聪明的问题来浪费每个人的时间,只是为了好玩。这些所谓的巨魔中的一小部分实际上非常掌握其中的微妙之处,可能会让人觉得他们有一个真正的问题,然后继续把愚蠢的问题和好的问题结合起来。如果做得好,这些人实际上可能会让你忙碌一段时间。幸运的是,大多数巨魔的忍术都很差,很容易被认出。浪费勇敢的志愿者和真正想帮忙的人的时间不是很好。他们应该被禁止踢球。

提供反馈。

如果什么都没用,而你有一些时间,解释一下为什么某个问题或评论没有用。也许提问者说了一些无礼的话,或者暗示他真的不想好好学习。最糟糕的情况是,他会忽视你的建议,你也可以选择忽略他。最好的情况是,下次他会从你的反馈中学习并以不同的方式处理事情。

更新:签出http://xyproblem.info/

唉。好的。请问从哪里开始?

水平还是垂直?

我真的不在乎你在学习新东西时是喜欢站着,还是喜欢平躺着。我所说的“横向或纵向”标题的意思是:你应该首先集中精力学习各种各样的东西(横向),还是应该直接深入到你感兴趣的领域(纵向)?

好问题。这两种情况都有利弊,意见比人多。你的朋友也有很多意见,所以我将分享我的个人观点。首先了解全局是有用的。如果你的目标是成为一个web应用程序的pentester,那么学习所有涉及的层可能是有意义的,从操作系统、网络、web服务器和应用程序技术、常用的数据库平台和通用开发语言。这是一只大动物。你感兴趣的信息量通常取决于你需要什么。同时,你越是了解事情的运作方式,就越容易理解如何改变规则。我的建议是:首先尽可能多地了解各个层。不要急于求成,立即深入到发现漏洞或利用漏洞的细节中。特别是工具的可用性会让你的手发痒,并降低了立即攻击系统的障碍。始终记住,工具不是魔法。他们只是将事情自动化。你越了解它们的作用,就越容易使用它们。别误会我的意思,工具很有用。只有在您了解它们的功能、如何配置它们以及如何正确使用它们之前,才可以使用它们。

因此,我相信尝试理解系统的系统工程方面有很大的价值。了解事物是如何沟通的,事物是如何设置、保护和运行的。也不要过度。你不需要是一个了解所有RFC规范的IP专家。你可能需要比滥用它更多的东西。你需要足够的东西来使用和滥用它。

此外,要明白你可以采取分阶段的方法。您不需要成为BGP路由专家即可执行web应用程序测试。如果是这样的话,这不会有什么坏处,但当您准备扩展视野并深入到安全审计的其他方面时,您仍然可以学习它。在设定目标时要现实,并努力准确地确定实现目标所需的先决条件。如果你不确定,可以提出多种意见,不要害怕学到太多而不是不够。

如何学习?

学习新事物的方法有很多种,其中一些是非常个人化的(例如:它们只对你们中的一些人有用,对其他人无效)。有些人可以通过阅读书籍或博客文章来学习新事物。有些人需要将事情可视化,另一些人需要有人在视频或面对面的环境中解释事情。每种方法都有解决方案。你可以在线购买书籍或阅读出版物。你可以参加课程(在线或现实生活中),你可以发现许多在线挑战来练习你的新技能。

这些方法都没有错,只要你了解什么最适合你,那么你就可以相应地调整你的策略。所有这些学习方法的共同之处在于练习。为自己尝试一些事情(有指导或无指导)将使记忆更容易,并最终将知识转化为理解和经验。

在任何情况下,建立虚拟实验室环境都非常有用。如今,虚拟化技术可用于大多数常见平台,它价格低廉/免费,并且具有很大的灵活性。VirtualBox、VMWare、Parallels、Xen、Hyper-V只是几个例子。

尽管这不是一个全面的建议,但通过安装Windows和*Nix/Linux系统,您将有很长的路要走。当然,了解如何管理和操作这些系统至关重要。你不想把时间花在与支持你学习经验的工具斗争上。

勺子喂食

用勺子喂食听起来像是我们对婴儿做的事,对吗?如果你问有经验的人用勺子喂食是对还是错,我敢打赌他们大多数人都会告诉你这很糟糕。我相信答案不是非黑即白。视情况而定。首先,我们都被勺子喂过。(或者至少是我们大多数人)。这就是当我们无法养活自己时父母所做的。这是老师在你对某事完全陌生时所做的。这就是我们应该做的,让人们走上正确的轨道。我们都被告知一些事情,让我们练习,变得更好,进入下一阶段。在以支持的方式刺激和让人们在没有任何帮助的情况下落后之间有一条细线。

在“领导力和一分钟管理者——通过情境领导力II提高效率”中,Ken Blanchard解释了4种不同的“发展水平”。其中一个级别是高承诺和低能力。这可能就是你现在所在的地方。你对学习新东西很兴奋,但你不知道从哪里开始。对于这样的场景,一些勺子喂食可能很有用。这并不意味着其他人会为你做所有的艰苦工作,但简单地告诉你“去解决它”而不给出直接的指示或提示也是没有用的。一旦你学到了更多(并且变得更加胜任),你就会发现还有更多的东西要学。在这一点上,你可能会发现自己变得不那么投入了,因为你开始意识到前方还有很长的路要走(这可能会让人很沮丧)。这也很正常。在这一点上,用勺子喂食无济于事。在这种情况下,辅导更为合适。提出正确的问题将迫使人们思考,应用他们已有的知识,并寻找答案。如果他们最终陷入困境,无法自己发现答案,也许是时候退一步,寻求一些详细的帮助了。所以,当你对勺子喂食持否定态度时,请小心。情况(发展水平)决定了它是否是正确的方法。

还有别的吗?

不,不是真的。谢谢你的邀请。是时候开始画一棵树了,它将成为你的旅程。

1.网络和操作系统

我建议从学习系统如何工作和通信开始。试着对TCP/IP、OSI层、临时端口和服务器端口、路由、端口转发、NAT、防火墙等有一个很好的了解。当你试图连接到目标时,你需要它,你需要使用工具,你需要配置你的环境,以使你的安全审核成功。

您还需要能够管理和操作通用操作系统。再加上网络,这应该是你的首要出发点。我们大多数人都熟悉一个操作系统,但了解如何使用和配置Windows和Linux/Unix“不会有什么害处”(=轻描淡写)。您应该能够熟练地使用命令行实用程序和GUI工具设置网络配置、基本安全功能和实现。开始将这些系统用作您的主桌面,每天使用它们,以迫使您熟悉它们。

我知道,我知道,你想立即开始攻击系统,而不必花费太多“开销”,对吗?我完全理解,立即开始使用portscanner或其他工具听起来很激动,但如果您不知道这些工具的输出意味着什么,那么使用这些工具有什么意义呢?更糟糕的是,如果你不知道自己在做什么,很容易造成损害。

2.多用途资源

接下来,尝试广泛了解攻击环境。也许你已经下定决心要成为一个web应用程序的penters,但了解其他方面仍然没有什么坏处。关于这个主题有很多资源,但我决定列出最重要的资源(至少是涵盖广泛技能的资源):

(如果您觉得缺少重要资源,请告诉我。哦,还有出版商/作者:如果您想为我们的读者提供折扣券代码,请联系我:-)

除了更好地了解形势之外,您还将学习一些关于测试方法和方法的知识,包括将技术发现转化为客户或企业可以使用和理解的东西的困难艺术。成为一名五年级学生也需要文书工作。只是说说而已。再次,应用真正的黑客思维方式。打破东西是因为你想让它变得更好,而不是因为你想打破它。实际上,如果没有真正尝试“让事情变得更好”,你只是一个破坏者。(所以,不要抱怨别人犯的错误。思考并修复。增加价值。学习如何保护、强化和保护。)

3.脚本和工具

不管你看多久,你最终都会使用脚本和工具来自动化某些事情。你甚至可能想更改现有的工具或编写自己的工具,以使生活更轻松。毕竟,这就是脚本的作用。它们是一种工具,而不是一个目标。必须熟悉python和ruby等脚本语言。你不需要成为专家,只要你开始使用它们,你就会变得更好。了解一些C/C++也很有用,因为有些人倾向于用较低级别的语言编写工具(主要是出于性能原因)。无论如何,理解工具的功能比编写自己的工具更重要。写你自己的可能很有用,因为它证明你了解需要做什么。

现在可能是开始使用所谓的“渗透发行版”的好时机,这是一个预先配置的系统,其中包含一系列安全评估工具。尝试从头开始创建您自己的系统可能会很有帮助,这也很耗时,并且在您完全掌握现有系统之前可能没有必要。Kali Linux是最常用/最流行的发行版之一。它有一个庞大的用户库,并且受到大多数工具开发人员的良好支持。

除了更多面向攻击的工具外,最好扩展您的实验室环境,并包括设计为易受攻击的本地和在线系统,以便使用可用的工具测试您的知识。如果您对web应用程序安全感感兴趣,一个好的起点是https://www.penterlab.com/exercises网站http://www.amanhardikar.com/mindmaps/PracticeUrls.html。您可以在下面列出的网站上找到更多链接。

4.潜得更深

只有当你准备好了,才能选择你想要的一个或多个目标,并制定一个现实的行动计划来实现目标。有些话题需要几天的时间才能理解,有些则需要几周、几个月甚至几年的时间。慢慢来,一步一步。对于每种类型的目标,您都可以找到特定的资源(书籍、在线出版物、课程、虚拟实验室等)。

一些好的资源包括下列网站:

(在浏览资源和材料时,不要忘记提问。)

尽管我鼓励每个人都找到自己的专业领域,但如果你真的想成为一名专业的五人组成员,你就必须学习一些关于web应用程序安全的知识。毕竟,许多公司使用web应用程序服务为其员工、客户、合作伙伴、供应商等提供应用程序服务。由于在许多情况下,web应用程序需要对外公开,因此它们也是一个重要的目标(也是犯罪分子的一个途径)。理解HTTP的工作原理、web应用程序的开发、安全以及底层数据库平台的工作原理,将是这一旅程的重要组成部分。如果你选择接受它,你的任务是找到深入研究你想关注的领域所需的依赖性和先决条件,并将其转化为行动计划。同样,只要在需要的时候提出问题。

5.倾听、参与、帮助

使用社交媒体关注有影响力的人、激励他人的人,以及一般更有经验的人。与人交往,要友善。在学习过程中提出问题并提供帮助。

如果你有机会参加Infosec会议/研讨会:请参加。这是一种结识更有经验的人并与他们交谈的好方法。询问他们正在做什么。分享你正在做的事情并寻求提示。询问他们仰慕谁,或受到谁的启发,并查看他们。成为社区的一部分。(噢,顺便说一句,会议也是找新工作的好地方)

打开网站/博客,分享你的发现。当然,你可能不是第一个走特定道路的人……但你也不会是最后一个。环境和技术的变化,所以当你应用你新获得的知识时,试着跟踪你的进展并记录它如何应用于最新技术。事实上,你可能最终会在学习的过程中记笔记。你不妨把它们组织起来,放到网上让其他人看到。潜在雇主可能对你发布的内容不太感兴趣,而是关注你如何组织笔记、你的想法以及你潜在的创新方法。让你的工作可见,并将其传授给他人。

不要害怕犯错。你会到达那里的。它所需要的只是时间和努力。

祝你好运。

6.别傻了

除非您正在攻击自己的系统,或者您已经获得了相应的权限,否则攻击系统(在网络、本地、物理等上)是犯罪行为。别傻了。

接下来是什么?

当你想找一份五星级的工作时要考虑什么

坦白地说,闯入信息安全领域并不是那么容易的事。事实上,要从专业角度进入这一领域是相当困难的(除非你有自营职业的愿望和商业计划)。一般来说,公司倾向于雇佣经验丰富的五星级员工。毕竟,大多数公司都希望尽快获得“投资回报”,这意味着他们真的不想花太多时间培训你,并在可以依赖你承担任务之前先变得更有经验。

然而,并不是所有的东西都丢失了。一些公司可能会提供(夏季)实习机会,也可能会让初级员工休息一下……但没有什么比经验更好的了。同意,这听起来像是一个棘手的问题。我想关键是找到一种获得更多“经验”或“可信能力”的方法。

你可以通过玩CTF、在模拟环境中测试技能和/或获得认证来获得经验。成为一名“攻击性安全”认证的渗透测试人员或通过SANS考试可能是一项很好的投资,因为这在业界得到了很好的认可……当然,在这方面你还可以获得其他类似的“头衔”。我同意,久经考验的经验/知识比头衔更重要(有些头衔甚至不能保证知识),但不幸的是,如果一开始就没有头衔,你可能无法在面试桌上找到一个座位。

因此,为了鼓励公司大胆发言,我决定在推特上发布这个:

2015年10月13日06时22分47分截屏

 

 

 

 

 

 

 

 

所以……如果你正在阅读这篇文章,并且你所在的公司愿意雇佣(相对而言)没有经验的五星级员工(至少,没有很多专业经验),请让我知道(例如,给我一份正式声明,一个包含更多信息的网站链接),我会添加这篇文章的链接。如果你有(夏季)实习计划,也请告诉我。任何帮助都非常感谢。

事实上,我坚信公司往往低估了在团队中拥有初级职位的真正力量。好处包括对挑战有一个全新的看法(新鲜=较少受到常规的影响),推动每个人拓展自己的舒适区,并鼓励高层分享他们的知识和经验。每个人都赢。

到目前为止,以下人员/公司作出了回应,并允许我在此处发布链接(或在推特上发布了他们的政策):

欧洲

  1. KPN//荷兰
  2. ERNW//德国(实习):ernw.de/info@ernw.de
  3. Kyos//瑞士(实习)
  4. NetXP//法国巴黎(初级/实习生):netxp.fr/recurtement@netxp.fr
  5. Nettitude//英国和美国(实习生)
  6. 索卢科姆//法国巴黎(大三学生/实习生):solocom.net/caters
  7. EdgeScan//爱尔兰
  8. 保护荷兰(青少年)以下为:https://www.securify.nl/jobs网站
  9. 托雷恩//比利时以下为:https://www.toreon.com/category/news/https://twitter.com/toreon_BE
  10. ESET//荷兰(Sliedrecht)以下为:donny@eset.nl
  11. 科吉奥//法国巴黎(实习):http://www.cogiceo.com/fr/carrieres网站/
  12.  7要素(英国)
  13. 安全工厂//比利时:初级配置文件–@securityfactoryinfo@thesecurityfactory.be
  14. CERT-XMCO公司//法国巴黎(初级/实习生)recurtement@xmco.frhttps://www.xmco.fr/recountment公司/
  15. 福克斯IT//荷兰(初级简介)-vacatures@fox-it.com
  16. Madison Gurkha//荷兰(初级简介)
  17. Intrinsec//法国巴黎(初级和实习生,pentesting/SOC)以下为:https://www.intrinsec.com/fr/form/resignez-nous-securite-information.html 
  18. Kudelski Security//瑞士(初级/实习生)–@KudelskiSec
  19. MDSec//英国(初级/实习生)-https://www.mdsec.co.uk/
  20. 安永会计师事务所//比利时(初级配置文件)-http://www.ey.com/BE/en/Careers(英语)oana.butnariu@be.ey.com
  21. Dear字节//荷兰(初级/实习生)-personeelszaken@dearbytes.nl
  22. 十二秒//全欧洲(初级)
  23. 暴风盾//法国(初级)-https://www.stormshield.eu/stormshield/carrieres网站/
  24. NViso公司//比利时(初级配置文件)-https://nviso.be/hello/jobs(英文)
  25. 普华永道//比利时(初级简介)-http://careers.pwc.be网站
  26. Northwave//荷兰(初级配置文件)-https://www.northave.nl/jobs网站 
  27. Infoguard.ch//瑞士(infosec三年级学生(SOC操作员、安全分析师、安全工程师、Pentest))-https://infoguard.ch/de/home/–numberto.annino(位于)infoguard.ch
  28. www.scip.ch网站//瑞士(初级简介)-stfr(at)scip.ch
  29. SBA研究//奥地利(初级研究员)

美国

  1. Milton Security//美国(最近退伍军人的初级职位,实习)
  2. NCC集团//美国(初级职位)以下为:https://www.nccgroup.trust/us/about-us/careers/security-consulting-careers网站/careers-na@nccgroup.trust
  3. Attifyme(移动和物联网远程安全实习)
  4. SalesForce//美国(BS/MS学生暑期实习)以下为:http://salesforce.carermount.com/candidate/job_search/advanced/results/1?sort_dir=desc&industry=5571&sort_field=post_date
  5. iSIGHT Partners//美国(实习生)
  6. MWR Infosecurity(英国、南非、新加坡、阿联酋和美国(即将))——实习生//事业
  7. ISE(实习生)以下为:https://twitter.com/lisa_a_green网站
  8. LinkedIn实习
  9. YearUp公司
  10. NetSPI公司以下为:https://www.netspi.com/about/carers/featured-current-opennings(网址:https://http://www.netspi.com.cn)
  11. 脸书(实习)
  12. 脸书大学(FBU)
  13. 黑鸟科技:mkaplan@blackirdtech.com
  14. Veracode(入门级人员)
  15. 摩托罗拉解决方案(入门级SOC分析师/实习生)
  16. GuidePoint安全(初级/实习生)
  17. 福克斯主教(实习)
  18. 可租用(暑期实习生):http://www.tenable.com/careers网站
  19. 赛博点
  20. WhiteHat安全(初级/实习生)
  21. 根9B//美国(初级开发人员)–https://www.root9b.com/careers网站
  22. 森特里奥(初级/实习)
  23. 蓝色遮篷(初级配置文件)-http://www.bluecanopy.com/category/pages/careers

俄罗斯

  1. Sakurity网络//俄罗斯(青少年)以下为:http://sakurity.com/jobs

各种位置

  1. I活跃//不同地点(青少年/实习生)以下为:careers@ioactive.com
  2. MWRLabs//各个地点(初级/实习生)
  3. 谷歌//不同地点(青少年/实习生)

(看看推特帖子,可能还有其他一些公司还没有同意发布链接,或者只是不想让我在这里发布链接)。

警告:在过于兴奋并向上述所有人发送消息之前,请考虑一下。这些公司不会有无限的席位。他们也不期待处理数百万个应用程序。要有创意。你将如何确保你的个人资料得到应有的关注?你会给公司带来什么附加值?付出一些努力,确保你的信息在其他信息中脱颖而出。

此外,请记住,提供的服务可能会受到时间和人数的限制。另一方面,可能还有其他公司想让你休息一下。使用社交媒体,使用你的网络。不要放弃。

最后,不要联系我帮你找工作。我不是招聘人员,也不想成为中间人。我想鼓励公司大胆发言,也希望你们采取一些主动行动。你可以这样做。要聪明。

作为五分之一的人,你的生活中应该期待什么

嗯……我不知道,我不是一个五人组:)……但我不希望能在地下室躲上几年。根据您的地理位置和客户群,您可能最终不得不前往客户那里,召开会议(远程、现场),编写报告,将技术发现表述为可操作的信息,提交发现,与客户合作解决问题…

令人兴奋的未来!:)

重新编辑

Reddit有一些与infosec和招聘相关的线索:

奥特罗

我当然不是唯一一个想在infosec上分享求职观点的人。实际上,hacks4煎饼发表了一篇文章,几乎涉及同一主题(但可能呈现了不同/新的角度):http://tisiphone.net/2015/10/12/starting-an-infosec-career-the-megamix-chapters-1-3/去看看吧,我相信我们的帖子是相辅相成的。


© 2015 – 2021,彼得·范·埃克霍特(核心规划)。保留所有权利。

6对如何成为五分之一

科雷兰培训

自2011年以来,我们一直在各安全公司和私营公司及组织教授win32漏洞开发课程

查看我们的时间表页面在这里现在就报名参加我们的一门课!

捐赠

想支持Corelan Team社区吗?点击此处进入我们的捐款页面。

想将BTC捐赠给科雷兰团队吗?



你的捐款将有助于资助服务器托管。

Corelan团队商品

您可以通过捐赠或购买物品来支持Corelan团队Corelan Team官方商品店。

受Copyscape Web剽窃工具保护

Corelan on Slack公司

您可以在Slack工作区与我们和我们的朋友聊天:

  • 我们的facebook页面
  • 浏览帖子并找到Slack的邀请
  • 使用邀请访问我们的Slack工作区
  • 类别