渗透测试的步骤有哪些
渗透测试步骤
明确目标
· 确定范围:测试目标的范围,ip,域名,内外网。
· 确定规则:能渗透到什么程度,时间?能否修改上传?能否提权等。
· 确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等等。
信息收集
方式:主动扫描,开放搜索等。
开放搜索:利用搜索引擎获得,后台,未授权页面,敏感url等。
漏洞探索
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
1.漏扫,awvs,IBM appscan等。
2.结合漏洞去exploit-db等位置找利用。
3.在网上寻找验证poc。
内容:
系统漏洞:系统没有及时打补丁
Websever漏洞:Websever配置问题
Web应用漏洞:Web应用开发问题
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
通信安全:明文传输,token在cookie中传送等。
漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍,结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
自动化验证:结合自动化扫描工具提供的结果
手工验证,根据公开资源进行验证
试验验证:自己搭建模拟环境进行验证
登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
信息分析
为下一步实施渗透做准备:
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
绕过防御机制:是否有防火墙等设备,如何绕过
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
获取所需
实施攻击:根据前几步的结果,进行攻击
获取内部信息:基础设施
进一步渗透:内网入侵,敏感目标
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
清理痕迹:清理相关日志,上传文件等
信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等
整理收集信息:整理渗透过程中收集到的一切信息
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
补充介绍:要对漏洞成因,验证过程和带来危害进行分析
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
刚学完java拿到一个安全方面的渗透测试的offer要不要干呢?感觉不如开发好呀
渗透测试跟一般的测试不是同一个概念。
渗透测试的流程
项目接手;
信息收集:whois、网站源IP、旁站、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙、维护者信息;
漏洞扫描:使用Nessus, AWVS等工具;
手动挖掘:逻辑漏洞;
验证漏洞;
提交修复建议;
输出报告:信息安全风险综合分析,包括整体风险分析,风险影响分析,系统安全分析,安全漏洞列表;
解决方案建议;
复测报告。
是向着网络安全工程师的方向发展的。
一个完整挖洞/src漏洞实战流程【渗透测试】
只要搞渗透,不就会听到很多行业内人前辈一直在重复:“信息搜集” 信息搜集有多重要,你搜集的到的多少资产信息,决定了你后续进行的一系列实战到什么程度!
要说SQL注入的漏洞咋找,逻辑漏洞咋找,支付漏洞咋找,越权漏洞咋找,等等
实这都一个道理,用谷歌语法,找通杀用fofa,这里演示几个类型的漏洞,其它的也是一个道理。
第一个: SQL注入漏洞
AS:首先是SQL注入的,这个漏洞说实话,基本就是谷歌语法找的快,
语法: inurl:asp?id=23公司,这时候你会问:不是inurl:asp?id= 就行了吗,当然!
这可以!如果你想找到一些奇奇怪怪的站可以用这个,比如:
这时候明白接公司的重要性了吧,这里找的是asp的站,为啥找asp的站?
其中一一个最重要的原因就是因为他,好挖!
当然这里只是找了一小部分站点的, 如果突然发现重复了咋办?
这个简单,换个id就行了同学!
inurl:asp?id-34公司,这里的id 值不断的变变变就行了,你们也可以对比一下
这是不是就不一样了,当然如果有兴趣的话,也可以搜搜inurl :php?id=12公司
这也是可以找到很多站的,不过加WAF的几率很大
我找了10个9个都加过,所以说要想上分上的快,asp 的站绝对不能落下!
这里我就不多叙述,因为这站好找,真的特别好找,但是要想能弱密码进去的却很少
直接上镜像站一放inurl:什么牛鬼蛇神都出来了,这后台管理的站可以说是非常多了
当然如果不想找到国外其它奇奇怪怪的站点的话,建议加个关键词公司
可以看到这里一堆后台,当然要渗透这些后台弱密码很少能进去了
你看到我打inur1: 它自动给我补齐关键词了吗,说明这玩意很多人挖
一般搞后台,先信息收集,这个等会说,反正我是没搞到过几个
这种漏洞咋找?商城,积分商城。
试试谷歌语法: info:商城AND积分商城
这不全是商城吗,当然对于一些大厂, 建议不要去搞
因为防护也会比一般的站点比较严格,况且现在做在线网上商城的站点也很少了
其实可以在漏洞挖掘的时候注意一下站点是否有paypal这个功能,有的话,可以搞一搞的,这还是有搞头的
再来就是逻辑漏洞,比如说平行,垂直越权,任意密码重置啊什么的。这类漏洞还是很多的,大家也可以去慢慢测的!
最后一个,通杀的漏洞咋找?
这时候就是要靠我们万能的fofaQ了,首先我们要知道有哪些cms有漏洞
这里大家可以去找网上的漏洞库,里面- -般都会有漏洞合集和这里我稍后会给大家推荐一两个
看到没有,就是这么多cms,杀一个准,上分必备漏洞
不过有些重复提交了,可以给你们看看学员们的战果!
当然,重复了几个,但还是相当不错了。
看完开头,相信你已经知道怎么找漏洞了,那我们就说说漏洞如何挖掘,这里分事件型和通用型漏洞
首先来的,肯定是我们的sq1注入了,首先使用我们的通用语法inurl:asp?id=xx 公司
直接点进去,不要害怕,只要不违法,咱不干坏事就行
看到报错了,说明啥,说明可能存在注入啊朋友,直接and 1=1 |and 1=2插进去
经过一番寻找,我们来到了这个网站:
看到网站直接插单引号,看他报不报错
看到效果十分明显,这种情况直接丢sqlmap9 ,反正我是丢的sqlmap , 大家如果时间充足的话可以上手
下一个站,这个站存在的漏洞是任意密码重置和CSRF漏洞
首先是CSRF漏洞,相信不用我说你们也应该会了,这里就是这点出现漏洞
你们可以自己去测测,这里说我主要说的是任意密码重置漏洞
(这个漏洞现在也已经被修复了)
在这一步的时候, 抓个包
这里再改成自己的邮箱,这样自己的邮箱就能接收到验证链接,直接点击就好
看到这里,支付漏洞 和验证码绕过之类的逻辑漏洞是不是感觉+分的好挖,有没有这种感觉!
这里类型比较多,篇幅太长不好阅读。举例这两种做参考~
三、提交报告
例如baidu.com发现了SQL注入
第一步:“标题”和“厂商信息”和“所属域名”
站长工具icp.chinaz.com/baidu.co...
查询域名备案信息,看到这个公司名了吗
这样写
漏洞类别啥的,如果不是0day的话,像图中一样就行了
所属域名要写该公司的“网站首页”或者“官网”
看到这个了吗
漏洞类型: -般都是Web漏洞,然后漏洞是什么写什么,这里是一个SQL注入。
漏洞等级: SQL注入-般都是高危,但如果厂商比较小的话,会降级,降成中危。
漏洞简述:描述一下SQL注入是什么、 有什么危害之类的。
漏洞url:出现漏洞的URL。
影响参数:哪个参数可以注入就写哪个
漏洞POC请求包: Burp抓个包复制粘贴。
如果你嫌每次打字麻烦,可以新建一个记事本, 把框架写好,提交的时候替换一些内容就可以了。
把标题、漏洞简述、复现步骤、修复方案,把标题、漏洞简述、复现步骤、修复方案,可以省不少时间!
今天的内容虽然偏长,但是都是干货呀!从找漏洞到提交直接一步到位! 安排的明明白白!
注:任何未经授权的渗透都是违法行为,咱们挖SRC,担心会违法,记住一点, 点到为止,不要动里面的数据,发现漏洞之后,尽快提交漏洞,联系厂商进行修复。
如何进行Web渗透测试
什么是渗透测试?
渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。
如何进行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等。
网络安全学习什么内容?
一些典型的网络安全问题,可以来梳理一下:
IP安全:主要的攻击方式有被动攻击的网络窃听,主动攻击的IP欺骗(报文伪造、篡改)和路由攻击(中间人攻击);
2. DNS安全:这个大家应该比较熟悉,修改DNS的映射表,误导用户的访问流量;
3. DoS攻击:单一攻击源发起的拒绝服务攻击,主要是占用网络资源,强迫目标崩溃,现在更为流行的其实是DDoS,多个攻击源发起的分布式拒绝攻击;
《计算机基础》、《计算机组成原理》、《计算机网络》 是三本关于计算机基础的书籍,强烈推荐给你,看完之后可以对计算机的东西有个初步的了解。
拓展资料:
1、上网前可以做那些事情来确保上网安全?
首先,你需要安装个人防火墙,利用隐私控制特性,你可以选择哪些信息需要保密,而不会不慎把这些信息发送到不安全的网站。这样,还可以防止网站服务器在你不察觉的情况下跟踪你的电子邮件地址和其他个人信息。其次,请及时安装系统和其它软件的补丁和更新。基本上越早更新,风险越小。防火墙的数据也要记得及时更新。
2、如何防止黑客攻击?
首先,使用个人防火墙防病毒程序以防黑客攻击和检查黑客程序(一个连接外部服务器并将你的信息传递出去的软件)。个人防火墙能够保护你的计算机和个人数据免受黑客入侵,防止应用程序自动连接到网站并向网站发送信息。
其次,在不需要文件和打32313133353236313431303231363533e59b9ee7ad9431333365663538印共享时,关闭这些功能。文件和打印共享有时是非常有用的功能,但是这个特性也会将你的计算机暴露给寻找安全漏洞的黑客。一旦进入你的计算机,黑客就能够窃取你的个人信息。
3、如何防止电脑中毒?
首先,不要打开来自陌生人的电子邮件附件或打开及时通讯软件传来的文件。这些文件可能包含一个特洛伊木马程序,该程序使得黑客能够访问你的文档,甚至控制你的外设,你还应当安装一个防病毒程序保护你免受病毒、特洛伊木马程序和蠕虫侵害。
4、浏览网页时时如何确保信息安全?
采用匿名方式浏览,你在登录网站时会产生一种叫cookie(即临时文件,可以保存你浏览网页的痕迹)的信息存储器,许多网站会利用cookie跟踪你在互联网上的活动。
你可以在使用浏览器的时候在参数选项中选择关闭计算机接收cookie的选项。(打开 IE浏览器,点击 “工具”—“Internet选项”, 在打开的选项中,选择“隐私”,保持“Cookies”该复选框为未选中状态,点击按钮"确定")
5、网上购物时如何确保你的信息安全?
网上购物时,确定你采用的是安全的连接方式。你可以通过查看浏览器窗口角上的闭锁图标是否关闭来确定一个连接是否安全。在进行任何的交易或发送信息之前阅读网站的隐私保护政策。因为有些网站会将你的个人信息出售给第三方。在线时不要向任何人透露个人信息和密码。
0条大神的评论