热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于渗透测试

今天看到某安全公司网站上有关渗透测试的内容,感觉不错,转了过来原文:http:cimersec.w92.mc-test.comindex.phpProfessionview

今天看到某安全公司网站上有关渗透测试的内容,感觉不错,转了过来大笑

原文:http://cimersec.w92.mc-test.com/index.php/Profession/view/id/9



渗透测试,是指为了对客户目标网络的安全性进行实际检查,进行带有攻击性行为的全面的安全压力测试;是评估客户目标主机和网络的安全性时模仿黑客特定攻击行为的过程。

详细地说,是指君立华域安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对客户目标网络的安全性作深入的探测,发现系统最脆弱环节的过程。

测试过程中,会采用各种手段和途径,包括端口扫描,漏洞扫描,密码猜测,密码破解,数据窃听,伪装欺骗等技术方式。最终目的就是为了检验该网络各个环节的安全性。

渗透测试方法

根据测试者掌握信息的多少进行分类

根据不同的测试需求,测试前掌握被测对象的信息多少是不同的。渗透测试在实际进行中具体划分为以下二种不同的方法:黑盒测试和白盒测试。

黑盒测试

黑盒测试又被称为“Zero-knowledge testing”,君立华域渗透测试工程师完全处于对系统一无所知的状态,通常这类测试的最初信息来自于DNS、Web、Email及各种公开对外的服务器。

白盒测试

白盒测试与黑盒测试不同,君立华域渗透测试工程师可以通过正常渠道向被测者要求,取得各种资料,包括网络拓扑、员工资料甚至网站或其他程序的代码片断,也能够与被测组织内的其他员工(销售、程序员、管理者……)进行面对面的沟通。这类测试的目的是模拟客户组织内部雇员的越权操作,和预防万一组织重要信息泄露,网络黑客能利用这些信息对组织构成的危害。

根据测试者的位置进行分类

测试目标不同,采用的技术也会有一定差异。测试者在系统网络的不同位置、不同攻击路径下进行渗透测试,结果反应的问题迥然不同。

内网测试

内网测试指的是君立华域渗透测试工程师由内部网络发起测试,这类测试能够模拟客户组织内部违规操作者的行为。

外网测试

外网测试指的是君立华域渗透测试工程师完全处于外部网络(例如拨号、ADSL或外部光纤),模拟从客户组织外部发起的攻击行为,可能来自于对客户组织内部信息一无所知的攻击者也可能来自于对客户组织内部信息一清二楚的攻击者。

不同网段之间的测试

这种渗透方式是从客户某内/外部网段,尝试对另一网段/Vlan进行渗透。

渗透测试流程

渗透测试的各个阶段图:


预攻击阶段

基本网络信息获取:

1. ping 目标网络得到 IP 地址和 ttl 等信息

2. tcptraceroute 和 traceroute 的结果

3. whois 结果

4. netcraft 获取目标可能存在的域名、Web 及服务器信息

5. curl 获取目标 web 基本信息

6. nmap 对网站进行端口扫描并判断操作系统类型

7. google、yahoo、baidu 等搜索引擎获取目标信息

8. 采用 FWtester、hping3 等工具进行防火墙规则探测

常规漏洞扫描和采用商用软件进行检测:

1. 结合使用游刃与 Nessus 等商用或免费的扫描工具进行漏洞扫描

2. 采用 SolarWind 对网络设备等进行发现

3. 采用 nikto、webinspect 等软件对 web 常见漏洞进行扫描

4. 采用如 AppDetectiv 之类的商用软件对数据库进行扫描分析

对 Web 和数据库应用进行分析:

采用 WebProxy、SPIKEProxy、webscarab、ParosProxy、Absinthe 等

工具进行分析:

1. 用 Ethereal 抓包协助分析

2. 用 webscan、fuzzer 进行 SQL 注入和 XSS 漏洞初步分析

3. 手工检测 SQL 注入和 XSS 漏洞

4. 采用类似 OScanner 的工具对数据库进行分析

应用分析的注意事项:

1. 检查应用系统架构、防止用户绕过系统直接修改数据库

2. 检查身份认证模块,防止非法用户绕过身份认证

3. 检查数据库接口模块,防止用户获取系统权限

4. 检查文件接口模块,防止用户获取系统文件

5. 检查其他安全威胁

攻击阶段

基于通用设备、数据库、操作系统和应用的攻击

可以采用各种公开及私有的缓冲区溢出程序代码,一个比较好的Exploit搜索站点是:http://www.frsirt.com/exploits/。也可以采用诸如metasploitFramework之类的利用程序集合。

基于应用的攻击

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

口令猜解技术

口令是信息安全里永恒的主题,进行口令猜解可以采用游刃、X-Scan、Brutus、Hydra、溯雪等工具。

后攻击阶段

口令嗅探与键盘记录

通过嗅探、键盘记录、木马等软件获取客户相关口令及键盘信息。

口令破解

利用L0phtCrack、John the Ripper、Cain 等软件破解客户加密后的口令。

攻击路径

内网测试

内网测试指的是君立华域渗透测试工程师由客户内部网络发起测试,这类测试能够模拟客户内部违规操作者的行为。内部主要可能采用的渗透方式:

1. 远程缓冲区溢出;

2. 口令猜测;

3. B/S 或 C/S 应用程序测试(如果涉及 C/S 程序测试,需要提前准备相关客户端软件供测试使用);

外网测试

外网测试指的是君立华域渗透测试工程师完全处于外部网络(例如拨号、ADSL 或外部光纤),模拟对客户内部状态一无所知的外部攻击者的行为。

1. 对网络设备的远程攻击;

2. 口令管理安全性测试;

3. 防火墙规则试探、规避;

4. Web 及其它开放应用服务的安全性测试;

不同网段Vlan 之间的渗透

这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan 进行渗透。这类测试通常可能用到的技术包括:

1.  对网络设备的远程攻击;

2.  对防火墙的远程攻击或规则探测、规避尝试;

信息收集技术

信息收集是每一步渗透攻击的前提,通过信息收集可以有针对性地制定模拟攻击测试计划,提高模拟攻击的成功率,同时可以有效的降低攻击测试对系统正常运行造成的不利影响。信息收集的方法包括 Ping Sweep、DNS Sweep、DNS zone transfer、操作系统指纹判别、应用判别、账号扫描、配置判别等。信息收集常用的工具包括商业网络安全漏洞扫描软件(例如:游刃、极光等),免费安全检测工具(例如:NMAP、NESSUS 等)。操作系统内置的许多功能(例如:TELNET、NSLOOKUP、IE 等)也可以作为信息收集的有效工具。



渗透测试,是指为了对客户目标网络的安全性进行实际检查,进行带有攻击性行为的全面的安全压力测试;是评估客户目标主机和网络的安全性时模仿黑客特定攻击行为的过程。

详细地说,是指君立华域安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对客户目标网络的安全性作深入的探测,发现系统最脆弱环节的过程。

测试过程中,会采用各种手段和途径,包括端口扫描,漏洞扫描,密码猜测,密码破解,数据窃听,伪装欺骗等技术方式。最终目的就是为了检验该网络各个环节的安全性。

渗透测试方法

根据测试者掌握信息的多少进行分类

根据不同的测试需求,测试前掌握被测对象的信息多少是不同的。渗透测试在实际进行中具体划分为以下二种不同的方法:黑盒测试和白盒测试。

黑盒测试

黑盒测试又被称为“Zero-knowledge testing”,君立华域渗透测试工程师完全处于对系统一无所知的状态,通常这类测试的最初信息来自于DNS、Web、Email及各种公开对外的服务器。

白盒测试

白盒测试与黑盒测试不同,君立华域渗透测试工程师可以通过正常渠道向被测者要求,取得各种资料,包括网络拓扑、员工资料甚至网站或其他程序的代码片断,也能够与被测组织内的其他员工(销售、程序员、管理者……)进行面对面的沟通。这类测试的目的是模拟客户组织内部雇员的越权操作,和预防万一组织重要信息泄露,网络黑客能利用这些信息对组织构成的危害。

根据测试者的位置进行分类

测试目标不同,采用的技术也会有一定差异。测试者在系统网络的不同位置、不同攻击路径下进行渗透测试,结果反应的问题迥然不同。

内网测试

内网测试指的是君立华域渗透测试工程师由内部网络发起测试,这类测试能够模拟客户组织内部违规操作者的行为。

外网测试

外网测试指的是君立华域渗透测试工程师完全处于外部网络(例如拨号、ADSL或外部光纤),模拟从客户组织外部发起的攻击行为,可能来自于对客户组织内部信息一无所知的攻击者也可能来自于对客户组织内部信息一清二楚的攻击者。

不同网段之间的测试

这种渗透方式是从客户某内/外部网段,尝试对另一网段/Vlan进行渗透。

渗透测试流程

渗透测试的各个阶段图:

预攻击阶段

基本网络信息获取:

1. ping 目标网络得到 IP 地址和 ttl 等信息

2. tcptraceroute 和 traceroute 的结果

3. whois 结果

4. netcraft 获取目标可能存在的域名、Web 及服务器信息

5. curl 获取目标 web 基本信息

6. nmap 对网站进行端口扫描并判断操作系统类型

7. google、yahoo、baidu 等搜索引擎获取目标信息

8. 采用 FWtester、hping3 等工具进行防火墙规则探测

常规漏洞扫描和采用商用软件进行检测:

1. 结合使用游刃与 Nessus 等商用或免费的扫描工具进行漏洞扫描

2. 采用 SolarWind 对网络设备等进行发现

3. 采用 nikto、webinspect 等软件对 web 常见漏洞进行扫描

4. 采用如 AppDetectiv 之类的商用软件对数据库进行扫描分析

对 Web 和数据库应用进行分析:

采用 WebProxy、SPIKEProxy、webscarab、ParosProxy、Absinthe 等

工具进行分析:

1. 用 Ethereal 抓包协助分析

2. 用 webscan、fuzzer 进行 SQL 注入和 XSS 漏洞初步分析

3. 手工检测 SQL 注入和 XSS 漏洞

4. 采用类似 OScanner 的工具对数据库进行分析

应用分析的注意事项:

1. 检查应用系统架构、防止用户绕过系统直接修改数据库

2. 检查身份认证模块,防止非法用户绕过身份认证

3. 检查数据库接口模块,防止用户获取系统权限

4. 检查文件接口模块,防止用户获取系统文件

5. 检查其他安全威胁

攻击阶段

基于通用设备、数据库、操作系统和应用的攻击

可以采用各种公开及私有的缓冲区溢出程序代码,一个比较好的Exploit搜索站点是:http://www.frsirt.com/exploits/。也可以采用诸如metasploitFramework之类的利用程序集合。

基于应用的攻击

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

口令猜解技术

口令是信息安全里永恒的主题,进行口令猜解可以采用游刃、X-Scan、Brutus、Hydra、溯雪等工具。

后攻击阶段

口令嗅探与键盘记录

通过嗅探、键盘记录、木马等软件获取客户相关口令及键盘信息。

口令破解

利用L0phtCrack、John the Ripper、Cain 等软件破解客户加密后的口令。

攻击路径

内网测试

内网测试指的是君立华域渗透测试工程师由客户内部网络发起测试,这类测试能够模拟客户内部违规操作者的行为。内部主要可能采用的渗透方式:

1. 远程缓冲区溢出;

2. 口令猜测;

3. B/S 或 C/S 应用程序测试(如果涉及 C/S 程序测试,需要提前准备相关客户端软件供测试使用);

外网测试

外网测试指的是君立华域渗透测试工程师完全处于外部网络(例如拨号、ADSL 或外部光纤),模拟对客户内部状态一无所知的外部攻击者的行为。

1. 对网络设备的远程攻击;

2. 口令管理安全性测试;

3. 防火墙规则试探、规避;

4. Web 及其它开放应用服务的安全性测试;

不同网段Vlan 之间的渗透

这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan 进行渗透。这类测试通常可能用到的技术包括:

1.  对网络设备的远程攻击;

2.  对防火墙的远程攻击或规则探测、规避尝试;

信息收集技术

信息收集是每一步渗透攻击的前提,通过信息收集可以有针对性地制定模拟攻击测试计划,提高模拟攻击的成功率,同时可以有效的降低攻击测试对系统正常运行造成的不利影响。信息收集的方法包括 Ping Sweep、DNS Sweep、DNS zone transfer、操作系统指纹判别、应用判别、账号扫描、配置判别等。信息收集常用的工具包括商业网络安全漏洞扫描软件(例如:游刃、极光等),免费安全检测工具(例如:NMAP、NESSUS 等)。操作系统内置的许多功能(例如:TELNET、NSLOOKUP、IE 等)也可以作为信息收集的有效工具。



推荐阅读
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
author-avatar
大工
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有