随着国内外重大信息安全事故数量的急剧增长,安全在整个IT行业中的不断升温,国内外渗透测试从业者也不断的增多,但是安全体系庞大复杂,并非朝夕就能掌握相关的专业知识和技能。这里跟大家稍微聊聊渗透测试需要哪些准备。
安全狗高级渗透测试服务:http://www.safedog.cn/service.html
1、精通一个操作系统。我不想强调这个有多么重要。太多的人们都想成为一个黑客或者系统安全专家,但是事实上却没有对支持他们进行黑客攻击和安全防护的系统有较为深入的了解。但是如果你戴着一顶系统管理员的帽子的话,这是必定最基本的常识。作为一个黑客来说,就算你拿到了root权限,但是却不知道它有什么用就意味着什么事情都没有干。互优觉得如果你不知道你在系统中留下了那些蛛丝马迹,怎么能有办法将它们擦除掉呢?如果你对系统没有足够的了解,你怎么知道所有的事情是怎么被记入日志的?
2、良好的网络知识和协议知识。能够例举出OSI模型并能证明对网络和协议比较了解。你需要深入的理解TCP协议,并不只是知道它代表传输控制协议,你需要知道TCP包的结构和里面所装载的内容以及其工作的详细过程。另外,TCP和UDP的区别;了解路由,能够详细的描述一个包是怎样从一个地方发往另一个地方的;深入理解DNS,ARP是怎么工作的;了解DHCP,了解你终端是怎么动态获得IP地址的,想想当你插入网线的时候发生了什么?在你插入网线尝试获得一个动态分配的IP地址的时候,NIC 建立了什么类型的通路?是第二层?还是第三层?
3、如果你不理解上面第二点所说的话,你就不太可能理解ARP欺骗(ARP Spoof)和中间人攻击(MITM)是怎么实施的。简而言之,如果你不知道一个进程是怎么工作的你怎么知道攻击和操作这个进程,甚至更糟糕的是,你根本不知道有怎么一个进程存在着。这让我们不得不记住一点,通常你应该对事物是怎么工作的有足够的求知欲,每当我们看见一些很不错的东西的时候我都该在脑子中快速的转动,他是怎么工作的呢?
4、学习几种基本的脚本语言。从一些简单的开始,比如说:vbs或Bash。
5、了解一个基本的防火墙。学习怎么配置它来达到访问控制的目的,之后试着打败它。你可以找一个廉价的或者用过的路由器和防火墙做实验,去买一个或者向你的公司要一个旧的。从简单的配置访问控制表开始,学习怎么样通过简单的IP欺骗和其他基本的技术来扫描他们。你除了应用他们才能更深入的理解这些概念。一旦掌握了这些,你就可以转向PIX或ASA。
6、对取证有一定的了解。这会更好的掩盖你踪迹, 这对你的影响是显然的。
7、好好的学习一门编程语言。找出你想让它自动化完成的东西或者一些简单的你想创造的东西。比如端口扫描,你可以找一些类似的工具,看看它们的源代码,试着做出自己的端口扫描工具。
8、有一个明确的目标驱动自己去学习新的东西。这比其他所有的都重要,因为你要把自己的时间投入在上面并且随时都保持热情。
9、学习少量的数据库。学习数据库并了解它们是怎么工作的,下载各种数据库看看,查找资料并试着设计一个简单的数据库,不用成为数据库专家,了解基本知识将有很大的帮助。
10、保持与人分享交流的热情。最好是建立自己的博客记录下自己的学习过程。
渗透测试需要哪些准备,这里跟大家讲解一下渗透测试的流程,希望有所帮助。
明确目标 --> 信息搜集 --> 漏洞探测 --> 漏洞验证 --> 信息分析 --> 获取所需 --> 信息整理 --> 形成报告
1. 明确目标:
(1)确定范围: 测试目标的范围、IP、域名、内外网、测试账户
(2)确定规则:渗透的程度和时间、能否修改上传、提权等
(3)确定需求:Web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等
2. 信息收集:
(1)方式:主动扫描,开放搜索等。
(2)开放搜索:利用搜索引擎获得:后台、未授权页面、敏感url、等等。
(3)基础信息:IP、网段、域名、端口。
(4)应用信息:各端口的应用。例如web应用、邮件应用、等等。
(5)系统信息:操作系统版本
(6)版本信息:所有这些探测到的东西的版本。
(7)服务信息:中间件的各类信息,插件信息。
(8)人员信息:域名注册人员信息,web应用中发帖人的id,管理员姓名等。
(9)防护信息:试着看能否探测到防护设备。
3. 漏洞探测:
方法:
(1) 漏扫,awvs,IBM appscan等。
(2) 结合漏洞去exploit-db等位置找利用。
(3) 在网上寻找验证poc。
内容:
(1)系统漏洞:系统没有及时打补丁
(2)WebSever漏洞:WebSever配置问题
(3)Web应用漏洞:Web应用开发问题
(4)其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
(5)通信安全:明文传输,token在cookie中传送等。
4. 漏洞验证:
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍。结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
自动化验证:结合自动化扫描工具提供的结果
手工验证,根据公开资源进行验证
试验验证:自己搭建模拟环境进行验证
登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用:
exploit-db/wooyun/
google hacking
渗透代码网站
通用、缺省口令
厂商的漏洞警告等
5.信息分析:
为下一步实施渗透做准备
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
绕过防御机制:是否有防火墙等设备,如何绕过
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
6. 获取所需:
实施攻击:根据前几步的结果,进行攻击
获取内部信息:基础设施(网络连接,vpn,路由,拓扑等)
进一步渗透:内网入侵,敏感目标
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
清理痕迹:清理相关日志(访问,操作),上传文件等
7. 信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等
整理收集信息:整理渗透过程中收集到的一切信息
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
8. 形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
补充介绍:要对漏洞成因,验证过程和带来危害进行分析
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
关于渗透测试需要哪些准备就介绍到这里,如果您有需要做渗透测试,可以向安全狗咨询渗透测试服务,安全狗资深安全专家将通过模拟黑客攻击的方式,在没有网站代码和服务器权限的情况下,对企业的在线平台进行全方位渗透入侵测试,来评估企业业务平台和服务器系统的安全性。