安全渗透测试服务

2024-05-11

安全渗透测试服务(精选8篇)

篇1:安全渗透测试服务

渗透测试服务授权合同

本授权书于 [201X年X月X日] 由 四川亿时代网络科技有限公司 [YiSshiDdai] 和XXXX科技有限公司 [保密客户] 订立。

鉴于:

[保密客户] 向 [YSD] 提出申请获取专业安全服务。服务期间,顾问将调查客户的某些商业敏感信息。基于服务自身特性,[YSD] 需要从客户处获得合法身份证明及授权从事的证明。本授权合同用于对上述敏感信息和授权意向进行共同协定,以确保后续服务的正常开展。

[保密客户] 给予 [YSD] 履行安全服务所需的保密信息及权限。这些保密信息及权限既可由[保密客户]自行披露,亦可由 [YSD] 在安全服务过程中自行获取。该保密信息包括但不限于:特定商业机密、数据、网络信息、电话系统信息、用户信息、员工信息、客户信息及/或与其业务有关的材料。该保密信息以保密形式提交给 [YSD]。[YSD]有义务确保上述保密信息将不会向任何第三方个人、公司或企业披露或复制。

鉴于本文件旨在授权 [YSD] 对 [保密客户] 的技术资产进行渗透测试及脆弱性评估,因此,签署以下条款:

1.[YSD] 的安全分析工程师有权探测扫描 [保密客户] 的计算机设备以发现漏洞并使用

[CEGETEST] 标准化的技术工具进行渗透测试。授权期限为 11/26/2015 至 12/26/2015。授权期间,[保密客户]有权通过书面通知取消授权。

2.签署人拥有授予测试方对其公司所有资产进行测试的权利。(资产包括但不限于服务器设施、特定商业机密、数据、网络信息、电话系统信息、用户信息、员工信息、客户信息。)

基于上述协定,双方特此达成协议如下:

1.[YSD] 将为保密信息提供最严格的保密,不得直接或间接地使用或将其披露给任何个人、公司或企业。

2.[YSD] 将尽所有应尽及援助之义务,采取所有合理的预防措施,以防止保密信息被任何未经授权地披露或复制。

3.各方雇员中,经协议获得授权,或为开展服务工作而可能接触到保密信息的,在本协议期间及以后,应尽最大可能履行保守机密信息的义务。

1/2 4.[YSD] 应在接到另一方书面要求后立即将所有存放保密信息的机读材料及其副本归还于另一方。当保密信息存放于有价值媒体时,这些保密信息应被销毁或擦除,且该销毁或擦除证明应在提请日期起七(7)天内向[保密客户]提供。

5.当 [YSD] 处于任何可能的网络风险影响之下(乃至可能立即中止服务)时,应通知[保密客户]并充分说明其担忧的内容及缘由。

6.[YSD] 将采取必要手段,尽最大可能确保不会因服务本身而造成任何威胁、损失或损害网络系统。

[YSD]将按照渗透结果向[保密客户]收费6万 RMB,付费环节为:

[YSD] 提供渗透证据,包括获取数据,[保密客户] 支付 5万 费用。[YSD] 提供渗透途径,含详细渗透报告,[保密客户] 支付 1万 费用。

双方特此签署该授权书,以昭信守。

........................................................................[YSD](签章)

[保密客户]授权代表(签章)

........................................................................职称

职称

........................................................................日期

日期

2/2

篇2:安全渗透测试服务

重庆交通大学

课程结业报告

班 级:

学 号:

姓 名:

实验项目名称:

实验项目性质:

实验所属课程:

实验室(中心):

指 导 教 师 :

实验完成时间:

渗透测试

设计性

网络信息安全

软件实验室

2016 年 6 月 30 日

一、概述

网络渗透测试就是利用所有的手段进行测试,发现和挖掘系统中存在的漏洞,然后撰写渗透测试报告,将其提供给客户;客户根据渗透人员提供的渗透测试报告对系统存在漏洞和问题的地方进行修复和修补。渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。渗透测试与其它评估方法不同,通常的评估方法是根据已知信息资源或其它被评估对象,去发现所有相关的安全问题。渗透测试是根据已知可利用的安全漏洞,去发现是否存在相应的信息资源。

应网络信息安全课程结课要求,于2016年5月至2016年7月期间,在MobaXterm和kail平台进行了活动主机和活动端口扫描以及漏洞扫描,最后汇总得到了该分析报告。

二、实验目的

①熟悉kali平台和MobaXterm; ②熟悉信息收集的基本方法和技巧;

③了解kali平台下活动主机和端口扫描的方法; ④了解漏洞扫描的过程;

三、渗透测试范围

此次渗透测试的对象为:10.1.74.114---Metasploitable2 Linux。

四、本次分析工具介绍

本次测试主要用到了MobaXterm、Nmap、Nessus和kali.MobaXterm是远程计算的终极工具箱。本次在MobaXterm上运行了10.1.74.111(用户名和密码是root:toor)和10.1.74.114(渗透对象,用户名和密码:msfadmin:msfadmin)。

如果在虚拟机里运行kali,首先需要安装好虚拟机,然后下载安装好渗透环境kail,然后下载安装渗透对象(Metasploitable2 Linux)。

Kali Linux预装了许多渗透测试软件,包括nmap(端口扫描器)、Wireshark(数据

包分析器)、John the Ripper(密码破解器),以及Aircrack-ng(一套用于对无线局域网进行渗透测试的软件).本次测试尝试了Metasploit,但技术不成熟,不知道哪里出错,没有成功。

图1运行Metasploit结果图

图2 运行Metasploit结果图

图3 运行Metasploit结果图3 在漏洞扫描时,因为教学网上说Kali中内置了OpenVAS的,所以打算用这个工具

作为扫描工具的,可是在我使用的kali平台里并没有这个内置的工具。

图4 没有内置OpenVAS的kali

本次实验还是使用了nmap的图形化扫描工具zenmap。Nmap是目前为止使用最广的端口扫描工具之一,软件提供一些非常实用的功能。比如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。

除了以上工具,本次还用了Nessus,这个工具是目前全世界最多人使用的系统漏洞扫描与分析软件。

五、实验主要内容及原理

1、信息收集—扫描活动主机

可以使用一些命令来进行局域网内的活动主机的扫描。常用的命令有 fping、nping、netenum、netdiscover 等。

本次渗透测试选用了netdiscover来获取LAN 中活动主机及其MAC。

2、信息收集—扫描目标主机活动端口

信息收集有两种方式,一种是命令行方式,一种是图形化界面方式。常用的命令是 namp,使用语法:nmap 参数 目标主机IP 地址。图形界面工具是zenmap。

3、信息收集—扫描漏洞

Nessus是使用比较多的系统漏洞扫描与分析软件。

六、实验过程简述

1、信息收集-扫描活动主机

实验步骤:在MobaXterm下进行命令行形式进行活动主机的扫描:

fping:扫描指定范围内的活动主机(fping-s-r 1-g 202.202.240.1 202.202.240.254);

nping:对防火墙过滤ICMP或主机不对ICMP响应的情况,则可不使用ICMP,直接定制TCP包发出运行nping-c1--tcp-p 80--flags syn 202.202.240.6;

netenum:速度超快的活动主机扫描器(运行netenum 202.202.240.0/24 10)(10代表超时时间,越长越准确)

netdiscover:获取LAN中活动主机及其MAC等信息(运行netdiscover即可); 也在虚拟机里进行了netdiscover扫描。

2、信息收集—扫描目标主机活动端口

实验步骤:在MobaXterm中输入下列的命令即可完成目标主机活动端口的扫描: TCP连接扫描: nmap-sT-p--PN 202.202.240.6 SYN 扫描: nmap-sS-p--PN 202.202.240.6 Xmas 扫描:nmap-sX-p--PN 202.202.240.6 Null 扫描:nmap-sN-p--PN 202.202.240.6

3、信息收集—扫描漏洞

实验步骤:Nessus是目前全世界最多人使用的系统漏洞扫描与分析软件。以下为安装及配置步骤:

下载Nessus软件进行注册,选择家庭版,注册号将发送到邮箱 使用命令dpkg-i Nessus-6.3.7-debian6_amd64.deb 命令进行安装

运行命令 /opt/nessus/bin/nessus-fetch--register(你得到的注册号)进行注册及更新模块

运行命令/opt/nessus/sbin/nessus-adduser添加用户并设为管理员(需记住,后面登录要使用)

运行命令/etc/init.d/nessusdsta启动nessus服务

打开浏览器,输入https://127.0.0.1:8834登录Nessus即可(先定策略,再扫描)

七、实验结果及分析

1、信息收集-扫描活动主机

图5使用fping扫描活动主机结果1

图6使用fping扫描活动主机结果2

通过运行fping-s-r 1-g 202.202.240.1 202.202.240.254来扫描IP地址从

202.202.240.1 到202.202.240.254的活动主机,(-s)打印出最后的结果;(-r 1)重复次数为1,默认情况下为3;(-g)生成目标列表,指定目标列表的起始和结束IP,此次起始IP为202.202.240.1,结束IP为202.202.240.254。共扫描254个目标,其中74个存活,176个不可达,没有不知的IP地址。

图7使用nping扫描活动主机结果

图8使用netenum扫描结果

使用来进行netenum扫描,显示的是202.202.240.0/24这个网段的活动主机,显示的结果。

图9netdiscover扫描结果

从上面的图中可以看出,netdiscover会显示出活动主机的IP地址、MAC地址等信息。

2、信息收集—扫描目标主机活动端口

图10 nmap扫描结果1

图11 nmap扫描结果2

图12 nmap扫描结果3

图13 nmap扫描结果4 上图是使用nmap扫描目标主机活动端口的结果,本次实验是扫描202.202.240.6的活动端口,从结果中可以看出使用TCP连接扫描和SYN扫描结果80端口是开启的,Xmas和Null扫描运行不出结果,可能是扫描的时间不够,活动端口扫描不是快速完成的。扫描结果会显示活动的端口号以及提供的服务。

下面是在虚拟机的kali平台里使用zenmap对10.1.74.114进行端口扫描的结果。由于扫描结果太多,所以只对部分进行了截图分析。

图14zenmap扫描结果

使用zenmap对活动端口进行扫描比使用命令行简单,得到的结果比输入命令得到的结果更加详细。

3、信息收集—扫描漏洞

图15Nessus扫描漏洞结果1 从扫描结果看出10.1.74.111有3个高危漏洞,18个中危漏洞,5个低危漏洞。下图为扫描10.1.74.111的部分具体漏洞图。

图16Nessus扫描结果2

八、心得体会

通过本次网络信息安全课程的学习,对渗透过程有了一定的了解,其基本步骤可总结为首先进行信息收集,可以收集的信息有活动主机、端口等等,然后扫描主机的漏洞,并对漏洞加以利用,从而达到攻击的目的。

篇3:网络安全渗透测试技术流程研究

1 渗透测试

1.1 定义

渗透测试[1], 英文为Penetration Testing, 就是通过模拟恶意攻击者的技术与方法, 对目标系统进行探测, 发现系统漏洞, 挫败目标系统安全控制措施, 取得访问控制权, 为网络系统的加固和服务信息的保护提供方向的一种网络安全评估方式。

1.2 分类

渗透测试包括两种基本类型和一种混合类型:黑盒测试、白盒测试和灰盒测试[2]。

黑盒测试 (black-box testing) :也称为外部测试。对目标系统完全不知的情况下, 测试者通过远程网络, 使用各种网络扫描技术对目标系统进行扫描, 并进行逐步的渗透, 继而揭示目标网络中一些已知或者未知的安全漏洞。

白盒测试 (white-box testing) :也称为内部测试。渗透测试者通过正规途径了解到关于目标环境的所有内部与底层知识, 例如网络地址段、网络拓扑结构图、协议等, 然后以最小的代价发现和验证系统中最严重的安全漏洞。

灰盒测试 (grey-box testing) :以上两种渗透测试基本类型的组合就是灰盒测试, 组合之后的好处就是渗透测试者能够根据对目标系统所掌握的有限知识与信息, 对目标系统更加深入和全面的审查。

2 渗透测试基本流程

本文通过研究, 并依据安全业界的广泛认同的PTES (The Penetration Testing Execution Standard, 渗透测试执行标准) [3], 提出最基本的渗透测试过程, 分别是情报搜集、模拟攻击、渗透攻击, 生成报告, 这四个基本阶段。

2.1 情报搜集阶段

通常, 不论是团队还是个人, 在渗透攻击前都要做大量的准备工作, 即情报搜集。在这个阶段, 渗透测试者可以利用各种信息来源与搜集技术方法, 尽可能获取更多关于目标系统的网络拓扑、系统配置与安全防御措施等信息, 一般可以使用的情报搜集方法包括公开来源信息查询、Google Hacking、社会工程学、网络踩点、扫描探测、被动监听、服务查点等。

2.2 模拟攻击阶段

这个阶段, 渗透测试团队就需要对搜集到的情报信息进行威胁建模, 有侧重点的分析可能面临的威胁及其风险大小, 确定出最可行的攻击通道和实施渗透攻击的攻击点, 然后搭建现实目标网络环境进行模拟攻击实验, 以确定可以利用的目标系统的安全漏洞。通过模拟攻击, 渗透测试者可以提出风险规避策略以避免或降低渗透测试对系统产生的影响。

2.3 渗透攻击阶段

在此阶段中, 渗透测试者需要利用上述阶段中找出的目标系统安全漏洞, 来真正入侵系统, 获取目标系统的访问控制权, 进一步搜集目标信息系统的信息。如果是大型渗透测试活动, 渗透测试者还需要考虑对目标系统检测机制的逃逸, 清理痕迹, 从而避免造成目标系统安全响应团队的警觉和发现。

2.4 报告阶段

报告中要对整个测试的情况和细节描述清楚, 其主要包括所有阶段之中获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程, 以及造成业务影响后果的攻击途径, 最终目的就是, 帮助客户分析安全防御体系中存在的问题, 以及修补与升级技术方案。

3 安全漏洞扫描技术

安全漏洞扫描技术是为使系统管理员能及时发现系统中存在的安全漏洞, 并采取相应防范措施, 从而降低系统的安全风险的一种安全技术。

安全漏洞扫描技术可以分为黑盒扫描和白盒扫描两种。

3.1 黑盒扫描技术

一种基于网络的扫描技术, 采用主动式策略通过网络对目标系统进行远程扫描, 以发现目标系统中存在的安全漏洞。因而, 它是一种通过采取主动的、非破坏性的方式来发现系统安全漏洞的常用方法。

通常, 黑盒扫描分为三个阶段:a、探寻目标主机或网络;b、搜寻目标主机或网络的相关信息, 如端口配置、开放的服务、网络拓扑结构等信息;c、根据搜集到的信息来评估系统中的安全漏洞。

3.2 白盒扫描技术

此技术基于主机, 采用被动式策略在具有主机操作权限后在其系统内部进行漏洞扫描。通常, 这类技术会事先在目标系统上安装一个代理或者是服务, 方便渗透者在测试时能够访问所有的文件与进程, 探测并判断系统内部权限的设置如注册表、系统日志、数据库、系统配置等方面是否存在缺陷。

4 结语

通过对渗透测试技术的实施过程的研究, 依据安全业界权威标准方法论——渗透测试执行标准 (PTES) , 本文提出了一种由四个阶段组成的渗透测试最基本模型。此基本模型不论是对实验个人还是专业渗透测试团体都可适用, 使流程简单化, 实用化。其中, 安全漏洞扫描技术不仅能检测出系统存在的安全漏洞, 而且通过测试会使系统使用方采取防范措施从而降低系统的安全风险。

参考文献

[1]谢志锋.基于木马的网络渗透测试的研究[D].太原:太原理工大学, 2013:7—10.

[2]李亮, 楼芳.网络渗透测试流程及方法研究[J].保密科学技术, 2010, (01) :66—68.

篇4:安全渗透测试服务

关键词:安全性测试;Web服务;漏洞;测试框

中图分类号: TP393 文献标识码:A 文章编号:1674-1161(2016)03-0036-03

1969年互联网在美国诞生,1994年我国与国际互联网成功连接,标志着我国互联网步入新时代。经过20多年的发展,我国的互联网实现了从无到有,并且规模越来越大,现已经成为世界第二大网络大国。据《中国互联网络发展状况统计报告》(中国互联网络信息中心2016年1月22日第37次权威发布)显示,截至2015年12月,我国网民规模达6.88亿,互联网普及率达50.3%,半数中国人已接入互联网。伴随着互联网的快速发展,以社交网络、电子商务等为代表的Web服务正在深刻地改变着人们的生活方式,甚至影响着整个社会发展进程。

1 Web服务的基本概念及组成

Web服务作为一种远程访问的标准,具有松散耦合、平台无关、交互性、语言中立等优点,通常作为分布式应用实现的技术基础。Web应用系统组成十分复杂,正因为其复杂组件和彼此间复杂的关系,所以才能为用户提供强大服务。Web应用系统核心组件包括用户接口代码、前端系统、服务器软件、后台系统、数据库系统等。

2 Web服务安全性测试的重要意义

Web应用当前已经成为软件开发的重要组成部分。由于开发人员技术水平有限或者安全意识比较薄弱,每一个Web系统自身都存在着一定的安全漏洞,并在使用过程中逐渐暴露出来,入侵者就可能利用漏洞到Web应用上进行恶意攻击。Web系统中有大量信息,其中许多信息涉及个人隐私或是企业关键性业务等,一旦Web服务安全性出了问题,可能会给个人或企业造成重大损失和带来严重后果。虽然当前入侵检测、防火墙等技术已经相对成熟,可以为Web系统提供一定的安全防护,但是对Web应用的恶性攻击大多来自于应用层,完全解决各种安全性问题的难度非常大。在此情况下,Web服务安全性测试具有重大现实意义。

3 Web应用安全漏洞

Web应用安全漏洞是指一个Web系统的所有组件在设计、实现或者操作和管理中存在的可能被入侵者利用的缺陷和弱点。常见的Web应用安全漏洞主要有以下8个类别。

3.1 未被验证的输入

入侵者通过篡改HTTP请求越过站点安全机制,主要包括缓冲区溢出、跨站点脚本、SQL注入、格式化字符串攻击等输入篡改攻击方式。HTTP请求主要包括查询字符串、Cookie、HTTP头部、URL、表单等。

3.2 SQL注入

SQL注入是最普遍、最严重的Web应用安全漏洞。入侵者通过在输入域中插入某些特殊字符,完全改变SQL查询的自身功能,欺骗数据库服务器进行非法操作,从而达到破坏数据库或非法获取数据清单的目的。

3.3 跨站点脚本

入侵者在Web浏览器客户端通过页面提交的输入数据嵌入恶意代码,如果服务器不经过滤或转义直接将这些数据返回,那么这些恶意代码在其他用户访问该Web页面时将被执行,从而实现其恶意攻击的目的。

3.4 缓冲区溢出

入侵者利用缓冲区溢出漏洞向Web应用发送特定请求,使目标Web应用执行其设定的代码。

3.5 隐藏的字段

在正常操作中,用户可以执行Web浏览器中的“查看源文件”,并查看字段内容,通过手工修改参数值,再传回给服务器端。入侵者通过对HTML源文件中的这些隐藏字段进行修改实现恶意目的。

3.6 不恰当的异常处理

用户向Web应用提交正常请求时,可能频繁产生内存不足、系统调用失败、数据库链接错误等异常情况。如果不能进行恰当处理,堆栈追踪、数据库结构、错误代码等内部错误信息很可能被入侵者获知,带来一定的安全隐患。

3.7 远程命令执行

用户提供的输入数据在没有经过适当验证情况下,就可以通过Web服务器进行传递。入侵者可能利用这个漏洞,使目标Web应用执行他的命令。

3.8 远程代码注入

这一安全漏洞通常是由Web应用开发者存在不良编码习惯引起的,如允许没有经过验证的用户输入,造成本地应用或远程的PHP代码被包含进来。这一漏洞被入侵者利用,实现其向目标Web应用中注入其他PHP代码的目的。

4 Web服务安全性测试技术

为保障Web服务安全,消除潜在的漏洞隐患,一方面Web服务要在用户的身份标识和验证级别上集成Web站点安全;另一方面要在服务器与用户进行信息交换的过程增加安全防范措施。目前,通常在身份验证/授权、传输层安全、应用层安全3个领域采取安全措施。

4.1 测试框架

Web应用安全性测试框架主要包括威胁建模、测试需求、测试策划、测试执行、报告5个不同阶段,具体情况如图1所示。

第一阶段是威胁建模,主要是有效确定安全目标,对漏洞隐患进行确定和评级。第二阶段是测试需求,准确确定测试对象并合理进行资源分配,主要依据软件具体需求和威胁剖面素。第三阶段是测试策划,主要是测试策略文档,通过提供控制策略,有效控制系统程序总体架构、资源需求和缺陷,准确描述测试环境等一系列情况。第四阶段是测试执行,及时准确的记录测试的结果。第五阶段是报告,对最终测试结果进行详细地说明和报告。

4.2 安全性测试技术

在Web应用系统开发的整个过程中,对整个体系结构的每一个环节都进行必要的安全性测试,就会发现其存在的安全漏洞隐患,从而有效提高整个Web应用系统的综合安全性能。在最初的设计环节对安全漏洞进行检测,并及时对漏洞进行修复,可能避免后续环节发生安全问题。把目标部署环境所关联的设计作为目标对象进行通盘考虑和研究设计,有效提高Web应用系统的安全水平。“白盒子”测试的主要内容是,在Web应用系统开发过程中,依据源代码的不同级别对目标网站进行相应安全测试,及时发现相关问题并进行有效处理。

4.3 应用及传输安全

Web应用系统设计完成后,要通过一系列的安全测试,发现系统中存在的漏洞隐患,并有效进行修复。“黑箱子”测试的主要内容是,当Web应用系统已经投入使用后,在不影响其正常运行的条件下,积极应用远程方式进行安全测试,模拟黑客攻击目标系统,最大限度对Web应用系统安全性进行有效测试。

在测试过程中,通常选取应用级和传输级2个等级层面进行测试。应用级安全性测试是通过系统自带程序对目录设置、注册及登录、在线超时、操作留痕、备份及恢复进行检查测试,有效排除程序设计方面存在的安全漏洞隐患。传输级安全性测试是以系统传输特性为基础,通过对包括SSL、数据加密、防火墙、服务器脚本漏洞在内的从用户端到服务器整个数据信息传输过程进行检查测试,进一步增强系统拒绝非法访问的能力。

参考文献

[1] 唐修平.Web服务安全性研究及应用[J].湖南工业职业技术学院学报,2011(5):5-7.

[2] 张再华.基于.NET平台Web服务安全性的研究与实现[J].电脑知识与技术:学术交流,2012(2X):1292-1293.

[3] 邢翠芳,李瑛,赵海冰,等.一种移动Web服务安全性技术方案[J].计算机技术与发展,2013(4):122-125.

篇5:安全渗透测试服务

一、简介

目前,许多重要的Web服务都使用了SSL和TLS协议对通信进行保护。我们知道,http协议是使用明文进行传输的,但是像网络银行之类的web应用如果使用http协议的话,那么所有的机密信息都会暴露在网络连接中,这就像银行用一个透明的信封给我们邮寄信用卡帐号和密码一样,在从银行到达用户之间任何接触过这封信的人,都能看到我们的帐号和密码。为了提高其安全性,经常需要通过SSL或者TLS隧道传输这些明文,这样就产生了https通信流量。例如网络银行之类的应用,在服务器和客户端之间传输密码,信用卡号码等重要信息时,都是通过https协议进行加密传送的。

SSL和TLS是两种安全协议,它们通过加密技术为传输的信息提供安全信道、机密性和身份验证等安全功能。我们知道由于对高级密码技术的出口限制,会造成遗留系统使用的是弱加密技术。如果系统采用了弱密码,或者说密码强度过低的话,攻击者可以在有效的时间内破解密钥,而攻击者一旦得到了密钥,就像小偷得到了我们家的钥匙一样,所有的锁都会形同虚设。但是,新Web服务器就不会使用弱加密系统了吗?答案是否定的,因为许多新Web服务器也经常被配臵成处理虚密码选项。为了实现这些安全特性,协议必须确保使用的密码算法有足够的强度,并且密码算法得到了正确的实现。即使服务器安装使用了高级的加密模块,但是如果配臵不当的话,也有可能为安全特性要求较高的通信信道的设臵了较弱的加密技术。下面,我们将详细介绍如何对这两种协议的配臵进行安全审计。

二、测试SSL/TLS的密码规范

我们知道,http协议是使用明文进行传输的,为了提高其安全性,经常需要通过SSL或者TLS隧道传输这些明文,这样就产生了https通信流量。除对传输的数据进行加密处理之外,https(安全超文本传输协议,HTTPS)还能利用数字证书为服务器或客户端提供身份标识。

过去,美国政府对加密系统的出口有许多限制,如密钥长度最大为40位,因为密钥长度越短,它就越容易破解。后来,密码出口条例已经放宽了许多,但是,检查服务器的SSL配臵仍然十分重要,因为它有可能配臵使用了弱加密技术。基于SSL的服务不应该提供选择弱密码的机会。

注意,我们这里所说的弱密码,指的是加密强度不够、容易破解的加密系统。不同的加密算法具有不同的密码强度,但是在算法一定的情况下,密钥的长度越长,加密强度越高。

技术上,选择加密技术的过程如下所示:在建立SSL连接的初期,客户端向服务器发送一个Client Hello消息,以告知服务器它支持哪些加密技术等。一般情况下,客户端通常是一个Web浏览器,所以浏览器是目前最常见的SSL客户端;然而,任何支持SSL的应用程序都可以作为SSL客户端使用。比如,有时候SSL客户端是些SSL代理(如stunnel),它们使得那些不支持SSL的工具也能与SSL服务通信。同理,SSL服务器端通常为Web服务器,但是其他应用程序也可以充当SSL服务器端。加密套件规定了具体的密码协议(DES、RC4、AES)、密钥长度(诸如40、56或者128位)和用于完整性检验的散列算法(SHA、MD5)。收到Client Hello消息后,服务器以此确定该会话所使用的加密套件。当然,通过配臵可以规定服务器能够接受哪些密码套件,这样的话,我们就能够控制是否跟仅支持40位加密的客户端通话

三、黑盒测试

为了检测可能支持的弱密码,必须找出与SSL/TLS服务相关的端口。通常情况下,要检查端口443,因为它是标准的https端口;不过运行在443端口上的却未必是https服务,因为通过配臵,https服务可以运行在非标准的端口上,同时,Web应用程序也许使用了其它利用SSL/TLS封装的服务。一般而言,为了找出这些端口,必须找出使用了哪些服务。

利用扫描程序nmap时,加上扫描选项–sV,就能用来识别SSL服务。实际上,安全漏洞扫描器除了可以显示使用的服务之外,还能用来检查弱密码,比如,Nessus就能检查任意端口上的SSL服务,并报告弱密码。

如果攻击者在您修复弱密码之前发现了它们的话,那么您的处境可就不妙了——利用当前强大的桌面计算力,例如借助GPU的并行运算,他们能够在有效的时间内破解出密钥,然后就能解密出https信道中加密过的机密信息,如口令,用户名,如果您在使用网络银行,还能获得他们的帐号和口令,等等。所以,我们一定要在攻击者下手之前发现并修复存在的弱密码配臵。

例1.通过nmap识别SSL服务

[root@test]# nmap-F-sV localhostStarting nmap 3.75(http://#sslciphersuite This SSLv2 server also accepts SSLv3 connections.This SSLv2 server also accepts TLSv1 connections.Vulnerable hosts(以下从略)例3.利用OpenSSL以手工方式审计SSL的弱密码

这里我们试图通过SSLv2连接到Google.com:

[root@test]# openssl s_client-no_tls1-no_ssl3-connect);或者Openssl工具,它能直接从UNIX命令行下访问Openssl加密函数。为了识别基于SSL的服务,可以使用具有服务识别能力的安全漏洞扫描程序或者端口扫描程序。扫描程序nmap具有一个-sV扫描选项,用以识别服务;安全漏洞扫描程序Nessus则能识别在任意的端口上的基于SSL的服务,并对这些服务进行安全漏洞检查——不管它们是在标准端口还是非标准的端口上。

如果需要与SSL服务交互但是您喜爱的工具却不支持SSL的话,可以求助于SSL代理,例如stunnel,它能在底层协议中打通隧道跟SSL服务进行通信。

篇6:渗透测试的介绍

渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意 的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。

我们认为渗透测试还具有的两个显著特点是:渗透测试是一个渐进的并且逐步深入的过程。渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。

2 渗透测试是安全评估的方法之一

安全评估通常包括工具评估、人工评估、顾问访谈、问卷调查、应用评估、管理评估、网络架构评估、渗透测试等

渗透测试与其他评估方法的区别:通常评估方法是根据已知信息资产或其他被评估对象,去发现所有相关的安全问题。渗透测试是根据已知可利用的安全漏洞,去发现是否存在相应的信息资产,通常评估方法对评估结果更具有全面性,渗透测试则更注重安全漏洞的严重性。

渗透测试一方面可以从攻击者的角度,检验业务系统的安全防护措施是否有效,各项安全策略是否得到贯彻落实;另一方面可以将潜在的安全风险以真实事件的方式凸现出来,从而有助于提高相关人员对安全问题的认识水平。渗透测试结束后,立即进行安全加固,解决测试发现的安全问题,从而有效地防止真实安全事件的发生。

3 凸现最严重的安全问题

安全评估通常会发现许多安全问题,而通过渗透测试这种“真实的” 事件,能从中找出最急需解决的部分

4 白盒子(White Box)

已经获取了尽可能多的各种信息

通常包括从组织外部和从组织内部两种地点进行渗透测试

黑盒子(Black Box)

除了被测试目标的已知公开信息外,不提供任何其他信息

通常只从组织的外部进行渗透测试

灰盒子(Gray Box)

介于以上两者之间

5 信息收集、分析

制订渗透方案并实施

前段信息汇总、分析

提升权限、内部渗透

渗透结果总结

输出渗透测试报告

提出安全解决建议

6 客户提供

该部分主要来源于客户所提供的一些实际网络结构,安全等级制度等一系列的已有安全体制。

工具扫描

该部分主要利用一系列现有的安全产品或 工具对目标网络进行全方位的安全扫描,其中包括服务,端口等其他,使用的工具包括:Nessus Scanner、Nmap、SnmpScanner等。

智能判断

利用工程师积累的渗透测试以及其他安全经验,对目标主机进行信息收集和分析。

本地扫描

为了能更好的渗透其网络的安全性,在客户允许的范围内对本地进行实地扫描,

通过短时间的模拟攻击扫描结合客户提供的详细情况,迅速寻找出目标网络中的薄弱环节,保证了制定的渗透测试方案的整体效率。

建立信息池

汇总以上各方面的信息,建立信息池

7 渗透方案制订考虑因素

网络规模

业务组成

网络分布

其他因素

渗透方案内容

目标、范围

计划

流程

风险规避

保密8 验证信息池内容

试探、获取权限

根据具体信息相应实施过程调整

9 信息综合、汇总

分析、归类、筛选、整理

信息池更新

确定渗透实施重点

制定下一步实施方案

10 纵向权限提升

读权限提升为写权限

应用系统权限提升为操作系统权限

普通用户权限提升为管理员权限

横向权限提升

通过本地权限获取远程主机权限

获取本地局域网、设备等访问权限

获取远程网络、设备的访问权限

递归操作

在需要的情况下,从第一阶段重新进行

11 渗透成果汇总

重大安全问题及时告知客户

成功、失败的经验总结

清除渗透过程中间文件

12 渗透测试成果汇报、交流

渗透过程

渗透深度(纵向、横向)

渗透结果

正式渗透测试报告

综合方案、过程、成果汇报

保密

文挡移交、销毁

信息池移交、销毁

渗透成果保密

13 备份系统

紧急响应小组

禁止高危操作

操作过程记录

中间文件处理

“收尾”工作处理

14 扫描

工具扫描:漏洞、端口、帐户穷举

人工试探:系统版本、应用服务信息、网络信息

本地权限

口令猜测

远程漏洞、应用漏洞

。。。

权限提升

本地溢出、进程注入

事件触发

。。。

关联攻击

篇7:用google来进行渗透测试

一、利用google查找被人安装了php webshell后门的主机,并测试能否使用;

二、利用google查找暴露出来的INC敏感信息.

OK,现在我们开始:

1.查找利用php webshell

我们在google的搜索框中填入:

Code:

intitle:“php shell*” “Enable stderr” filetype:php

(注: intitle―网页标题 Enable stderr―UNIX标准输出和标准错误的缩写filetype―文件类型)。搜索结果中,你能找到很多直接在机器上执行命令的web shell来。如果找到的PHPSHELL不会利用,如果你不熟悉UNIX,可以直接看看LIST,这里就不详细说了,有很多利用价值。要说明的是,我们这里搜索出来的一些国外的PHPSHELL上都要使用UNIX命令,都是system调用出来的函数(其实用百度及其他搜索引擎都可以,只是填写搜索的内容不同)。通过我的检测,这个PHPWEBSHELL是可以直接Echo(Unix常用命令)。一句话就把首页搞定了:

Code:

echo “召唤” >index.jsp

在得到的

Code:

echo

后再写上:“召唤”

现在看看首页,已经被我们改成: “召唤” 了

我们也可以用WGET上传一个文件上去(比如你要替换的叶子吧)。然后execute Command输入 cat file >index.html or echo “” >file

echo “test” >>file

这样一条条打出来,站点首页就成功被替换了。同样的也可以

Code:

uname -a;cat /etc/passwd

不过有点要注意,有些WEBSHELL程序有问题,执行不了的,比如:

www.al3toof.com/card/smal ... c_html&command=

ramsgaard.net/upload/shell.php

这些站的php是global register off

解决方案:

我们可以利用相关工具进行在互联网进行搜索,如果有信息被滥用,到www.google.com/remove.html 提交你希望删除的信息,

控制搜索引擎机器人的查询.

2.搜索INC敏感信息

我们在google的搜索框中填入:

Code:

.org filetype:inc

我们现在搜索的是org域名的站点的INC信息(因为google屏蔽掉了搜索“COM”信息,我们还可以搜其他gov,cn,info,tw,jp,edu等等之类的)

PS:我在看许多PHP编程人员在编程时候,都喜欢把一些常写的代码或配置信息,写在一个.inc的文件中,如shared.inc、global.inc、conn.inc等等,当然这是一个很好的习惯,包括PHP 都是如此,但不知你有没有注意到这里面含一个安全隐患问题。

我有一次在写一个PHP代码时,无意中写错了一句话,当我在浏览器里查看此PHP文件时,竟然发现屏幕详细的显示了我所出错的PHP文件路径及代码行,

(PHP错误显示配置是开着的.此功能在PHP里是默认的!),这就是说当我们无意写错代码(同样.inc文件也一样) 或者PHP代码解析出问题时,而PHP错误显示又是开着的,客户端的用户就会看到具体url地址的.inc文件。

而.url文件如同txt文本一样,当在浏览器中浏览时,就毫无保留地显示了它的内容,而且不少站点在.inc文件写了重要的信息如用户密码之类!包括国内著名海尔公司以及嘉铃摩托公司,我之所以敢公布是因为我本人测试过,www.haier.com/su ***/inc/conn.inc 暴出的数据库ID密码用客户端连不上去,网站关闭了1215,而且防火墙也过滤掉了。

好,INC的知识说完后,我们继续又搜索到了好多,找到一个暴露了MYSQL口令的

我们又可以用客户端登陆上去修改数据了.这里涉及到数据库的知识,我们不谈太多,关于“INC暴露敏感信息”就到这里结束吧

当然我们可以通过一些办法解决:

1,你可以专门对.inc文件进行配置,避免用户直接获取源文件。

2,当然比较好的方法是,加上并且改文件扩展名为.php(PHP可以解析的扩展名),这样客户端就不会获取源文件了。

这里,我将FreeMind绘制的图片用文本表示了.

有关Google Hack的详细信息,帮助我们分析踩点

连接符:

Code:

+ - : . * |

操作符:

Code:

“foo1 foo2”

filetype:123

site:foo.com

intext:foo

intitle:footitle

allinurl:foo

密码相关

Code:

:“index of”

htpasswd / passwd

filetype:xls username password email

“ws_ftp.log”

“config.php”

allinurl:admin mdb

service filetype:pwd (frontpage)

敏感信息:

Code:

“robots.tx”

“disallow:”

filetype:txt

inurl:_vti_cnf (frontpage files)

allinurl:/msadc/samples/selector/showcode.asp

allinurl:/examples/jsp/snp/snoop.jsp

allinurl:phpsysinfo

ipsec filetype:conf

intitle:“error occurred” odbc request where (select|insert)

“mydomain.com” nessus report

“report generated by”

结尾:

篇8:浅谈企业网络安全之渗透测试

1.1 渗透测试概述

渗透测试 (Penetration Test) 是指安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段, 对目标网络/系统/主机/应用的安全性作深入的探测, 发现系统最脆弱的环节的过程。渗透测试能够直观的让管理人员知道自己网络所面临的问题。

渗透测试是一种专业的安全服务, 类似于军队里的“实战演习”或者“沙盘推演”的概念, 通过实战和推演, 让用户清晰了解目前网络的脆弱性、可能造成的影响, 以便采取必要的防范措施。

1.2 渗透测试能为客户带来的收益

从渗透测试中, 客户能够得到的收益至少有以下几个方面。

(1) 协助用户发现组织中的安全最短板, 协助企业有效的了解目前降低风险的初始任务。 (2) 一份文档齐全有效的渗透测试报告有助于组织IT管理者以案例说明目前安全现状, 从而增强信息安全的认知程度, 甚至提高组织在安全方面的预算。 (3) 信息安全是一个整体工程, 渗透测试有助于组织中的所有成员意识到自己的岗位同样可能提高或降低风险, 有助于内部安全的提升;当然, 渗透测试并不能保证发现目标网络中的“所有”弱点, 因此我们不宜片面强调它的重要性。但是, 目前国内的现状是: (1) 大多数企业没有意识到渗透测试的作用。 (2) 仅有少数信息安全企业有能力完成出色的渗透测试服务。因此, 渗透测试甚至一度成为客户检验安全公司技术能力的一个标尺。

2 渗透测试涉及的技术

长期以来, 渗透测试被人们披上一层神秘的面纱, 究其原因, 主要还是从事渗透

中国核心期刊 (遴选) 数据库收录期刊中国期刊全文数据库收录期刊中文科技期刊数据库收录期刊

《中外医疗》杂志欢迎投稿

电话:010-67348481 63385386传真:010-63385686 E-mail:zwylbjb@263.net地址:北京市丰台区菜户营58号财富西环名苑2609室《中外医疗》杂志社邮编:100054

测试的操作者们不仅能够熟练地使用各种工具, 往往还能够独出机杼地从不同角度, 运用一些“不值半文钱”的方法突破网络系统的防御获取权限。

当然, 就象福尔摩斯的推理一般, 这些看似“不可完成的任务”, 实际上可以通过缜密的技巧训练加上善用逆向思维、发散思维来达成。

2.1 预攻击阶段

该阶段主要为基本网络信息获取阶段, 主要方法及步骤包括以下几点。

(1) 获取基本网络信息:ping目标网络得到IP地址和TTL等信息;tcptraceroute和traceroute的结果;whois该结果;netcraft获取目标可能存在的域名、Web及服务器信息;curl获取目标web基本信息;nmap对网站进行端口扫描并判断操作系统类型;google、yahoo、baidu等搜索引擎获取目标信息;采用FWtester、hping3等工具进行防火墙规则探测等。 (2) 常规漏洞扫描和采用商用软件进行检测:结合使用游刃与Nessus等商用或免费的扫描工具进行漏洞扫描;采用Solar Wind对网络设备等进行发现;采用nikto、webinspect等软件对web常见漏洞进行扫描;采用如App Detectiv之类的商用软件对数据库进行扫描分析等。 (3) 对Web和数据库应用进行分析:采用Web Proxy、SPIKEProxy、webscarab、Paros Proxy、Absinthe等工具分析;采用Ethereal抓包协助分析采用webscan、fuzzer进行SQL注入和XSS漏洞初步分析;手工检测SQL注入和XSS漏洞;采用类似OScanner的工具对数据库进行分析等。 (4) 应用分析的注意事项:检查应用系统架构、防止用户绕过系统直接修改数据库;检查身份认证模块, 防止非法用户绕过身份认证;检查数据库接口模块, 防止用户获取系统权限;检查文件接口模块, 防止用户获取系统文件;检查其他安全威胁。

2.2 攻击阶段

(1) 基于通用设备、数据库、操作系统和应用的攻击:可以采用各种公开及私有的缓冲区溢出程序代码, 也可以采用诸如Metasploit Framework之类的利用程序集合。

(2) 基于应用的攻击:基于web数据库或特定的B/S或C/S结构的网络应用程序存在的弱点进行攻击, 常见的如SQL注入攻击、跨站脚本攻击等均属于这一类型。

(3) 口令猜解技术:口令是信息安全里永恒的主题, 在笔者参与的渗透测试项目中, 通过弱口令获取权限者不在少数。进行口令猜解可以采用游刃、X-Scan、Brutus、Hydra、溯雪等工具。

2.3 后攻击阶段

(1) 口令嗅探与键盘记录:嗅探、键盘记录、木马等软件, 功能简单, 但要求不被防病毒软件发觉, 因此通常需要自行开发或修改。 (2) 口令破解:有许多著名的口令破解软件, 如L0pht Crack、John the Ripper、Cain等。

2.4 其它手法

这里列出的方法, 有些可能对用户的网络造成较大影响 (例如服务中断) , 有的则与安全管理密切相关 (不能仅从技术考量) , 有的则是需要到现场才能进行作业, 因此通常情况下较少为渗透测试者所采用。但可以根据具体客户的需求状态进行判断。 (1) Do S&DDo S。 (2) 客户端攻击。 (3) 无线攻击。 (4) War Dialing。 (5) 社交工程方法。

2.5 后攻击阶段可能造成的影响

上一篇:家乡的中秋节作文600字下一篇:风信子的忧伤爱情散文