网安视频学习

渗透测试方法论

渗透测试(penet rationtesting , pentest)是实施安全评估(即审计)的具体手段。方法论是在制定、实施信息安全审计方案时,需要遵循的规则、惯例和过程。人们在评估网络、应用、系统或三者组合的安全状况时,不断摸索各种务实的理念和成熟的做法,并总结了一套理论一渗 透测试方法论。

 渗透测试种类

1.黑盒测试

在进行黑盒测试时,安全审计员在不清楚被测单位的内部4技术构造的情况下,从外部评估网络基础设施的安全性。在渗透测试的各个阶段,黑盒测试借助真实世界的黑客技术,暴露出目标的安全问题,甚至可以揭露尚未被他人利用的安全弱点。

 渗透测试人员应能理解安全弱点,将之分类并按照风险等级(高、中、低)对其排序。通常来说,风险级别取决于相关弱点可能形成危害的大小。老练的渗透测试专家应能够确定可引发安全事故的所有攻击模式。当测试人员完成黑盒测试的所有测试工作之后,他们会把与测试对象安全状况有关的必要信息进行整理,并使用业务的语言描述这些被识别出来的风险,继而将之汇总为书面报告。黑盒测试的市场报价通常会高于白盒测试。

 2.白盒测试

白盒测试的审计员可以获取被测单位的各种内部资料甚至不公开资料,所以渗透测试人员的视野更为开阔。若以白盒测试的方法评估安全漏洞,测试人员可以以最小的工作量达到最高的评估精确度。白盒测试从被测系统环境自身出发,全面消除内部安全问题。从而增加了从单位外部渗透系统的难度。黑盒测试起不到这样的作用。白盒测试所需要的步骤数目与黑盒测试不相上下。另外,若能将白盒测试与常规的研发生命周期相结合,就可以在入侵者发现甚至利用安全弱点之前,尽可能最早地消除全部安全隐患这使得白盒测试的时间、成本,以及发现、解决安全弱.点的技术门槛都全面低于黑盒测试。

  脆弱性评估与渗透测试

脆弱性评估通过分析企业资产面临安全威胁的情况和程度,评估内部和外部的的安全控制的安全性。这种技术上的信息系统评估,不仅揭露现有防范措施里存在的风险,而且要提出多重备选的补救策略,并将这些策略进行比较。内部的脆弱性评估可保证内部系统的安全性,而外部的脆弱性评估则是验证边界防护(per imeter defenses)的有效性。无论进行内部脆弱性评估还是进行外部脆弱性评估,评估人员都会采用各种攻击模式来严格测试网络资产的安全性,从而验证信息系统处理安全威胁的能力,进而确定应对措施的有效性。不同类型的脆弱性评估需要的测试流程、测试工具和自动化测试技术也不相同。这可以通过一-体化的安全弱点管控(vulnerabilitymanagement)平台来实现。现在的安全弱点管理平台带有可自动更新的漏洞数据库,能够测试不同类型的网络设备,而且不会影响配置管理和变更管理的完整性。

 脆弱性评估与渗透测试的区别

脆弱性评估和渗透测试两者最大的区别就是:渗透测试不仅要识别目标的弱点,它还设计在目标系统上进行漏洞利用、权限提升和访问维护。换句话说,脆弱性评估虽然可以充分发现系统里的缺陷,但是不会考虑去衡量这些缺陷对系统造成的危害。另外,相比脆弱性评估,渗透测试更倾向于入侵,会刻意使用各种技术手段利用安全漏洞;所以渗透测试可能对生产环境带来实际的破坏性影响。而脆弱性评估以非入侵的方式,定性、定量得识别已知安金弱点

安全 测试方法论

OWASP(Open Web Application Security Project)即开放式Web应用程序安全项目

 

 通用缺陷列表(Common Weakness Enumeration,CWE)

CWE-79:XSS漏洞

CWE-89:SQLi

通用漏洞与披露(Common Vulnerabilities and Exposures,CVE)

~MS17-010

一个安全公告就是一个漏洞

KB开头

~S2-053

struct2

APACHE开源开发java的框架

*其他方法论

 OpenVAS的安装

是开源的网络漏洞扫描器。自从Nessus收费之后,分支出来的项目

【http://www.openvas.org】

web端管理接口

4.9之后支持中文

OpenVAS安装

镜像

 渗透测试流程PTES

 PTES的主要特性和优势如下
它是非常全面的渗透测试框架,涵盖了渗透测试的技术方面和其他重要方面,如范围蔓延(scope creep) 、报告,以及渗透测试人员保护自身的方法。
2.它介绍了多数测试任务的具体方法,可指导您准确测试目标系统的安全状态。
3.它汇聚了多名日行一“渗"的渗透测试专家的丰富经验。
4.它包含了最常用的以及很罕见的相关技术。
5.它浅显易懂,您可根据测试工作的需要对相应测试步骤进行调整

 通用渗透测试框架

从技术管理的角度来看,遵循正规的测试框架对安全测试极为重要。通用渗透测试框架涵盖了典型的审计测试工作和渗透测试工作会涉及到的各个阶段。
相关阶段如下。
1.范围界定
2.信息搜集
3.目标识别
4.服务枚举
5.漏洞映射
6.社会工程学
7.漏洞利用
8.权限提升
9.访问维护
0.文档报告

 无论是进行白盒测试还是黑盒测试,选择和使用测试步骤都是测试人员的责任。在测试开始前,测试人员需要根据目标系统的实际环境和已掌握的相关目标系统的情况,在指定最佳的测试策略。

 1范围界定

在开始技术性安全评估之间,务必要观察、研究目标环境的被测范围。同时还要了解,这个范围牵扯多少个单位,是单个单位还是多个单位会参与到安全评估的工作中来,在范围界定阶段,需要考虑的典型因素如下。
1.测试对象是什么?
2.应当采取何种测试方法?
3.有哪些在测试过程中需要满足的条件?
4.哪些因素可能会限制测试执行的过程?
5.需要多久才能完成测试
6.此次测试应当达成什么样的任务目标?

 2.信息搜集

在划定了测试范围之后,就需要进入信息收集阶段。在这个阶段,渗透人员需要使用各种公开资源尽可能地获取测试目标的相关信息。他们从互联网上搜集信息的互联网渠道主要有:
论坛|公告板|新闻组|媒体文章博客|社交网络|其他商业或非商业性的网站
此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。 收集的信息主要包括DNS服务器、路由关系、whois  数据库、电子邮件地址、电话号码、个人信息以及用户账户。收集的信息越多,成功率越高

 3.目标识别----知道被测单位有哪些联网设备,这些设备如何进行通信

这个阶段的主要任务是识别目标的网络状态、操作系统和网络架构。该阶段工作旨在完整地展现目标网络里各种联网设备或技术的完整关系,以帮助测试人员在接下来的工作里枚举目标网络的各种服务。

 目前设备大部分使用的是TCP/IP协议

目标里有多少主机在线,这些主机的IP地址,网络架构是什么样的,网络节点

4.服务枚举----端口扫描,开发了什么端口,端口运行什么服务,这些服务有什么问题

这一阶段会根据前面各个阶段的成果,进一 步找出目标系统中所有开放的端口。-旦找到了所有开放的端口,就可以通过这些端口来列出目标系统上运行的服务主机上开放的端口都有相应的服务程序,对这些信息进行深度分析之后,可进一步发掘目标网络基础设施中可能存在的漏洞。

5.漏洞映射---漏洞扫描 

以根据已经发现的开放端口和服务程序,查找、分析目标系统中存在的漏洞。如果能够采用自动和手动这两种不同的测试方法结合起来,审计人员对目标系统的认知就会更为清晰、透彻,并能够仔细地检查任何已知和汞知的漏洞

 6.社会工程学

如果目标网络没有直接的入口,欺骗的艺术将起到抛砖引玉的重要作用。对目标组织中的人员进行定向攻击,很有可能帮助我们找到渗透目标系统的入口。例如,诱使用户运行安装后门的恶意程序,就可能为审计人员的渗透工作形成突破。社会工程学渗透分为多种不同实现形式。伪装成网络管理员,通过电话要求用户提供自己的账户信息;发送钓鱼邮件来劫持用户的银行账户;甚至诱使某人出现在1口个地点一 这些都属于社会工程学攻击。在社会工程学中,达成同一既定目标的实现方式应有尽有。需要注意的是,在对目标实施欺骗以达成渗透目标之前,多数1 6况下需要长时间研究目标人员的心理。另外,在开展这个阶段的工作之前,您需要实现研究过内的法律是否有关于社会工程学的相关条款。

 7.漏洞利用--在发现漏洞之后进行深度利用

在仔细检查和发现目标系统中的漏洞之后,就可以使用已有的漏洞利用程序对目标系统进行渗透。审计人员可以把客户端漏洞利用程序和社会工程学进行结合,进而控制目标系统。这个阶段的主要任务是控制目标系统。这个流程可以分为三步,涉及攻击前、攻击、攻击后的相关行动。

 8.权限提升

获取目标系统的控制权是渗透成功的标识

提升权限的最大目的是获得目标系统的最高访问权限

获取目标系统的控制权是渗透成功的标识。接下来,审计人员就可以根据其所拥有的访问权限,在被测系统中自由发挥。审计人员也可以使用适用于目标系统的本地漏洞来提升自己的权限。只要他们能偶在目标系统上运行提权漏洞利用程序,就可以获得主机的超级用户权限或者系统级权限。审计人员还可以以该主机为跳板,进一步攻击局域网络。根据之前渗透范围的界定,审计人员接下来会开展的攻击可能是受限制的,也可能是不受限制。然后,他们很有肯呢个以各种方式获得与控制系统有关的更多信息。具体的说,他们可能是用嗅探手段截获网络数据包,破解各种服务的密码,在局域网络中使用网络欺骗手段。所以说,提升权限的最目的是获得目标系统的最高访问权限。

 9.访问维护---安装后门,通信隧道

多数情况下,审计人员需要在- -段时间内维护他们对目标系统的访问权限。例如,在演示越权访问目标系统的时候,安装后门将节省重新渗透目标系统所耗费的大量时间。这种情况下,访问维护将节约获取目标系统访问权限所需要的时间、花费和资源。审计人员可以通过一些秘密的通信隧道,在既定时间内维持对目标的访问权限。这些隧道往往基于特定协议、代理或者点对点方法的后门程序。这种对系统的访问方法可以清楚地展示,入侵人员在目标系统实施攻击时隐藏行踪的具体方法。

 10.文档报告

在渗透测试的最后一个环节里,审计人员要记录、报告并现场演示那些已经识别、验证和利用了的安全漏洞。在被测单位的管理和技术团队会检查渗透时使用的方法,并会根据这些文档修补所有存在的安全漏洞。所以从道德角度来看,文档报告的工作十分重要。并为了帮助管理人员和技术人员共同理解、分析当前IT基础架构中的薄弱环节,可能需要给不同的部]撰写不同措辞的书面报告。此外,这些报告还可以用来获取和比渗透测试前后系统目标的完整性

 简化渗透测试流程

简化的渗透测试流程是在进行渗透测试过程中经常使用的流程,具体如下。

@明确目标---确定范围|确定规则|确定需求
@信息收集---基础信息|系统信息|应用信息人员信息|防护信息
@漏洞探测---系统漏洞|Web服务漏洞|Web应用漏洞|其他端口|通信安全
@漏洞验证---手工验证|工具验证实验验证
@漏洞利用---定制EXP |防御绕过进一步渗透|清理痕迹
@形成报告---整理结果|补充介绍|修复建议

人员信息:管理员,财务,人事,

 防护信息:防火墙,网络节点,IPS,

黑客攻击的一般过程

踩点:信息搜集

渗透测试技术指南

web架构安全分析

学习渗透测试主要针对的是web应用,对web必须有一定了解

web工作机制

 网址

*本地缓存

*host

*IP/ARP

*DNS

*IP

*网关

*路由

*到达对方主机

*访问80  443

*3次握手

*建立连接

*HTTP数据包

*HTTP响应

                  *.HTML文件

                   *.php

                    *mysql

                    *.PHP运行结果

 nginx

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

中间件服务器
以上这种,只能单向地给用户展示信息。随着Web的发展,信息要双向流动,产生了交互的需求,也就是动态网页的概念;所谓动态就是利用flash、Php、asp、Java等技术在网页中嵌入一-些可运行的脚本,用户浏览器在解释页面时,遇到脚本就启动运行它。
脚本的使用让Web服务模式有了“双向交流"的能力,Web服务模式也可以象中5。传统软件一样进行各种事务处理, 如编辑文件、利息计算、提交表单等,Web架构的适用面大大扩展。这些脚本可以嵌入在页面中,如JS等。也可以以文件的形式单独存放在Web服务器的目录如.asp、 . php、jsp文件等。这样功能性的脚本越来越多,形成常用的工具包,单独管理,Web业务开发时,直接使用就可以了,这就是中间件服务器,它实际上是Web服务器处理能力的扩展。apache只能提供web服务,php脚本和php运行是php中间件服务器完成的, apache服务器要调用php脚本,有三种方法

1、模块方式,这种方式中web server 与模块是同时加载的

2、cgi方式,每当一个请求到来时,web server调用一次php.exe,调用结束后php进程关闭;用的是进程间通信的方式

3、fast-cgi方式,php以服务器的形式提供服务,web 服务与php同时启动,当php服务启动时,会自动产生多个可执行的字php进程,每当一个请求到来时,web服务器将请求通过tcp的通信方式转交给php服务器,此时php服务器调用一个已经准备好的进程来处理请求,处理完成后php服务器将结果返回给web服务器同时不用关闭那个php进程。这样处理的速度要比cgi模式快的多。

中间件服务器有asp  php   jsp    weblogic(web服务器,文件)   Jboss(web服务器)

数据库的出现
静态网页与脚本都是事前设计好的,- -般不经常改动, 但网站上很多内容需要经常的更新,如新闻、博客文章、互动游戏等,这些变动的数据放在静态的程序中显然不适合,传统的办法是数据与程序分离,采用专业的数据库。Web开发者在Web服务器后边增加了一个数据库服务器,这些经常变化的数据存进数据库,可以随时更新。当用户请求页面时,脚本根据用户请求的页口面,涉及到动态数据的地方,利用SQL数据库语言,从数据中读取最新的数据生成“完整”页面,最后送给用户。

 HTTP协议

HTTP(HyperText Transfer Protocol:超文本传输协议)

是浏览器与WEB服务器之间的通信协议,是传递信息的规范和要求
超文本可以说是“超级文本”或者说是“带超链接文本”。超链接文本可以有图片、动图、文字、视频。从本质上说它是一个内容文本,我们对网站的浏览,实际上是对内容的浏览。对于这些内容,都有统一的路径,我们称之为URL地址

http(s): //<主机>:<端口>/<路径>
http:表示协议,有http和https协议
主机可以是ip也可以是域名,如果是域名,会使用到DNS服务,将其转换为ip地址。
端口:80端口表示http端口,443端口表示https端口
路径:指向特定的内容

HTTP协议是可靠的数据传输协议。
可靠性是依赖于传输层的TCP协议来实现的。也就是说,HTTP协议的底层是TCP协议通过TCP协议的可靠性从而保证HTTP协议也是可靠的
数据包括文本、图片、文件、动图、视频、音频。这些构成了web网站内容,我们平时都是对这些内容进行浏览

 访问完php脚本后,将php执行的结果返回给浏览器

 URL(统一资源定位符---网址)------用来告诉web容器,浏览器所请求资源(文件)的路径

 URL 是一种 URI,它标识一个互联网资源,并指定对其进行操作或获取该资源的方法。可能通过对主要访问手段的描述,也可能通过网络“位置”进行标识。

        大部分URL遵循一种标准格式,该格式包含三个部分:
        第一部分:方案,方案告知Web客户端怎样访问资源
        第二部分:服务器的位置,告知Web客户端资源位于何处。

        第三部分:指定服务器上某个资源,说明了请求的是服务器上的哪个特定的资源。

 address是IP地址,域名

port是80端口(可以省略),其他端口不能

path/to/resource/是资源路径,即上面的cms/show.php

query_string是id=32

fragment锚点---实现页面内定位

URL编码

在进行编程的时候,会用“+”代替空格

%+ASCII码十六进制形式

 操作---burp

decoder编码

encode(编码)那选择URL

 decode(解码)URL

 报文分析工具

1.F12

2.wireshark

3.fiddler

4.burp suite

HTTP报文分析

      web应用的所有通信的消息都要遵守HTTP协议的规范和要求

HTTP请求报文

HTTP请求由请求行,请求头,请求正文三个部分组成

1.请求行:方法,资源路径,协议/版本

方法:get

资源路径:

协议/版本:

2.请求头---从第二行开始到第一个空行

 3.请求正文

get方式请求没有请求正文

post方式有

请求方法

 操作----利用telnet模拟浏览器发送HTTP请求

打开虚拟机

开始----控制面板----程序---- 打开或关闭windows功能---talent客户端-----打开cmd----输入telnet---再输入172.16.132.161 80---一片空白-------

百度 ---

 主要字段

 按F12打开hackbar

response响应报文

 响应报文由状态行,响应头,响应正文三部分组成

1.状态行:协议/版本,状态代码,描述短语

协议/版本:HTTP/1.1

状态代码:200

描述短语:OK

2.响应头:从第二行开始到第一个空行,包含了关于HTTP响应的重要字段

3.响应正文:服务器返回资源的内容,即浏览器收到的HTML代码

 状态代码

 主要字段

  

同源策略的条件

一种约定,是浏览器最核心也最基本的安全功能。保证用户信息的安全,防止恶意的网站窃取数据。

同源策略探究

js代码只能读同一个域下的网页

信息收集

在划定了测试范围之后,就需要进入信息收集阶段。在这个阶段,渗透人员需要使用各种公开资源尽可能地获取测试目标的相关信息。他们从互联网上搜集信息的互联网渠道主要有:
@论坛@公告板@新闻组@媒体文章@博客@社交网络@其他商业或非商业性的网站
此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。收集的信息主要包括DNS服务器、路由关系、whois数据库、电子邮件地址、电话号码、个人信息以及用户账户。收集的信息越多,渗透测试成功的概率越高。

 以[testfire.net]为目标

本课程以[testfire.net]为目标,testfire.net 是IBM公司为了演示旗下比较有名的Web漏洞扫描器AppScan的强大功能所搭建的模拟银行网站,所以上面会有很多常见的Web安全漏洞。类似的网站还有vulnweb.com

DNS信息

在收集DNS信息的时候,主要关注域名注册商,管理员联系方式,电话和邮箱,子域名等信息。

一.whois查询

whois是一个集成在Kali虚拟机中的小工具

whois工具可以用来查询域名注册信息。

也可以通过站长之家进行whois查询【http://whois.chinaz.com】

除了用whois查询之外,还可以进行反查

1.邮箱反差:通过域名查到邮箱,通过反查就可以知道邮箱注册过哪些域名

2.注册人反查:通过域名查到注册人,通过反查就可以知道注册人注册过哪些域名

3.电话反查

子域名查询

可以查询子域名的网站

 在表单中直接提交域名即可,查询大型网站比较有优势

在这个 里面查看证书是详细准确的

查询方法有netcraft和证书

域传送漏洞

DNS区域传送(DNS zone  transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析。一般来说DNS区域传送操作只在网络里真的有备用域名DNS服务器时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息,所以说允许不受信任的因特网用户执行DNS区域传送(zone transfer) 操作是后果最为严重的错误配置之一。

可以使用dig工具来检测域传送漏洞,命令如下[dig axfr

adns . example. com examp le . com

 通过域名传送漏洞,可获得子域名信息,子域名对应的IP地址

Kali虚拟机中打开命令提示符

           Ctrl+Shift+F5切换到命令登陆界面 或者ctrl+alt+f5

           Ctrl+Shift+F1切换到桌面界面

实验---子域名爆破

工具:子域名挖掘机

 右键属性---打开文件所在位置---(字典文件)----

 

工具: 子域名枚举(爆破)----dnsrecon

 DNS2IP

通过DNS解析找到IP地址

命令

使用ping

使用nslookup

 操作-----使用ping

 

 操作-----使用nslookup

dig工具

 

 操作-----使用dig

 

操作----dig +trace testfire.net

 

操作----dnsenum

 站长之家------http://whois.chinaz.com

点DNS查询----

 路由追踪

 IP查询

 同IP网站查询

1.1.1.1

A网站权限高入侵不了,可以通过入侵A的旁站B来获取A 的最高权限

C段查询  1.1.1.*

 IP whois查询

 IP2Location

利用搜索引擎搜集信息
google hacking
google机器人,爬行全世界所有网站的内容。google  hacke r就是利用搜索引擎语法,获取有关网站的信息。如果google搜索用不了的话,也可以考虑用其他搜索引擎。

site----指定网站

""-----包含关键字.

inurl----在url中出现的关键字

探索网站目录结构
"parent directory" site:testfire.net

搜索容易存在sql注入的页面
site:testfire.net inurl:login

搜索指定的文件类型
filetype pdf

搜索phpinfo()
搜索PHPstudy
intitle:"php中文网 探针2014"

钟馗之眼---www.zoomeye.org

支持公网设备指纹检索和Web指纹检索

网站指纹包括应用名,版本,前端框架,后端框架,服务端语言,服务器操作系统,网站容器,内容管理系统和数据等。

探索iis6.0组件

app:"Microsoft IIS httpd" ver:"6.0"

探索开启3389端口的windows主机

port:3389 OS:windows

shodan

www.shodan.io

JAWS/1.1

登录绕过---控制台

document.cookie="dvr_camcnt=4";

document.cookie="dvr_usr=admin";

document.cookie="dvr_pwd=123";

访问:view2.html

网络信息收集
收集指纹信息

Web容器信息

插件:火狐插件   Netcraft Extension,Wappalyzer

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值