渗透测试

渗透测试相关工具

 

Application:simple Fuzzer、peach、Nessus、Burp suit、Nikto、Metasploit、openVAS、John the Ripper、Netsparker、AWVS、Probely

Data:sqlmap、Metasploit、Netsparker、AWVS、Probely

RunTime:Memory Analyzer、JProbe、JRockit用来检查内存泄漏的工具,Thread Dump Analyzer用来线程分析的工具,JVM性能监控工具,除了自带的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等【摘自Java中间件测试工具

MiddleWare:

OS:Nessus、openVAS、Metasploit

Virtualization:

Server:Metasploit、Nessus、Nikto

Storage:

Networking:wireshark、Nessus


Simple Fuzzer工具介绍

基于模糊测试的一个工具,模糊测试是一种不同于渗透测试的漏洞检测方式。它向目标系统发送各种非预期的输入,然后通过监视异常结果来发现漏洞。Simple Fuzzer工具具备全面的模糊测试功能,但使用非常简单。该工具提供一种非常简洁的脚本语言。该语言提供文本模糊字符串和序列模糊字符串两种形式。同时,该语言支持脚本包含等功能,来构建复杂的测试用例。通过该语言,用户来构建测试所用的配置文件。然后,通过Simple Fuzzer加载该文件,就可以对目标实施各种模糊测试。

同时可用于模糊测试的工具还有Peach.

Nessus介绍

号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。Nessus也是渗透测试重要工具之一。
Nessus提供了多个层面的漏洞扫描,如Web application Test、Base Network Scan等。

Burp Suit

Burp Suite是用于攻击web 应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。

Nikto

Nikto是用perl语言开发的开源WEB安全扫描器;识别网站软件版本;搜索存在安全隐患的文件;检查服务器配置漏洞;检查WEB Application层面的安全隐患;避免404误判(原因:很多服务器不遵循RFC标准,对于不存在的对象返回200响应码);依据响应文件内容判断,不同扩展名的文件404响应内容不同;去时间信息后的内容取MD5值;不建议用-no404参数(-no404参数指去不校验404误判)

Nikto还是用来发现默认网页文件、检查网页服务器和CGI(Web 服务器运行时外部程序的规范)安全问题的工具,它是开源的,使用Perl开发,可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件CGIs;超过625种服务器版本;超过230种特定服务器问题;

Metasploit

Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。

Metasploit体系结构

 

sqlmap

Features

Full support for MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB, Informix, HSQLDB and H2 database management systems.

Full support for six SQL injection techniques: boolean-based blind, time-based blind, error-based, UNION query-based, stacked queries and out-of-band.

Support to directly connect to the database without passing via a SQL injection, by providing DBMS credentials, IP address, port and database name.

Support to enumerate users, password hashes, privileges, roles, databases, tables and columns.

Automatic recognition of password hash formats and support for cracking them using a dictionary-based attack.

Support to dump database tables entirely, a range of entries or specific columns as per user's choice. The user can also choose to dump only a range of characters from each column's entry.
Support to search for specific database names, specific tables across all databases or specific columns across all databases' tables. This is useful, for instance, to identify tables containing custom application credentials where relevant columns' names contain string like name and pass.

Support to download and upload any file from the database server underlying file system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.

Support to execute arbitrary commands and retrieve their standard output on the database server underlying operating system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.

Support to establish an out-of-band stateful TCP connection between the attacker machine and the database server underlying operating system. This channel can be an interactive command prompt, a Meterpreter session or a graphical user interface (VNC) session as per user's choice.

Support for database process' user privilege escalation via Metasploit's Meterpreter getsystem command.

openVAS

openVAS是Nessus的一个开源分支,用于管理目标系统的漏洞。

OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。

wireshark

Wireshark is the world’s foremost and widely-used network protocol analyzer.

John the Ripper

是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。除了在各种Unix系统上最常见的几种密码哈希类型之外,它还支持Windows LM散列,以及社区增强版本中的许多其他哈希和密码。

Netsparker

Netsparker是一款著名的Web应用漏洞扫描工具,虽然名气不如AWVS,但其功能强大,可以爬行并识别各种Web应用中存在的漏洞。能识别的Web应用漏洞包括SQL注入、XSS(跨网站指令码)、命令注入、本地文件包含和任意文件读取、远程文件包含、框架注入、内部路径信息披露等。

AWVS

Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。WVS可以检查SQL注入漏洞,也可以检查跨站脚本攻击漏洞,可以扫描任何可以通过web浏览访问和遵循HTTP/HTTPS规则的web站点和web应用程序。

Probely

Probely is a web vulnerability scanner for agile teams. It provides continuous scanning of web applications and lets you efficiently manage the lifecycle of the vulnerabilities found, in a sleek and intuitive web interface. Scans for SQL Injections, XSS, OWASP TOP10 and over 5000 vulnerabilities, including 1000 WordPress and Joomla vulnerabilities。

A collection of awesome penetration testing resources, tools and other shiny things
+ +
对应的中文介绍翻译

注:渗透测试流程
明确目标 -- 信息收集 -- 漏洞探测 -- 漏洞验证 -- 信息分析 -- 获取所需 -- 信息整理 -- 形成报告

https://www.jianshu.com/p/4548ac14580f

 

什么是渗透测试?

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

摘自绿盟科技博文:
渗透测试(Penetration Testing)是受信任的第三方通过模拟黑客可能使用到的攻击手段和漏洞挖掘技术对目标网络或目标系统的安全性作出风险评估和脆弱性分析并给出安全加固建议的一个测试过程。

换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。

渗透测试和漏洞扫描有什么区别

漏洞扫描允许用户发现应用程序中的已知弱点,并定义 修复和提高应用程序整体安全性的方法。漏洞扫描的基本行为是:是否安装了安全补丁,系统是否正确地配置等;因此,漏洞扫描是一种侦测控制方法。

渗透测试主要是模拟实时系统,帮助用户探索系统可能存在什么样的问题(比如,是否可以被未经授权的用户访问等),如果存在某种缺陷,可能造成什么危害。渗透测试这一行为的初衷是验证当前系统的网络安全防御策略按照计划的运行正常执行。或者说渗透测试提供了一种证明系统安全防御策略按照计划正常执行的机制。另外,渗透测试是一种预防控制方法,它能给出系统现有安全层的总体视图。

我们使用漏洞扫描或者是渗透测试,要取决于测试人员的测试目的,只有明确了测试目的,选取哪种方式就显得显而易见了。

举例说明渗透测试和漏洞扫描

摘自百度百科:
打一个比方来解释渗透测试的必要性。假设你要修建一座金库,并且你按照建设规范将金库建好了。此时是否就可以将金库立即投入使用呢?肯定不是!因为还不清楚整个金库系统的安全性如何,是否能够确保存放在金库的贵重东西万无一失。那么此时该如何做?可以请一些行业中安全方面的专家对这个金库进行全面检测和评估,比如检查金库门是否容易被破坏,检查金库的报警系统是否在异常出现的时候及时报警,检查所有的门、窗、通道等重点易突破的部位是否牢不可破,检查金库的管理安全制度、视频安防监控系统、出入口控制等等。甚至会请专人模拟入侵金库,验证金库的实际安全性,期望发现存在的问题。 这个过程就好比是对金库的渗透测试。这里金库就像是我们的信息系统,各种测试、检查、模拟入侵就是渗透测试。

也许你可能还是有疑问:我定期更新安全策略和程序,时时给系统打补丁,并采用了安全软件,以确保所有补丁都已打上,还需要渗透测试吗?需要!这些措施就好像是金库建设时的金库建设规范要求,你按照要求来建设并不表示可以高枕无忧。而请专业渗透测试人员(一般来自外部的专业安全服务公司)进行审查或渗透测试就好像是金库建设后的安全检测、评估和模拟入侵演习,来独立地检查你的网络安全策略和安全状态是否达到了期望。渗透测试能够通过识别安全问题来帮助了解当前的安全状况。到位的渗透测试可以证明你的防御确实有效,或者查出问题,帮助你阻挡可能潜在的攻击。提前发现网络中的漏洞,并进行必要的修补,就像是未雨绸缪;而被其他人发现漏洞并利用漏洞攻击系统,发生安全事故后的补救,就像是亡羊补牢。很明显未雨绸缪胜过亡羊补牢。




链接:https://www.jianshu.com/p/412a39b7a9fe

 

 

渗透测试

 

测试内容

1、web application中的每个功能
2、 第三方组件的实现和用法
3、服务器及其上的不同服务(web,mail,FTP,ssh等)
4、每个element 安全配置
5、公司的一些策略:更新,团队工作方法(流程,代码如何共享?...)

当前SHOPZ项目侧重于application上的测试,有必要明确SHOPZ实现的每项功能,针对每个功能做渗透测试。比如表单提交功能,需要检测表单内容带来的各种问题,如sql注入等;另外从client browser到server通信的过程中,要检测数据传输的安全性,如果数据传输过程中被intercept,这部分数据时候会包含敏感信息或者说是明文信息等。

上面这段话我想表达的意思就是,Penetration Testing在应用层面要做到对每个功能的testing,然后在每个功能testing过程中,需要pentesters周密考虑数据安全性问题以及可能存在的安全隐患,然后站在hacker角度来说的话,就是想尽办法获取敏感数据,或者是采用一切方法破坏application的正常运行。

当然,Penetration Testing 可以只关注技术细节,也可以关注社会工程。(社会工程:把带来的威胁也考虑进来,比如钓鱼软件、伪装成团队人员通过email或者phone窃取机密信息等)

我们这里只关注技术细节问题。

渗透测试得到的结果是什么

pentesters在做完渗透测试之后应该得到这样的一个结果:得到测试报告。需要非常精确地记录下所测试的和所发现的。开发人员将使用该报告来纠正这些缺陷。基本上都是通过技术报告,列出所测试的每一项以及细节内容:

  1. 我们发现了哪些漏洞和缺陷
  2. 我们在哪发现的
  3. 它们是什么
  4. 它们为什么是一个缺陷,它们如何被攻击者利用
  5. 在渗透测试期间它们是如何被暴露的
  6. 纠正建议是什么

https://www.jianshu.com/p/83f3258dcb2b

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值