第一篇:详述SSL和TLS的Web安全渗透测试
如果Web服务中的SSL和TLS协议出现安全问题,后果会如何?很明显,这样的话攻击者就可以拥有你所有的安全信息,包括我们的用户名、密码、信用卡、银行信息……所有的一切。本文将向读者详细介绍如何针对Web服务中的SSL和TLS协议进行安全渗透测试。我们首先对这两种协议进行了概述,然后详细介绍了针对加密信道安全性的黑盒测试和白盒测试。最后列出了一些常用的安全测试工具。
一、简介
目前,许多重要的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服务进行通信。
最后,尽管人们乐于使用常规浏览器来检查证书,但是浏览器通常具有许多漏洞,此外浏览器进行检测时可能受到许多不易察觉的配臵设臵的影响。相反,依靠安全漏洞扫描器或者专门的工具来进行检查则要好得多。
第二篇:什么是SSL安全协议
什么是SSL安全协议
SSL安全协议最初是由Netscape Communication公司设计开发的,又叫“安全套接层(Secure Sockets Layer)协议”,主要用于提高应用程序之间数据的安全系数。SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TC/IP应用程序。
SSL安全协议主要提供三方面的服务:
用户和服务器的合法性认证
认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,安全套接层协议要求在握手交换数据时进行数字认证,以此来确保用户的合法性。
加密数据以隐藏被传送的数据
安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。
保护数据的完整性
安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。
安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段:
1.接通阶段:客户机通过网络向服务器打招呼,服务器回应;
2.密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法;
3.会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码;
4.检验阶段:客户机检验服务器取得的密码;
5.客户认证阶段:服务器验证客户机的可信度;
6.结束阶段:客户机与服务器之间相互交换结束的信息。
当上述动作完成之后,两者间的资料传送就会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。
发送时信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。
接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。
本文由:ev ssl证书 http://verisign.itrus.com.cn/ 整理
第三篇:网络信息安全 渗透测试
网络信息安全--课程结业报告
重庆交通大学
课程结业报告
班 级:
学 号:
姓 名:
实验项目名称:
实验项目性质:
实验所属课程:
实验室(中心):
指 导 教 师 :
实验完成时间:
渗透测试
设计性
网络信息安全
软件实验室
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
八、心得体会
通过本次网络信息安全课程的学习,对渗透过程有了一定的了解,其基本步骤可总结为首先进行信息收集,可以收集的信息有活动主机、端口等等,然后扫描主机的漏洞,并对漏洞加以利用,从而达到攻击的目的。
这次设计对各个模块有了浅显的认识,深入程度还有待提高。
第四篇:软件工程-渗透测试
火龙果整理 uml.org.cn
渗透测试技术
目录
1.1渗透测试概念.....................................................................................................................2 1.2渗透测试原理.....................................................................................................................2 1.3渗透测试目标.....................................................................................................................2 1.4渗透测试特点.....................................................................................................................3 1.5渗透测试流程和授权.........................................................................................................4
1.5.1渗透测试流程..........................................................................................................4 1.5.2渗透测试授权..........................................................................................................4 1.6渗透测试方法.....................................................................................................................5
1.6.1测试方法分类..........................................................................................................5 1.6.2信息收集..................................................................................................................5 1.6.3端口扫描..................................................................................................................6 1.6.4权限提升..................................................................................................................6 1.6.5不同网段/Vlan之间的渗透....................................................................................6 1.6.6溢出测试..................................................................................................................6 1.6.7SQL注入攻击..........................................................................................................7 1.6.8检测页面隐藏字段..................................................................................................7 1.6.9跨站攻击..................................................................................................................7 1.6.10WEB应用测试.......................................................................................................7 1.6.11代码审查................................................................................................................8 1.6.12第三方软件误配置................................................................................................8 1.6.13Cookie利用............................................................................................................8 1.6.14后门程序检查........................................................................................................8 1.6.15VOIP测试..............................................................................................................8
火龙果整理 uml.org.cn 1.6.16其他测试................................................................................................................9 1.7常用渗透测试工具.............................................................................................................9
1.7.1应用层工具............................................................................................................10 1.7.2系统层工具............................................................................................................10 1.7.3网络层工具............................................................................................................10 1.7.4其他方法和工具....................................................................................................11 1.8渗透测试风险规避措施...................................................................................................11
1.1渗透测试概念
渗透测试(Penetration Test), 是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。
web网络渗透测试:主要通过对目标系统信息的全面收集、对系统中网路设备的探测、对服务器系统主机的漏洞扫描、对应用平台及数据库系统的安全性扫描及通过应用系统程序的安全性渗透测试等手段来完成对整个web系统的安全性渗透检测。该渗透测试是一个完整、系统的测试过程,涵盖了网络层面、主机层面、数据层面以及应用服务层面的安全性测试。
1.2渗透测试原理
渗透测试主要依据CVE(Common Vulnerabilities & Exposures公共漏洞和暴露)已经发现的安全漏洞,以及隐患漏洞。模拟入侵者的攻击方法对应用系统、服务器系统和网络设备进行非破坏性质的攻击性测试。
1.3渗透测试目标
渗透测试利用各种安全扫描器对网站及相关服务器等设备进行非破坏性质的模拟入侵者攻击,目的是侵入系统并获取系统信息并将入侵的过程和细节总结编写成测试报告,由此确定存在的安全威胁,并能及时提醒安全管理员完善安全策略,降低安全风险。
人工渗透测试和工具扫描可以很好的互相补充。工具扫描具有很好的效率和速度,但是存在一定的误报率,不能发现高层次、复杂的安全问题;渗透测试对测试者的专业技能要
火龙果整理 uml.org.cn 求很高(渗透测试报告的价值直接依赖于测试者的专业技能),但是非常准确,可以发现逻辑性更强、更深层次的弱点。
1.4渗透测试特点
入侵者的攻击入侵需要利用目标网络的安全弱点,渗透测试也是同样的道理。测试人员模拟真正的入侵者入侵攻击方法,以人工渗透为主,辅助以攻击工具的使用,以保证整个渗透测试过程都在可以控制和调整的范围之内,同时确保对网络没有造成破坏性的损害。
由于采用可控制的、非破坏性质的渗透测试,因此不会对被评估的客户信息系统造成严重的影响。在渗透测试结束后,客户信息系统将基本保持一致。
火龙果整理 uml.org.cn 1.5渗透测试流程和授权 1.5.1渗透测试流程
1.5.2渗透测试授权
测试授权是进行渗透测试的必要条件。用户应对渗透测试所有细节和风险的知晓、所有过程都在用户的控制下进行。
火龙果整理 uml.org.cn 1.6渗透测试方法 1.6.1测试方法分类
根据渗透目标分类: 主机操作系统渗透:
对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统进行渗透测试。 数据库系统渗透:
对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2等数据库应用系统进行渗透测试。 应用系统渗透:
对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的www.xiexiebang.com 信息收集的方法包括主机网络扫描、操作类型判别、应用判别、账号扫描、配置判别等等。模拟入侵攻击常用的工具包括Nmap、Nessus、X-Scan等,操作系统中内置的许多工具(例如telnet)也可以成为非常有效的模拟攻击入侵武器。
1.6.3端口扫描
通过对目标地址的TCP/UDP端口扫描,确定其所开放的服务的数量和类型,这是所有渗透测试的基础。通过端口扫描,可以基本确定一个系统的基本信息,结合测试人员的经验可以确定其可能存在,以及被利用的安全弱点,为进行深层次的渗透提供依据。
1.6.4权限提升
通过收集信息和分析,存在两种可能性,其一是目标系统存在重大弱点:测试人员可以直接控制目标系统,然后直接调查目标系统中的弱点分布、原因,形成最终的测试报告;其二是目标系统没有远程重大弱点,但是可以获得远程普通权限,这时测试人员可以通过该普通权限进一步收集目标系统信息。接下来,尽最大努力获取本地权限,收集本地资料信息,寻求本地权限升级的机会。这些不停的信息收集分析、权限升级的结果将构成此次项目整个渗透测试过程的输出。
1.6.5不同网段/Vlan之间的渗透
这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan进行渗透。这类测试通常可能用到的技术包括:对网络设备和无线设备的远程攻击;对防火墙的远程攻击或规则探测、规避尝试。信息的收集和分析伴随着每一个渗透测试步骤,每一个步骤又有三个组成部分:操作、响应和结果分析。
1.6.6溢出测试
当测试人员无法直接利用帐户口令登陆系统时,也会采用系统溢出的方法直接获得系统控制权限,此方法有时会导致系统死机或从新启动,但不会导致系统数据丢失,如出现死机等故障,只要将系统从新启动并开启原有服务即可。一般情况下,如果未授权,将不会进行此项测试!
火龙果整理 uml.org.cn 1.6.7SQL注入攻击
SQL注入常见于应用了SQL 数据库后端的网站服务器,入侵者通过提交某些特殊SQL语句,最终可能获取、篡改、控制网站服务器端数据库中的内容。此类漏洞是入侵者最常用的入侵方式之一。
1.6.8检测页面隐藏字段
网站应用系统常采用隐藏字段存储信息。许多基于网站的电子商务应用程序用隐藏字段来存储商品价格、用户名、密码等敏感内容。恶意用户通过操作隐藏字段内容达到恶意交易和窃取信息等行为,是一种非常危险的漏洞。
1.6.9跨站攻击
入侵者可以借助网站来攻击访问此网站的终端用户,来获得用户口令或使用站点挂马来控制客户端。
1.6.10WEB应用测试
Web脚本及应用测试专门针对Web及数据库服务器进行。根据最新的统计,脚本安全弱点为当前Web系统,尤其是存在动态内容的Web系统比较严重的安全弱点之一。利用脚本相关弱点轻则可以获取系统其他目录的访问权限,重则将有可能取得系统的控制权限。因此对于含有动态页面的Web、数据库等系统,Web脚本及应用测试将是必不可少的一个环节。在Web脚本及应用测试中,可能需要检查的部份包括:
检查应用系统架构,防止用户绕过系统直接修改数据库; 检查身份认证模块,用以防止非法用户绕过身份认证; 检查数据库接口模块,用以防止用户获取系统权限; 检查文件接口模块,防止用户获取系统文件; 检查其他安全威胁;
火龙果整理 uml.org.cn 1.6.11代码审查
对受测业务系统站点进行安全代码审查的目的是要识别出会导致安全问题和事故的不安全编码技术和漏洞。这项工作虽然可能很耗时,但是必须进行,代码审查测试工作包括如下工作但不仅限于此:
审查代码中的XSS脚本漏洞; 审查代码中的 SQL 注入漏洞; 审查代码中的潜在缓冲区溢出;
审查识别允许恶意用户启动攻击的不良代码技术; 其他软件编写错误及漏洞的寻找及审查。
1.6.12第三方软件误配置
第三方软件的错误设置可能导致入侵者利用该漏洞构造不同类型的入侵攻击。
1.6.13Cookie利用
网站应用系统常使用cookies 机制在客户端主机上保存某些信息,例如用户ID、口令、时戳等。入侵者可能通过篡改cookies 内容,获取用户的账号,导致严重的后果。
1.6.14后门程序检查
系统开发过程中遗留的后门和调试选项可能被入侵者所利用,导致入侵者轻易地从捷径实施攻击。
1.6.15VOIP测试
在对受测网络进行渗透测试时,将会进行VoIP业务的安全测试,所有影响数据网络的攻击都可能会影响到VoIP网络,如病毒、垃圾邮件、非法侵入、DoS、劫持电话、偷听、数据嗅探等,因此,首先会对VoIP网络进行安全测试,接着对VoIP服务器进行测试,这些服务器常常是恶意攻击者的靶子,因为它们是任何一个VoIP网络的心脏。服务器存在的致命弱点包括其操作系统、服务及它所支持的应用软件,可能都会存在安全漏洞。要将黑客对服务
火龙果整理 uml.org.cn 器的攻击降至最小程度,就要对VoIP网络及其服务器、软终端进行全面的安全测试,以查找安全隐患,协助用户技术人员修补这些漏洞。
1.6.16其他测试
在渗透测试中还需要借助暴力破解、网络嗅探等其他方法,目的也是为获取用户名及密码。
1.7常用渗透测试工具
可能使用到的命令和工具包括: 命令:
Google搜索和攻击;
DNS工具:例如:Whois,nslookup, DIG等等;
各种测试命令;
在线网络数据库:Ripe, Afrinic, APNIC, ARIN LACNIC 工具:
主流商业扫描器:ISS Internet Scanner、NEUUS、Core Impact、NSfocus极光扫描器. 黑客常用端口扫描器:如:NMAP、Superscan„ SNMP Sweepers(Solarwinds)„
Website mirror tools(HTTrack, teleport pro)„
无线网络扫描工具(Netstumbler, Kissmet, Wellenreiter, Airsnort) WEB漏扫工具AppScan,wvs, WebInspect, Nstalker、nikto、google hack 溢出工具:Metasploit 破解工具:John the Ripper、THC Hydra、L0phtcrack、Aircrack、Airsnort、Pwdump Sniffer工具:Wireshark、Kismet、Tcpdump、Cain and Abel Ettercap、NetStumbler
火龙果整理 uml.org.cn 1.7.1应用层工具
Acunetix Web Vulnerability Scanner(漏洞扫描工具)
这是一款网络漏洞扫描工具。通过网络爬虫测试网站安全,检测流行的攻击 ,如跨站点脚本、sql 注入等。在被入侵者攻击前扫描购物车、表格、安全区域和其他Web应用程序。
1.7.2系统层工具
SSS6.0扫描器汉化版
Shadow Security Scanner v6.67.58,02月09日发布,俄罗斯安全界非常专业的安全漏洞扫描软件,具有安全扫描,口令检查,操作系统检查等强大功能,支持在线升级。
ISS漏洞扫描器
ISS(国际互联网安全系统公司)是在信息安全领域中专门致力于反黑客攻击的专业公司。目前它的主要产品有四大系列:Real Secure(实时入侵监测器)、Internet Scanner(互联网扫描器)、System Scanner(系统扫描器)、Database Scanner(数据库扫描器)。其中Real Secure和Internet Scanner是其拳头产品,Database Scanner是其独有的专用数据库防黑安全产品。
nmap端口扫描工具
nmap是目前为止最广为使用的国外端口扫描工具之一。它可以很容易的安装到Windows和unix操作系统中,包括mac os x(通过configure、make、make install等命令)然后对主机和网络设备进行端口扫描,以寻找目标主机的漏洞。
1.7.3网络层工具
SolarWinds Engineer’s Edition 是一套非常全面的网络工具库,包括了网络恢复、错误监控、性能监控和管理工具等。除了包含Professional PLUS Edition中所有的工具外,Engineer’s Edition还增加了新的Swich Port Mapper工具,它可以switch上自动执行Layer 2和Layer 3恢复。此工程师版包含了Solarwinds MIB浏览器和网络性能监控器(Network Performance Monitor),以及其他附加网络管理工具。
火龙果整理 uml.org.cn 1.7.4其他方法和工具
Whois命令——是一种Internet目录服务,whois提供了在Internet上一台主机或者某个域的所有者信息,如管理员的姓名、地址、电话号码等,这些信息通常保存在Internlc的数据库内。一旦得到了Whois记录,从查询的结果还可以得知primary和secondary域名服务器的信息。
Nslookup——一种DNS的排错工具,可以使用nslookup命令把你的主机伪装成secondaryDNS服务器,如果成功便可以要求从主DNS服务器进行区域传送,如果传送成功,可以获得大量有用的信息。
Traceroute——用于路由追踪,判断从你的主机到目标主机经过了哪些路由器、跳计数、响应时间、路由器通断情况等,大多数的操作系统自带了自己版本的traceroute程序。
端口扫描程序——专用的对网络端口进行扫描的工具,定义好IP地址范围和端口后就可以开始扫描。
网络侦查和服务器侦查程序——通过该种程序可以侦查出网络上已经开启的端口。如PingPro的工作是是通过监控远程工程调用服务。
以及测试人员自行编译的渗透测试工具等等。
1.8渗透测试风险规避措施
渗透测试过程中可能对业务产生影响,可以采取以下措施来减小风险: 在渗透测试中不使用含有拒绝服务的测试策略。 渗透测试时间尽量安排在业务量不大的时段或者晚上。
在渗透测试过程中如果出现被评估系统没有响应的情况,应当立即停止测试工作,与用户相关人员一起分析情况,在确定原因后,并待正确恢复系统,采取必要的预防措施(比如调整测试策略等)之后,才可以继续进行。
测试人员会与用户网站系统和安全管理人员保持良好沟通。随时协商解决出现的各种难题。
测试方自控:由渗透测试方对本次测透测试过程中的三方面数据进行完整记录:操作、响应、分析,最终形成完整有效的渗透测试报告提交给用户。
火龙果整理 uml.org.cn
一、基于网站的渗透
1、名称:Acunetix Web Vulnerability Scanner 6(有收费和免费两种版本)
功能:网站漏洞扫描器。
平台:Windows
2、名称:IBM Rational AppScan 7.8
功能:网站漏洞扫描器。
平台:Windows
3、名称:Jsky
功能:网站漏洞扫描器。
平台:Windows
4、名称:DTools
功能:阿D的多功能入侵工具,带扫描、植马等。
平台:Windows
5、名称:wepoff
功能:网站漏洞扫描器。
平台:Linux / Unix
6、名称:Domain3.6
功能:网站旁注工具。
平台:Windows
7、名称:casi
功能:PHP+MYSQL注射工具。
平台:Windows
8、名称:HP WebInspect 7.7
功能:网站漏洞扫描器。
平台:Windows
9、名称:php_bug_scanner
功能:PHP程序漏洞扫描器。
平台:Windows
10、名称:多线程网站后台扫描工具
功能:扫描网站后台管理登陆地址。
平台:Windows
11、名称:NStalker
功能:网站爬虫。
平台:Windows
12、名称:挖掘鸡 v6.5
功能:挖掘搜索引擎关键字。
平台:Windows
13、名称:cookie注入工具
功能:cookies注入辅助工具。
平台:Windows
火龙果整理 uml.org.cn
14、名称:httpup
功能:通用HTTP上传程序。
平台:Windows
二、基于系统的渗透
1、名称:nmap
功能:系统端口扫描器。
平台:Windows
2、名称:Nessus
功能:系统漏洞扫描器。
平台:Windows
3、名称:X-Scan
功能:系统漏洞扫描器。
平台:Windows
4、名称:SuperScan
功能:系统端口扫描器。
平台:Windows
5、名称:SSS
功能:SSS扫描器。
平台:Windows
6、名称:NetCat
功能:瑞士军刀。
平台:Windows
7、名称:Apache Tomcat Crack
功能:Tomcat弱口令扫描器。
平台:Windows
8、名称:iisputscanner 功能:中间件扫描器。平台:Windows
9、名称:Metasploit framework
功能:渗透辅助工具。
平台:Windows
10、名称:Encoder 功能:编码转换。平台:Windows
11、名称:awstats 功能:日志分析工具。平台:Windows
12、名称:logclear 功能:日志清除工具。平台:Windows
13、名称:黑刀超级字典生成器
功能:密码生成。
火龙果整理 uml.org.cn平台:Windows
14、名称:溯雪
功能:破解网站、邮箱、BBS登陆密码。平台:Windows
15、名称:MD5crack 功能:MD5密码破解工具包。平台:Windows
16、名称:webbench 功能:压力测试工具,可用于DDOS。平台:Linux/Unix
17、名称:netstumbler 功能:无线网络攻击工具。平台:Windows
18、名称:wifizoo 功能:无线网络攻击工具。平台:Linux/Unix
19、名称:arpsniffer 功能:局域网嗅探抓包。平台:Windows 20、名称:ethereal 功能:局域网嗅探抓包。平台:Windows
21、名称:SnifferPro 功能:局域网嗅探抓包。平台:Windows
22、名称:WinSock Expert 功能:网站上传抓包。平台:Windows
23、名称:logclear 功能:日志清除工具。平台:Windows
24、名称:ByShell、DG远控、PcShare、TeamViewer 功能:远程控制工具。平台:Windows
三、基于数据库的渗透
1、名称:DSQLTools
功能:啊D 的SQL注入工具。
平台:Windows
2、名称:nbsi3.0
功能:MSSQL注入工具。
火龙果整理 uml.org.cn
平台:Windows
3、名称:mysqlweak
功能:Mysql数据库弱口令扫描器。
平台:Windows
4、名称:pangolin
功能:数据库注入工具。
平台:Windows
5、名称:db2utils
功能:DB2漏洞利用工具。
平台:Linux / Unix
6、名称:oscanner
功能:Oracle扫描工具。
平台:Windows
7、名称:oracle_checkpwd_big
功能:Oracle弱口令猜解工具。
平台:Windows
第五篇:渗透测试总结(范文)
XSS、SQL注入、文件上传、弱口令、备份信息泄露 XSS 分析漏洞成因
构造payload NetCat监听端口
nc.exe-lnvp 8888 利用cookie登录 获取权限
弱口令
Burpsuit拦截数据包 Intruder模块 标记密码 加载字典 开始爆破 查看返回值
SQL注入
抓包 Decoder as url 保存post请求 Sqlmap.py
sqlmap.py-r C:Joomla.txt-p filter[category_id] SQLmap OS-shell
sqlmap.exe-r C:Joomla.txt-p filter[category_id]--os-shell 获取交互式shell