作者:hacker发布时间:2022-07-14分类:入侵后台浏览:96评论:5
要做网站渗透测试,首先我们要明白以下几点:
1、什么叫渗透测试?
渗透测试最简单直接的解释就是:完全站在攻击者角度对目标系统进行的安全性测试过程。
2、进行渗透测试的目的?
了解当前系统的安全性、了解攻击者可能利用的途径。它能够让管理人员非常直观的了解当前系统所面临的问题。
3、渗透测试是否等同于风险评估?
不是,你可以暂时理解成渗透测试属于风险评估的一部分。事实上,风险评估远比渗透测试复杂的多,它除渗透测试外还要加上资产识别,风险分析,除此之外,也还包括了人工审查以及后期的优化部分。
4、渗透测试是否就是黑盒测试?
否,很多技术人员对这个问题都存在这个错误的理解。渗透测试不只是要模拟外部黑客的入侵,同时,防止内部人员的有意识(无意识)攻击也是很有必要的。
5、渗透测试涉及哪些内容?
技术层面主要包括网络设备,主机,数据库,应用系统。另外可以考虑加入社会工程学(入侵的艺术/THE ART OF INTRUSION)。
6、渗透测试有哪些不足之处?
主要是投入高,风险高。而且必须是专业的网络安全团队(或公司,像网堤安全)才能相信输出的最终结果。
看完以上内容,相信大家已经明白渗透测试是不能光靠工具的,还要有专业的人员才行。推荐还是选择专攻网络安全这一块的公司或团队进行。
我觉得不管要学什么,首先应该对自己先树立信心,坚信只要肯努力,没有什么事不行的。其次要考虑好,自己是否真的喜欢这个东西,这个也是遇到困难之后会坚持下去的前提,如果真的喜欢,应该从这方面开始了解。
首先要了解怎么开始学起的话最实用的还是要先看书了解一下相关知识。入门的话还是看metasploit魔鬼训练营和黑客攻防技术宝典web实战篇吧,这两个讲的比较简单明了。自己入门更多是看书,然后搭建环境测试学习,下载攻防环境测试,还有研究一些比较新的高危漏洞,平时多关注freebuf和乌云,当然也在学习python了。
在渗透测试学习过程中,你会遇到很多问题。所以当你明白问题症结所在的时候,要学会独立写poc。 如果你只单纯依赖互联网上的工具,就永远不会进步,永远学不会。有很多渗透工具,你需要开发自己的扩展,才能发挥自己的力量。
我觉得渗透对于经验丰富的黑客来说是可以完全不依赖任何工具的。只要了解到系统的弱点,开发工具只是能更快速,更简便的找到这些。基本功扎实才是硬道理。学习渗透测试,成为一个专业的黑客,这条道路很漫长。但是如果真的很喜欢,并且已经做好准备,才能找到方向去学习,我觉得趁着年轻,尽管去试试,黑客是个很酷的职业。
第一类:网络渗透测试工具
网络渗透测试工具是一种可以测试连接到网络的主机/系统的工具。通用的网络渗透测试工具有ciscoAttacks、Fast-Track、Metasploit、SAPExploitation等,这些工具各有各的特点和优势。因为网络渗透测试是一个相对广泛的概念,所以上述工具也可以包括社会工程学渗透测试模块,网络渗透测试模块和无线渗透测试模块。
第二类:社会工程学渗透测试工具
社会工程学渗透测试是利用社会工程学进行渗透测试,通常利用人们行为中的弱点来达到渗透的目的。典型的社会工程学渗透测试工具有BeefXSS和HoneyPots,这些工具诱使用户访问特定的网站,获得用户的Cookie信息,达到渗透的目的。
第三类:网站渗透测试工具
网站渗透测试是对Web应用程序和相应的设备配置进行渗透测试。在进行网站渗透测试时,安全工程序必须采用非破坏性的方法来发现目标系统中的潜在漏洞。常用的网络渗透测试工具有asp-auditor、darkmysql、fimap、xsser等。
第四类:无线渗透测试工具
无线渗透测试工具是蓝牙网络和无线局域网的渗透测试。在进行无线渗透测试时,一般需要先破解目标网络的密码,或者建立虚假热点来吸引目标用户访问,然后通过其他方式控制目标系统。常见的蓝牙网络渗透测试工具有atshell、btftp、bluediving、bluemaho等;常见的无线局域网渗透测试工具有aircack-ng、airmon-ng、pcapgetiv和weakivgeng等,这些工具实现了不同的功能,可以让安全工程师通过各种方式进行无线渗透测试。
什么是渗透测试?
渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。
如何进行Web渗透测试?
完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。
1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;
系统分析威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;
制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;
测试执行漏洞挖掘:测试用例执行发散测试,挖掘对应的安全问题or漏洞;
问题修复回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;
项目总结评审:项目过程总结,输出文档评审,相关文档归档。
2、Web应用的渗透测试流程
主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:
一、信息收集
在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等
脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等
测试方法:
1 爬取网站所有链接,查看后缀
2 直接访问一个不存在页面后面加不同的后缀测试
3 查看robots.txt,查看后缀
服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等
测试方法:
1 查看header,判断服务器类型
2 根据报错信息判断
3 根据默认页面判断
目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。
测试方法
1 使用字典枚举目录
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
数据库类型:对于不同的数据库有不同的测试方法。
测试方法
1 使应用程序报错,查看报错信息
2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)
所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。
测试方法
1 使用字典枚举页面
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
二、漏洞发现
在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。
关于开源软件的漏洞发现
开源的软件:常见的开源软件有wordpress、phpbb、dedecms等
开源的框架:常见的开源框架有Struts2、 Spring MVC、ThinkPHP等
中间件服务器:常见的中间件服务器有jboss、tomcat、Weblogic等
数据库服务:常见的数据库服务mssql、mysql、oracle、redis、sybase、MongoDB、DB2等
对于开源软件的测试方法
1 通过指纹识别软件判断开源软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试
2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作
3 使用开源的漏洞发现工具对其进行漏洞扫描,如:WPScan
关于自主开发的应用
手动测试:这个阶段,我们需要手工测试所有与用户交互的功能,比如:留言、登入、下单、退出、退货、付款等操作
软件扫描:使用免费的软件扫描,如:appscan、wvs、netsparker,burp等
可能存在的漏洞
Owasp关键点
代码安全之上传文件
代码安全之文件包含
代码安全之SSRF
逻辑漏洞之密码重置
逻辑漏洞之支付漏洞
逻辑漏洞之越权访问
平台安全之中间件安全
三、漏洞利用
针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试
手工测试
手工测试是通过客户端或服务器访问目标服务,手工向目标程序发送特殊的数据,包括有效的和无效的输入,观察目标的状态、对各种输入的反应,根据结果来发现问题的漏洞检测技术。手工测试不需要额外的辅助工具,可由测试者独立完成,实现起来比较简单。但这种方法高度依赖于测试者,需要测试者对目标比较了解。手工测试可用于Web应用程序、浏览器及其他需要用户交互的程序。
这种方式对于有特殊过滤等操作,或者网络上没有成型的利用工具的时候可以使用。
工具测试
网络上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。
通常的黑客攻击包括预攻击、攻击和后攻击三个阶段;预攻击阶段主要指一些信息收集和漏洞扫描的过程;攻击过程主要是利用第一阶段发现的漏洞或弱口令等脆弱性进行入侵;后攻击是指在获得攻击目标的一定权限后,对权限的提升、后面安装和痕迹清除等后续工作。与黑客的攻击相比,渗透测试仅仅进行预攻击阶段的工作,并不对系统本身造成危害,即仅仅通过一些信息搜集手段来探查系统的弱口令、漏洞等脆弱性信息。为了进行渗透测试,通常需要一些专业工具进行信息收集。渗透测试工具种类繁多,涉及广泛,按照功能和攻击目标分为网络扫描工具、通用漏洞检测、应用漏洞检测三类。
有些渗透测试人员通过使用两套扫描器进行安全评估。这些工具至少能够使整个过程实现部分自动化,这样,技术娴熟的专业人员就可以专注于所发现的问题。如果探查得更深入,则需要连接到任何可疑服务,某些情况下,还要利用漏洞。
商用漏洞扫描工具在实际应用中存在一个重要的问题:如果它所做的测试未能获得肯定答案,许多产品往往会隐藏测试结果。譬如,有一款知名扫描器就存在这样的缺点:要是它无法进入Cisco路由器,或者无法用SNMP获得其软件版本号,它就不会做出这样的警告:该路由器容易受到某些拒绝服务(DoS)攻击。如果不知道扫描器隐藏了某些信息(譬如它无法对某种漏洞进行测试),你可能误以为网络是安全的,而实际上,网络的安全状况可能是危险的。
除了找到合适工具以及具备资质的组织进行渗透测试外,还应该准确确定测试范围。攻击者会借助社会工程学、偷窃、贿赂或者破门而入等手法,获得有关信息。真正的攻击者是不会仅仅满足于攻击某个企业网络的。通过该网络再攻击其它公司往往是黑客的惯用伎俩。攻击者甚至会通过这种方法进入企业的ISP。
标签:渗透测试能不用工具吗
已有5位网友发表了看法:
访客 评论于 2022-07-15 04:17:25 回复
mysql、fimap、xsser等。第四类:无线渗透测试工具无线渗透测试工具是蓝牙网络和无线局域网的渗透测试。在进行无线渗透测试时,一般需要先破解目标网络的密码,或者建立虚假热点来吸引目标用户访问,然后通过其他方式控制目标系统。常见的蓝牙网络渗透测试工具有atshel
访客 评论于 2022-07-14 23:34:37 回复
块的公司或团队进行。26岁,几乎零基础,想从基础学习渗透测试该如何进行?我觉得不管要学什么,首先应该对自己先树立信心,坚信只要肯努力,没有什么事不行的。其次要考虑好,自己是否真的喜欢这个东西,这个也是遇到困难之后会
访客 评论于 2022-07-15 01:16:00 回复
软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作
访客 评论于 2022-07-15 01:01:26 回复
字典枚举目录2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取3 查看robots.txt是否泄漏使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。测试方法指纹识别(网络上有很多开源的指纹识别工具)数据库类型:对于不同的数据库有
访客 评论于 2022-07-15 06:15:54 回复
类:社会工程学渗透测试工具社会工程学渗透测试是利用社会工程学进行渗透测试,通常利用人们行为中的弱点来达到渗透的目的。典型的社会工程学渗透测试工具有BeefXSS和HoneyPots,这些工具诱使用户访问特定的网站,获得用户的Cookie信息,达到渗透的目的。第三类:网站渗透测