渗透测试初学者指南_渗透测试怎么增加实战经验

hacker|
197

如何学习渗透测试?

首先要根据自己的实际情况、确定学习的路线和方向的。就像建大楼,从顶端最华丽的那个地方开始,不可能成功。学渗透测试也一样,没选对入手的地方,导致学习过程中由于欠缺很多的知识点、很多概念理解不了、学习举步维艰、很容易半途而废。

现在我来分析下:

渗透测试属于信息安全行业,准确的说是网络计算机/IT行业

知道它行业属性,你大概就能清楚需要些什么样的基础知识了;下面是我从非计算机网络相关专业的同学想要学习渗透测试必须掌握的知识。

1)了解基本的网络知识、什么是IP地址(63.62.61.123),这个IP去掉点是扣扣学习群,可以免费获取学习课程。IP地址的基本概念IP地址的基本概念、IP段划分、什么是A段、B段、C段等

广域网、局域网、相关概念和IP地址划分范围。

2)端口的基本概念?端口的分类?

3)域名的基本概念、什么是URL、了解TCP/IP协议、

5)了解开放式通信系统互联参考模型(OSI)

6)了解http(超文本传输协议)协议概念、工作原理

7)了解WEB的静态页面和WEB动态页面,B/S和C/S结构

8)了解常见的服务器、例如、Windows server2003、Linux、UNIX等

9)了解常见的数据库、MySQL、Mssql、、Access、Oracle、db2等

10)了解基本的网络架构、例如:Linux + Apache + MySQL + php

11)了解基本的Html语言,就是打开网页后,在查看源码里面的Html语言

12)了解一种基本的脚本语言、例如PHP或者asp,jsp,cgi等

然后你想学习入门,需要学习以下最基础的知识:

1、开始入门学习路线

1)深入学习一种数据库语言,建议从MySQL数据库或者SQL Server数据库、简单易学且学会了。

其他数据库都差不多会了。

2)开始学习网络安全漏洞知识、SQL注入、XSS跨站脚本漏洞、CSRF、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等

3)工具使用的学习、御剑、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等

2、Google hacker 语法学习

3、漏洞利用学习、SQL注入、XSS、上传、解析漏洞等

4、漏洞挖掘学习

5、想成为大牛的话、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基础的。

6、Linux系统命令学习、kali Linux 里面的工具学习、Metesploit学习

7、没事多逛逛安全论坛、看看技术大牛的文章、漏洞分析文章等

8、深入学习一门语言、Java或者Python等等,建议学习从Python开始学习、简单易学,容易上手。

9、提升自己的专业能力、把自己练成一个技术大牛、能给你带来一份稳定的高薪水工作,同时你还可利用自己的技术,额外的接些单子,做做副业,这个行业里是有很多单子可以接的。

10、当然想了解的可以来找我,我有时间会给你们答疑解惑的

如何提高渗透测试能力?

兄弟知道OSCP么?很牛逼的Kali渗透的认证,而且是绝对攻击型的,很多渗透大佬都考了。谷安天下就有针对OSCP的高阶渗透测试培训,内容是完全贴合OSCP的24个主题,学这些绝对是OK的,再来有知识点,有实操演示,有训练。即使不考证书,学这个也绝对有很大提高。感谢百度邀请

26岁,几乎零基础,想从基础学习渗透测试该如何进行?

我觉得不管要学什么,首先应该对自己先树立信心,坚信只要肯努力,没有什么事不行的。其次要考虑好,自己是否真的喜欢这个东西,这个也是遇到困难之后会坚持下去的前提,如果真的喜欢,应该从这方面开始了解。

首先要了解怎么开始学起的话最实用的还是要先看书了解一下相关知识。入门的话还是看metasploit魔鬼训练营和黑客攻防技术宝典web实战篇吧,这两个讲的比较简单明了。自己入门更多是看书,然后搭建环境测试学习,下载攻防环境测试,还有研究一些比较新的高危漏洞,平时多关注freebuf和乌云,当然也在学习python了。

在渗透测试学习过程中,你会遇到很多问题。所以当你明白问题症结所在的时候,要学会独立写poc。 如果你只单纯依赖互联网上的工具,就永远不会进步,永远学不会。有很多渗透工具,你需要开发自己的扩展,才能发挥自己的力量。

我觉得渗透对于经验丰富的黑客来说是可以完全不依赖任何工具的。只要了解到系统的弱点,开发工具只是能更快速,更简便的找到这些。基本功扎实才是硬道理。学习渗透测试,成为一个专业的黑客,这条道路很漫长。但是如果真的很喜欢,并且已经做好准备,才能找到方向去学习,我觉得趁着年轻,尽管去试试,黑客是个很酷的职业。

渗透测试学习些啥呀?

渗透测试需要的基础技能必须有网络基础、编程基础、数据库基础、操作系统等基本技能。学习的话可以从html、css、js、编程语言、协议包分析、网络互联原理、数据库语法等进入,学习了这些基础技能之后,就可以进行渗透测试的深入学习了,如web方面的学习OWASP TOP 10漏洞挖掘、主机系统服务漏洞检测、App漏洞检测、内网渗透等方面,最后当然是能够编写渗透测试报告啦。

几乎零基础,想从基础学习渗透测试该如何进行?

这个要根据个人的实际情况来决定的,比如你先要去了解什么是渗透测试:

1、渗透测试属于信息安全行业,准确的说是网络计算机/IT行业

2、现在你知道了它的行业属性,那么你是否具备一些这个行业的知识呢?

3、具备的话学习起来比较简单,直接去学习渗透测试实战就行,不具备接着往下看

4、现在知道它行业属性,你大概就能清楚需要些什么样的基础知识了;下面是我从非计算机网络相关专业的同学想要学习渗透测试必须掌握的知识。

5、前期入门大概需要掌握或者说了解以下知识点:

1)了解基本的网络知识,例如什么是IP地址(63.62.61.123)去掉点是扣扣学习群,IP地址的基本概念、IP段划分、什么是A段、B段、C段等2)广域网、局域网、相关概念和IP地址划分范围。

3)端口的基本概念?端口的分类?

4)域名的基本概念、什么是URL、了解TCP/IP协议、

5)了解开放式通信系统互联参考模型(OSI)

6)了解http(超文本传输协议)协议概念、工作原理

7)了解WEB的静态页面和WEB动态页面,B/S和C/S结构

8)了解常见的服务器、例如、Windows server2003、Linux、UNIX等

9)了解常见的数据库、MySQL、Mssql、、Access、Oracle、db2等

10)了解基本的网络架构、例如:Linux + Apache + MySQL + php

11)了解基本的Html语言,就是打开网页后,在查看源码里面的Html语言

12)了解一种基本的脚本语言、例如PHP或者asp,jsp,cgi等

然后你想学习入门,需要学习以下最基础的知识:

1、开始入门学习路线

1)深入学习一种数据库语言,建议从MySQL数据库或者SQL Server数据库、简单易学且学会了。

其他数据库都差不多会了。

2)开始学习网络安全漏洞知识、SQL注入、XSS跨站脚本漏洞、CSRF、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等

)工具使用的学习、御剑、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等

2、Google hacker 语法学习

3、漏洞利用学习、SQL注入、XSS、上传、解析漏洞等

4、漏洞挖掘学习

5、想成为大牛的话、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基础的。

6、Linux系统命令学习、kali Linux 里面的工具学习、Metesploit学习

7、没事多逛逛安全论坛、看看技术大牛的文章、漏洞分析文章等

渗透测试成功的关键是什么?

1.知道为什么要测试

执行渗透测试的目的是什么?是满足审计要求?是你需要知道某个新应用在现实世界中表现如何?你最近换了安全基础设施中某个重要组件而需要知道它是否有效?或者渗透测试根本就是作为你定期检查防御健康的一项例行公事?

当你清楚做测试的原因时,你也就知晓自己想从测试中得到什么了,而这可以让测试规划工作更有效率。知道做测试的缘由可以让人恰当地确立测试的范围,确定测试结果将会揭露什么问题。

或许这一步中最重要的一部分,是让团队提前架设好准备从测试结果中得出正确的结论的心理预期。如果测试是要审查IT基础设施的某个特定方面(比如说新的Web应用),那就没必要着墨于公司整体安全。理解做测试的缘由可以让你问出正确的问题,得到能被恰当理解的结果。

2.了解你的网络

漏洞是安全的重点。企业网络上线之日直至如今必然经历种种变迁,只要攻击者比企业自己的IT员工更清楚其中存在的漏洞,企业网络就对攻击者门户洞开。

绘制公司网络地图的责任不落在渗透测试团队身上。如果渗透测试团队在做这项工作,就意味着你有可能错过他们的测试结果,因为你收到的网络架构消息都能把渗透测试结果淹没。

一张更新的网络地图(包括逻辑方面和拓扑方面)应成为渗透测试的强制性前提条件。如果渗透测试员在告诉你你所不知道的网络架构情况,那你就是在为网络地图买单——很贵的那种。

3. 设置范围

红队探测范围有多广,很大程度上取决于你为什么要做这个测试,因为太广或太窄可能都无甚大用。

测试范围过窄的问题很明显:如果想要找出的问题在测试范围外,那就没有任何数据能帮助确定该组件的安全。所以,必须确保测试参数包含事关公司当前安全状态的重要组件。最重要的是,你得确定自己要测试的是整体安全状况还是某特定系统的安全状态,以及人为因素(对网络钓鱼和其他社会工程攻击的敏感性)需不需要被包含进去。

如果测试范围过宽,有可能出现两个问题。第一个问题是经济上的:测试费用会随范围的扩大而增加,而测试价格与所需信息不相匹配的状况又会影响到公司高层对未来测试的热情。

第二个问题就更为致命了。测试范围过大时,测试本身容易返回太多信息,真正所需的数据很容易被淹没在巨量的测试结果中。教训很清楚:想要测试架构中特定部分的安全,就将渗透测试的范围限定在那个部分上。对整个系统的测试可以留待下次进行。

4. 做好计划

弄清测试目的并确定出测试范围后,就可以开始制定测试计划了。定出详细明确的测试条件和需求最为重要,任何松散或须经解释的测试要求都会削减渗透测试的效率。需做好详尽计划的原因有很多,其中最主要的原因与成本控制和提升测试结果可用性有关。

良好的测试计划应分为多个部分。一个部分帮助委托公司巩固其测试方案的要求。一个部分确认测试返回数据的类型。还要有一部分内容为向公司执行委员会解释测试开销做准备。

测试计划不是制定好后就固定不变的,测试过程中可能需作出修订。测试团队被聘用后,他们可能会针对某些测试元素提出一些能产生更好结果的建议。其中关键就在于,公司内部就该测试计划达成一致后

,安全团队就能判断渗透测试员的建议是否能满足测试需求了,不用什么都依靠测试团队的力量。

5. 雇正确的团队

提供渗透测试服务的公司和顾问很多。这些公司都有各自的优势和弱点,他们的技术技巧各有千秋,呈现测试结果的方式也有好有坏。公司有必要确保所选测试团队的能力尽可能地符合测试需要。

要注意的是,测试需求应高于客户要求。确实,有些团队在导引征求建议书(RFP)过程或挤进获批供应商列表上颇有心得,但他们执行测试计划所需渗透测试动作的技术未必比得上这些在应付客户上的技巧。选择渗透测试团队时应将测试技术放在第一位,会计和行政管理方面的能力次之。

可以考察测试团队的老辣程度,看他们如何在不推翻原计划的条件下提出建议,改进客户的测试计划。这也是为什么前期要做好测试计划的一个重要原因。因为可以检查测试过程中的种种改动。

6. 不要干预

人都想得到别人的认同,这是人类天性。但渗透测试的目的就是要展现出公司企业安全状态的实际情况,所以,尽量别为了得到个看起来好看的结果而人为干扰渗透测试员,给防御方提供不公平的优势。

事实上,红队几乎总能某种程度上渗透进公司网络边界。我们当前的技术和操作就是这样的。很多情况下,真正的问题存在于蓝队到底什么时候才能发现已被攻破,会如何响应。

无论测试结果如何,都要让测试过程正常进行,以便结果真实、准确、有用。管理层的任何干预都会毁了渗透测试的有效性,请一定记得在测试完成前不要插手。

7. 注意结果

测试完成后,你会得到一份完整的报告,需仔细研读。渗透测试员应向你呈现出测试的结果,如果你有机会根据测试结果改进安全系统,别放过这种机会。

或许渗透测试是为了满足监管合规要求而做的。也有可能你就没想找任何理由来改变你的安全防御。这都没关系。你的安全防御如今已遭遇过敌军主力,而你可以看清安全计划的成功之处与失败的地方。

如果测试结果被用于做出有意义的改变,渗透测试就是划算的。而划算的渗透测试也更有可能在未来获得公司高层的安全预算。

8. 沟通结果

对大多数公司来说,渗透测试的结果不局限在安全团队范围内。至少,对整个IT部门都有影响,而很多情况下还有高管们需要看到的信息。

很多安全人员都觉得,向非安全专业的经理传达渗透测试结果是过程中最难的部分。不仅需要说明都做了什么,为什么要这么做,还要用他们能听懂的语言解释需要作出什么改动。这往往意味着要用商业术语沟通,而不是以技术语言阐述。

正如渗透测试可被视为真实攻击的预演,将其他部门的同事纳入结果阐述和操作展示的受众范围,也有助于确保被接收的信息确实是你想要传达的。

对很多业务经理而言,网络安全是个令人望而生畏的高难度领域;尽量别用过多的行话让业务经理们在座位上一头雾水坐卧不宁。

今日福利

【Java11期开课啦】

8大实战案例模块,历时三年沉淀,Java4.0震撼发布!

偷偷告诉你前50名,还可获得价值300元的京东购物卡呦~

如有疑问,请留言告知,或者咨询柠檬班 软件测试培训 机构:官网客服哦

留言领取100G软件测试全面课程视频。

0条大神的评论

发表评论