本文目录一览:
Python渗透测试工具都有哪些
网络
Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包。可用作交互式包处理程序或单独作为一个库
pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库
libdnet: 低级网络路由,包括端口查看和以太网帧的转发
dpkt: 快速,轻量数据包创建和分析,面向基本的 TCP/IP 协议
Impacket: 伪造和解码网络数据包,支持高级协议如 NMB 和 SMB
pynids: libnids 封装提供网络嗅探,IP 包碎片重组,TCP 流重组和端口扫描侦查
Dirtbags py-pcap: 无需 libpcap 库支持读取 pcap 文件
flowgrep: 通过正则表达式查找数据包中的 Payloads
Knock Subdomain Scan: 通过字典枚举目标子域名
SubBrute: 快速的子域名枚举工具
Mallory: 可扩展的 TCP/UDP 中间人代理工具,可以实时修改非标准协议
Pytbull: 灵活的 IDS/IPS 测试框架(附带超过300个测试样例)
调试和逆向工程
Paimei: 逆向工程框架,包含PyDBG, PIDA , pGRAPH
Immunity Debugger: 脚本 GUI 和命令行调试器
mona.py: Immunity Debugger 中的扩展,用于代替 pvefindaddr
IDAPython: IDA pro 中的插件,集成 Python 编程语言,允许脚本在 IDA Pro 中执行
PyEMU: 全脚本实现的英特尔32位仿真器,用于恶意软件分析
pefile: 读取并处理 PE 文件
pydasm: Python 封装的libdasm
PyDbgEng: Python 封装的微软 Windows 调试引擎
uhooker: 截获 DLL 或内存中任意地址可执行文件的 API 调用
diStorm: AMD64 下的反汇编库
python-ptrace: Python 写的使用 ptrace 的调试器
vdb/vtrace: vtrace 是用 Python 实现的跨平台调试 API, vdb 是使用它的调试器
Androguard: 安卓应用程序的逆向分析工具
Capstone: 一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台
PyBFD: GNU 二进制文件描述(BFD)库的 Python 接口
Fuzzing
Sulley: 一个模糊器开发和模糊测试的框架,由多个可扩展的构件组成的
Peach Fuzzing Platform: 可扩展的模糊测试框架(v2版本 是用 Python 语言编写的)
antiparser: 模糊测试和故障注入的 API
TAOF: (The Art of Fuzzing, 模糊的艺术)包含 ProxyFuzz, 一个中间人网络模糊测试工具
untidy: 针对 XML 模糊测试工具
Powerfuzzer: 高度自动化和可完全定制的 Web 模糊测试工具
SMUDGE: 纯 Python 实现的网络协议模糊测试
Mistress: 基于预设模式,侦测实时文件格式和侦测畸形数据中的协议
Fuzzbox: 媒体多编码器的模糊测试
Forensic Fuzzing Tools: 通过生成模糊测试用的文件,文件系统和包含模糊测试文件的文件系统,来测试取证工具的鲁棒性
Windows IPC Fuzzing Tools: 使用 Windows 进程间通信机制进行模糊测试的工具
WSBang: 基于 Web 服务自动化测试 SOAP 安全性
Construct: 用于解析和构建数据格式(二进制或文本)的库
fuzzer.py(feliam): 由 Felipe Andres Manzano 编写的简单模糊测试工具
Fusil: 用于编写模糊测试程序的 Python 库
Web
Requests: 优雅,简单,人性化的 HTTP 库
HTTPie: 人性化的类似 cURL 命令行的 HTTP 客户端
ProxMon: 处理代理日志和报告发现的问题
WSMap: 寻找 Web 服务器和发现文件
Twill: 从命令行界面浏览网页。支持自动化网络测试
Ghost.py: Python 写的 WebKit Web 客户端
Windmill: Web 测试工具帮助你轻松实现自动化调试 Web 应用
FunkLoad: Web 功能和负载测试
spynner: Python 写的 Web浏览模块支持 Javascript/AJAX
python-spidermonkey: 是 Mozilla JS 引擎在 Python 上的移植,允许调用 Javascript 脚本和函数
mitmproxy: 支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量
pathod/pathoc: 变态的 HTTP/S 守护进程,用于测试和折磨 HTTP 客户端
网站渗透测试用什么工具好
可以试试北极熊扫描器,这款软件支持的功能很多,可以满足新手对网站的检测需要,同时还可以检测内网安全。在国内来说应该很少有第二个那么好的啦
常用的windows渗透命令有哪些
基础: 如何去学习 ·要有学习目标 ·要有学习计划 ·要有正确的心态 ·有很强的自学能力 学习目标 ·1.明确自己的发展方向(你现在或者将来要做什么,程序员?安全专家?网络黑客等) ·2.自己目前的水平和能力有多高 ·能简单操作windows2000 ·能简单配置windows2000的一些服务 ·能熟练的配置Windows2000的各种服务 ·能熟练配置win2000和各种网络设备联网 ·能简单操作Linux,Unix,Hp-unix, Solaris中的一种或者多种操作系统 ·能配置cicso,huawei,3com,朗迅等网络设备 ·会简单编写C/C++,Delphi,Java,PB,VB,Perl ·能简单编写Asp,Php,Cgi和script,shell脚本 ·3.必须学会不相信态度,尊重各种各样的能力 ·不要为那些装模做样的人浪费时间 ·尊重别人的能力, ·会享受提高自己能力的乐趣. ·在知道了自己的水平和能力之后就要开始自己的目标了 ·--------安全专家 ·--------黑客 ·--------高级程序员 ·黑客是建设网络,不是破坏网络, 破坏者是骇客; ·黑客有入侵的技术,但是他们是维护网络的,所以和安全专家是差不多的; ·因为懂得如何入侵才知道如何维护 ·因为懂得如何维护才更要了解如何入侵 ·这是 黑客与安全专家的联系 ·但,他们都是在会编程的基础上成长的! ·下面我们开始我们的学习计划! 学习计划 有了学习计划才能更有效的学习 安全学习计划 不奢求对win98有多么精通,我们也不讲解win98如何应用,如何精通,我们的起步是win2000 s erver,这是我们培训的最低标准,你对英语有一定的了解也是必不可少 最基础 ·a.会装win2000,知道在安装的时候有两种分区格式,NTFS与FAT32 及他们的区别,知道win2 000可以在安装的时候分区,格式化硬盘, 可以定制安装,可以定制自己需要安装的一些组件 ,如果有网络适配器,可以直接加入域中 学习点:NTFS和FAT32分区的不同 各个组件的作用 域的定义 ·b.知道如何开,关机 知道注销的用处 ·c.知道win2000下面各主要目录的作用 Documents and Settings,WINNT,system32 Progra m Files ·d.知道管理工具里面各个组件的定义 ·e.学会应用命令提示符cmd(dos) ·f.知道计算机管理里面的各个选项的不通 ·g.知道win2000强大的网络管理功能 ·h.能非常熟练的操作win2000 ·i.知道IP地址,子网掩码,网关和MAC的区别 进阶 ·A.配置IIS,知道各个选项的作用 ·B.配置DNS,DHCP ·C.配置主控制域,辅助域 ·D.配置DFS ·E.配置路由和远程访问 ·F.配置安全策略IPSEC ·G.配置service(服务) ·H.配置磁盘管理,磁盘分额 ·i. 配置RAID(0,1,0+1,5) ·J.路由器的安装与简单配置 ·K.交换机的安装与简单配置 ·L.常见的VPN,VLAN,NAT配置 ·M.配置常见的企业级防火墙 ·N.配置常见的企业级防病毒软件 高级 ·之前我们学到的是任何一个想成为网络安全专家和黑客基本知识中的一部分 ·你作到了吗?? ·如果你做到了,足以找到一份很不错的工作! 配置负载均衡 ·配置WIN2000+IIS+EXCHANGE+MSSQL+SERVER-U+负载均衡+ASP(PHP.CGI)+CHECK PIONT(ISASERVER) · ·配置三层交换网络 · ·配置各种复杂的网络环境 ·能策划一个非常完整的网络方案 · ·能独自组建一个大型的企业级网络 · ·能迅速解决网络中出现的各种疑难问题 结束 ·在你上面的都学好了,你已经是一个高级人才了,也是我们VIP培训的目标! ·可以找到一份非常好的工作 ·不会再因为给女朋友买不起玫瑰而发愁了! 安全导读: ·系统安全服务(SYSTEM) ·防火墙系统(FIREWALL) ·入侵检测(IDS) ·身份验证(CA) ·网站监控和恢复(WEBSITE) ·安全电子商务(E-BUSINESS) ·安全电子邮件(E-MAIL) ·安全办公自动化(OA) ·Internet访问和监控(AC) ·病毒防范(VIRUS) ·虚拟局域网(VPN) 系统安全服务 ·系统安全管理 ·系统安全评估 ·系统安全加固 ·系统安全维护 ·安全技能学习 系统安全管理 ·信息系统安全策略 ·信息系统管理员安全手册 ·信息系统用户安全手册 ·紧急事件处理流程 系统安全评估 1、系统整体安全分析 · 分析用户的网络拓扑结构,以找出其结构性及网络 配置上存在的安全隐患。 · 通过考察用户信息设备的放置场地,以使得设备物理上是安全的。 · 分析用户信息系统的管理、使用流程,以使得系统 能够安全地管理、安全地使用 2、主机系统安全检测 · 通过对主机进行安全扫描,以发现系统的常见的安全漏洞。 · 对于特定的系统,采用特别的工具进行安全扫描。 · 根据经验,对系统存在的漏洞进行综合分析。 · 给出系统安全漏洞报告。 · 指出各个安全漏洞产生的原因以及会造成的危险。 · 给出修复安全漏洞的建议 3、网络设备安全检测 · 通过对网络进行安全扫描,以发现网络设备的安全漏洞。 · 根据经验,对网络设备存在的漏洞进行综合析。 · 给出网络设备安全漏洞报告。 · 指出各个安全漏洞产生的原因以及会造成的险。 · 给出修复安全漏洞的建议。 安全系统加固 ·为用户系统打最新安全补丁程序。 ·为用户修复系统、网络中的安全漏洞。 ·为用户去掉不必要的服务和应用系统。 ·为用户系统设置用户权限访问策略。 ·为用户系统设置文件和目录访问策略。 ·针对用户系统应用进行相应的安全处理。 安全系统维护 ·防火墙系统维护,安全日志分析 ·IDS系统维护,安全日志分析 ·VPN系统维护,安全日志分析 ·认证系统维护,安全日志分析 ·服务器、主机系统,安全日志分析 ·其它各类安全设施维护及日志分析 安全技能培训 ·网络安全基础知识 ·网络攻击手段演示和防范措施 ·防火墙的原理和使用 ·VPN的原理和使用 ·漏洞扫描工具的原理和使用 ·IDS(入侵检测系统)的原理和使用 ·身份认证系统的原理和使用 ·防病毒产品的原理和使用 ·系统管理员安全培训 ·一般用户安全培训 防火墙系统 ·防火墙的定义 ·防火墙的分类 ·包过滤防火墙 ·应用网关防火墙 ·状态检测防火墙 ·一般企业防火墙配置 ·政府机构防火墙配置 ·涉密网络保密网关配置 ·高可用性和负载均衡防火墙系统 ·高速防火墙系统 防火墙的定义 ·用以连接不同信任级别网络的设备。 ·用来根据制定的安全规则对网络间的通信进行控制 防火墙的分类 ·包过滤 (Packet Filters) ·应用网关 (Application Gateways) ·状态检测(Stateful Inspection) 包过滤防火墙 ·包 过 滤 技 术 ·主要在路由器上实现,根据用户定义的内容(如IP地址、端口号)进行过滤。包过滤在网 络层进行包检查与应用无关。 · 优 点 · 具有良好的性能和可伸缩性。 · 缺点 · 由于包过滤技术是对应用不敏感的,无法理解特定通讯的含义,因而安全性很差。 应用网关防火墙 ·应用网关技术 ·第二代防火墙技术,其在应用的检查方面有了较大的改进,能监测所有应用层,同时对应 用“内容”(Content Information)的含义引入到了防火墙策略的决策处理。 · 优点 · 安全性比较高。 · 缺点 · 1、该方法对每一个请求都必须建立两个连接,一个从客户端到防火墙系统,另一个从 防火墙系统到服务器,这会严重影响性能。 · 2、防火墙网关暴露在攻击者之中。 · 3、对每一个代理需要有一个独立的应用进程或 daemon 来处理, 这样扩展性和支持 新应用方面存在问题。 检测状态防火墙 ·属第三代防火墙技术,克服了以上两种方法的缺点,引入了OSI全七层监测能力,同时 又能保持 Client/Server的体系结构,也即对用户访问是透明的。 ·防火墙能保护、限制其他用户对防火墙网关本身的访问。 ·状态检测技术在网络层截获数据包后交给INSPECT Engine,通过 INSPECT Engine 可以从数据包中抽取安全决策所需的所有源于应用层中的状态相关信息,并在动态状态表中 维持这些信息以提供后继连接的可能性预测。该方法能提供高安全性、高性能和扩展性、高伸缩性的解决方案。 入侵检测系统 ·处理攻击时遇到的典型问题 ·解决入侵的方法和手段 ·基于网络的入侵检测 ·基于主机的入侵检测 ·入侵检测系统典型配置 处理攻击时遇到的问题 ·获得的信息不足 ·不知到网络上发生了什么事。 ·无法判定系统是否已经被入侵。 ·信息不准确 ·人员少 ·没有足够的人员维护管理。 ·缺乏规范的处理程序 ·发现攻击时如何反应? ·下一步该如何处理? 解决入侵的方法和手段 ·采用入侵实时入侵监控系统(IDS) ·对系统、网络中发生的事件进行实时监控。 ·当发生入侵事件时能即时反应。 ·对入侵事件进行详细记录并跟踪。 基于主机的入侵检测 ·软件模块安装在包含有重要数据的主机上 ·监视操作系统的日志以发现攻击的特征。 ·监视代理所处主机上的所有进程和用户. ·监视暴力登录攻击(brute-force login), 试图改变或绕过安全设定,及特权的滥用等 ·当新的日志产生时,为了减小对CPU的影响,代理程序暂时中断。 基于网络的入侵检测 ·软件安装在专门的主机上,放置于关键的网段 ·将配置该软件主机的网卡设置为混杂模式,使得该主机能接受网段上所有的包。 ·分析数据包以判断是否有黑客攻击。 ·监视网段上的所有数据。 ·对网络的流量无任何影响。 ·能检测到 denial of service attacks, unauthorized access attempts, pre-attack s cans等攻击。 身份认证系统 ·用户身份认证的方法 ·不同认证方法的安全级别 ·用户身份认证的常用方式 ·解决问题的方法 ·目前比较成熟的双因素认证方法 用户身份验证 ·你知道的一些东西 · 密码, 身份证号,生日 ·你有的一些东西 · 磁卡, 智能卡,令牌, 钥匙 ·你独有的一些东西 · 指纹,声音,视网膜 密码是不安全的 ·可以破解密码的工具太多 ·大多密码在网络中是明文传输的 ·密码可以网络离线时被窥测 ·密码和文件从PC和服务器上被转移了 ·好记的密码容易被猜到,不易猜测的密码又太难记 解决方法 ·使用混合的工具:如IC卡+PIN 网站监控与恢复系统 ·典型的Web服务器应用 ·Web服务器存在的安全问题 ·网站安全解决方法 典型web服务器应用 ·Internet--路由器--防火墙--web站点 · | · | · 内部网 ·所有的放在防火墙后面 Web服务器存在的安全问题 ·网页被非法篡改是网站内容提供者最头痛的问题。在采用防火墙后,Web服务器本身的漏 洞成为了网站被黑的主要问题。 ·Web应用服务器(如IIS,Apache中存在着大量的安 全漏洞.) ·用户自己开发的CGI、ASP、PHP应用中存在着大量潜在的漏洞。 网站安全 ·采用Web服务器监控与恢复系统 ·该系统提供对网站文件内容的实时监控,发现被改动后立即报警并自动恢复。 电子商务安全系统 ·典型的电子商务应用 ·电子商务中存在的安全问题 ·电子商务的安全解决方法 ·实时数据交换系统 典型电子商务应用 ·Internet---防火墙---Web服务器 · || | · || | · 内部网(数据库) 电子商务中存在的安全问题 ·1、Web服务器端 ·Web应用服务器(如IIS、Apache中存在着大量的安全漏洞。用户自己开发的CGI、ASP、PHP应用中存在着潜在的漏洞。 ·黑客通过这些漏洞攻击Web服务器,可非法篡改网页,造成恶劣影响,动摇了电子商务使用者的信心。 ·甚至可获得Web服务器上大量的敏感资料,如用户的信用卡号,用以连接内部数据库的帐号和口令。 ·可能通过控制Web服务器,来攻击内部数据库。 电子商务中存在的安全问题 ·2、SSL协议 ·SSL加密强度低。由于浏览器默认的加密模块只支持40位的低强度加密,而且即使在浏览器中安装更高位的加密模块,由于WEB服务器不提供对高位SSL链接的支持同样无法实现高强 度SSL加密链接。 ·无法解决电子商务中的用户签名。SSL链接建立WEB服务器和用户浏览器之间的安全通道只能保证在安全通道内的信息不被窃听或篡改,并不能对用户发送的信息进行签名以保证信息的有效性和不可抵赖性,而这正是电子商务中必须解决的问题。 电子商务的安全解决方法 ·将WEB服务器分为两部分:一般内容的WEB服务器和交易WEB服务器。 ·一般内容的WEB服务器放置在DMZ区内,采用WEB站点监控和恢复系统保护,防止主页被非法改动。 ·交易WEB服务器放置在内部网内,通过一台物理分隔的实时数据交换系统将其与DMZ区相 连。 ·在客户机和服务器端安装SSL代理,从而获得128位的高强度加密通道 实时数据交换系统 ·将系统外部 Web服务器和内部应用Web服务器物理隔开. ·外部Web服务器用于存放一般的信息,内部Web服 务器用于存放敏感信息,并和内部数据
如何对网站进行渗透测试和漏洞扫描
零、前言
渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为。 这里我们提供的所有渗透测试方法均为(假设为)合法的评估服务,也就是通常所说的道德黑客行为(Ethical hacking),因此我们这里的所有读者应当都是Ethical Hackers,如果您还不是,那么我希望您到过这里后会成为他们中的一员 ;)
这里,我还想对大家说一些话:渗透测试重在实践,您需要一颗永不言败的心和一个有着活跃思维的大脑。不是说您将这一份文档COPY到您网站上或者保存到本地电脑您就会了,即使您将它打印出来沾点辣椒酱吃了也不行,您一定要根据文档一步一步练习才行。而且测试重在用脑,千万别拿上一两个本文中提到的工具一阵乱搞,我敢保证:互联网的安全不为因为这样而更安全。祝您好运。。。
一、简介
什么叫渗透测试?
渗透测试最简单直接的解释就是:完全站在攻击者角度对目标系统进行的安全性测试过程。
进行渗透测试的目的?
了解当前系统的安全性、了解攻击者可能利用的途径。它能够让管理人员非常直观的了解当前系统所面临的问题。为什么说叫直观呢?就像Mitnick书里面提到的那样,安全管理(在这里我们改一下,改成安全评估工作)需要做到面面俱到才算成功,而一位黑客(渗透测试)只要能通过一点进入系统进行破坏,他就算是很成功的了。
渗透测试是否等同于风险评估?
不是,你可以暂时理解成渗透测试属于风险评估的一部分。事实上,风险评估远比渗透测试复杂的多,它除渗透测试外还要加上资产识别,风险分析,除此之外,也还包括了人工审查以及后期的优化部分(可选)。
已经进行了安全审查,还需要渗透测试吗?
如果我对您说:嘿,中国的现有太空理论技术通过计算机演算已经能够证明中国完全有能力实现宇航员太空漫步了,没必要再发射神8了。您能接受吗?
渗透测试是否就是黑盒测试?
否,很多技术人员对这个问题都存在这个错误的理解。渗透测试不只是要模拟外部黑客的入侵,同时,防止内部人员的有意识(无意识)攻击也是很有必要的。这时,安全测试人员可以被告之包括代码片段来内的有关于系统的一些信息。这时,它就满足灰盒甚至白盒测试。
渗透测试涉及哪些内容?
技术层面主要包括网络设备,主机,数据库,应用系统。另外可以考虑加入社会工程学(入侵的艺术/THE ART OF INTRUSION)。
渗透测试有哪些不足之处?
主要是投入高,风险高。而且必须是专业的Ethical Hackers才能相信输出的最终结果。
你说的那么好,为什么渗透测试工作在中国开展的不是很火热呢?
我只能说:会的,一定会的。渗透测试的关键在于没法证明你的测试结果就是完善的。用户不知道花了钱证明了系统有问题以后,自己的安全等级到了一个什么程序。但是很显然,用户是相信一个专业且经验丰富的安全团队的,这个在中国问题比较严重。在我接触了一些大型的安全公司进行的一些渗透测试过程来看,测试人员的水平是对不住开的那些价格的,而且从测试过程到结果报表上来看也是不负责的。我估计在三年以后,这种情况会有所改观,到时一方面安全人员的技术力量有很大程度的改观,另一方面各企业对渗透测试会有一个比较深刻的理解,也会将其做为一种IT审计的方式加入到开发流程中去。渗透测试的专业化、商业化会越来越成熟。
二、制定实施方案
实施方案应当由测试方与客户之间进行沟通协商。一开始测试方提供一份简单的问卷调查了解客户对测试的基本接收情况。内容包括但不限于如下:
目标系统介绍、重点保护对象及特性。
是否允许数据破坏?
是否允许阻断业务正常运行?
测试之前是否应当知会相关部门接口人?
接入方式?外网和内网?
测试是发现问题就算成功,还是尽可能的发现多的问题?
渗透过程是否需要考虑社会工程?
。。。
在得到客户反馈后,由测试方书写实施方案初稿并提交给客户,由客户进行审核。在审核完成后,客户应当对测试方进行书面委托授权。这里,两部分文档分别应当包含如下内容:
实施方案部分:
...
书面委托授权部分:
...
三、具体操作过程
1、信息收集过程
网络信息收集:
在这一部还不会直接对被测目标进行扫描,应当先从网络上搜索一些相关信息,包括Google Hacking, Whois查询, DNS等信息(如果考虑进行社会工程学的话,这里还可以相应从邮件列表/新闻组中获取目标系统中一些边缘信息如内部员工帐号组成,身份识别方式,邮件联系地址等)。
1.使用whois查询目标域名的DNS服务器
2.nslookup
set type=all
domain
server ns server
set q=all
ls -d domain
涉及的工具包括:Google,Demon,webhosting.info,Apollo,Athena,GHDB.XML,netcraft,seologs 除此之外,我想特别提醒一下使用Googlebot/2.1绕过一些文件的获取限制。
Google hacking 中常用的一些语法描述
1.搜索指定站点关键字site。你可以搜索具体的站点如site:。使用site:nosec.org可以搜索该域名下的所有子域名的页面。甚至可以使用site:org.cn来搜索中国政府部门的网站。
2.搜索在URL网址中的关键字inurl。比如你想搜索带参数的站点,你可以尝试用inurl:asp?id=
3.搜索在网页标题中的关键字intitle。如果你想搜索一些登陆后台,你可以尝试使用intitle:"admin login"
目标系统信息收集:
通过上面一步,我们应当可以简单的描绘出目标系统的网络结构,如公司网络所在区域,子公司IP地址分布,VPN接入地址等。这里特别要注意一些比较偏门的HOST名称地址,如一些backup开头或者temp开关的域名很可能就是一台备份服务器,其安全性很可能做的不够。
从获取的地址列表中进行系统判断,了解其组织架构及操作系统使用情况。最常用的方法的是目标所有IP网段扫描。
端口/服务信息收集:
这一部分已经可以开始直接的扫描操作,涉及的工具包括:nmap,thc-amap
1.我最常使用的参数
nmap -sS -p1-10000 -n -P0 -oX filename.xml --open -T5 ip address
应用信息收集:httprint,SIPSCAN,smap
这里有必要将SNMP拿出来单独说一下,因为目前许多运营商、大型企业内部网络的维护台通过SNMP进行数据传输,大部分情况是使用了默认口令的,撑死改了private口令。这样,攻击者可以通过它收集到很多有效信息。snmp-gui,HiliSoft MIB Browser,mibsearch,net-snmp都是一些很好的资源。
2、漏洞扫描
这一步主要针对具体系统目标进行。如通过第一步的信息收集,已经得到了目标系统的IP地址分布及对应的域名,并且我们已经通过一些分析过滤出少许的几个攻击目标,这时,我们就可以针对它们进行有针对性的漏洞扫描。这里有几个方面可以进行:
针对系统层面的工具有:ISS, Nessus, SSS, Retina, 天镜, 极光
针对WEB应用层面的工具有:AppScan, Acunetix Web Vulnerability Scanner, WebInspect, Nstalker
针对数据库的工具有:ShadowDatabaseScanner, NGSSQuirreL
针对VOIP方面的工具有:PROTOS c07 sip(在测试中直接用这个工具轰等于找死)以及c07 h225, Sivus, sipsak等。
事实上,每个渗透测试团队或多或少都会有自己的测试工具包,在漏洞扫描这一块针对具体应用的工具也比较个性化。
3、漏洞利用
有时候,通过服务/应用扫描后,我们可以跳过漏洞扫描部分,直接到漏洞利用。因为很多情况下我们根据目标服务/应用的版本就可以到一些安全网站上获取针对该目标系统的漏洞利用代码,如milw0rm, securityfocus,packetstormsecurity等网站,上面都对应有搜索模块。实在没有,我们也可以尝试在GOOGLE上搜索“应用名称 exploit”、“应用名称 vulnerability”等关键字。
当然,大部分情况下你都可以不这么麻烦,网络中有一些工具可供我们使用,最著名的当属metasploit了,它是一个开源免费的漏洞利用攻击平台。其他的多说无益,您就看它从榜上无名到冲进前五(top 100)这一点来说,也能大概了解到它的威力了。除此之外,如果您(您们公司)有足够的moeny用于购买商用软件的话,CORE IMPACT是相当值得考虑的,虽然说价格很高,但是它却是被业界公认在渗透测试方面的泰山北斗,基本上测试全自动。如果您觉得还是接受不了,那么您可以去购买CANVAS,据说有不少0DAY,不过它跟metasploit一样,是需要手动进行测试的。最后还有一个需要提及一下的Exploitation_Framework,它相当于一个漏洞利用代码管理工具,方便进行不同语言,不同平台的利用代码收集,把它也放在这里是因为它本身也维护了一个exploit库,大家参考着也能使用。
上面提到的是针对系统进行的,在针对WEB方面,注入工具有NBSI, OWASP SQLiX, SQL Power Injector, sqlDumper, sqlninja, sqlmap, Sqlbftools, priamos, ISR-sqlget***等等。
在针对数据库方面的工具有:
数据库 工具列表 Oracle(1521端口): 目前主要存在以下方面的安全问题:
1、TNS监听程序攻击(sid信息泄露,停止服务等)
2、默认账号(default password list)
3、SQL INJECTION(这个与传统的意思还不太一样)
4、缓冲区溢出,现在比较少了。 thc-orakel, tnscmd, oscanner, Getsids, TNSLSNR, lsnrcheck, OAT, Checkpwd, orabf MS Sql Server(1433、1434端口) Mysql(3306端口) DB2(523、50000、50001、50002、50003端口) db2utils Informix(1526、1528端口)
在针对Web服务器方面的工具有:
WEB服务器 工具列表 IIS IISPUTSCANNER Tomcat 想起/admin和/manager管理目录了吗?另外,目录列表也是Tomcat服务器中最常见的问题。比如5.*版本中的;index.jsp
"../manager/html
;cookievalue=%5C%22FOO%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A01+UTC%3B+Path%3D%2F%3B
;cookievalue=%5C%22A%3D%27%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A01+UTC%3B+Path%3D%2Fservlets-examples%2Fservlet+%3B JBOSS jboss的漏洞很少,老版本中8083端口有%符号的漏洞:
GET %. HTTP/1.0可以获取物理路径信息,
GET %server.policy HTTP/1.0可以获取安全策略配置文档。
你也可以直接访问GET %org/xxx/lib.class来获取编译好的java程序,再使用一些反编译工具还原源代码。 Apache Resin
;servletpath=file=WEB-INF/web.xml
;servletpath=file=WEB-INF/classes/com/webapp/app/target.class
[path]/[device].[extension]
.."web-inf
[path]/%20.xtp WebLogic
Web安全测试主要围绕几块进行:
Information Gathering:也就是一般的信息泄漏,包括异常情况下的路径泄漏、文件归档查找等
Business logic testing:业务逻辑处理攻击,很多情况下用于进行业务绕过或者欺骗等等
Authentication Testing:有无验证码、有无次数限制等,总之就是看能不能暴力破解或者说容不容易通过认证,比较直接的就是“默认口令”或者弱口令了
Session Management Testing:会话管理攻击在COOKIE携带认证信息时最有效
Data Validation Testing:数据验证最好理解了,就是SQL Injection和Cross Site Script等等
目前网上能够找到许多能够用于进行Web测试的工具,根据不同的功能分主要有:
枚举(Enumeration): DirBuster, http-dir-enum, wget
基于代理测试类工具:paros, webscarab, Burp Suite
针对WebService测试的部分有一些尚不是很成熟的工具,如:wsbang,wschess,wsmap,wsdigger,wsfuzzer
这一部分值得一提的是,很多渗透测试团队都有着自己的测试工具甚至是0DAY代码,最常见的是SQL注入工具,现网开发的注入工具(如NBSI等)目前都是针对中小企业或者是个人站点/数据库进行的,针对大型目标系统使用的一些相对比较偏门的数据库系统(如INFORMIX,DB2)等,基本上还不涉及或者说还不够深入。这时各渗透测试团队就开发了满足自身使用习惯的测试工具。
在针对无线环境的攻击有:WifiZoo
4、权限提升
在前面的一些工作中,你或许已经得到了一些控制权限,但是对于进一步攻击来说却还是不够。例如:你可能很容易的能够获取Oracle数据库的访问权限,或者是得到了UNIX(AIX,HP-UX,SUNOS)的一个基本账号权限,但是当你想进行进一步的渗透测试的时候问题就来了。你发现你没有足够的权限打开一些密码存储文件、你没有办法安装一个SNIFFER、你甚至没有权限执行一些很基本的命令。这时候你自然而然的就会想到权限提升这个途径了。
目前一些企业对于补丁管理是存在很大一部分问题的,他们可能压根就没有想过对一些服务器或者应用进行补丁更新,或者是延时更新。这时候就是渗透测试人员的好机会了。经验之谈:有一般权限的Oracle账号或者AIX账号基本上等于root,因为这就是现实生活。
5、密码破解
有时候,目标系统任何方面的配置都是无懈可击的,但是并不是说就完全没办法进入。最简单的说,一个缺少密码完全策略的论证系统就等于你安装了一个不能关闭的防盗门。很多情况下,一些安全技术研究人员对此不屑一顾,但是无数次的安全事故结果证明,往往破坏力最大的攻击起源于最小的弱点,例如弱口令、目录列表、SQL注入绕过论证等等。所以说,对于一些专门的安全技术研究人员来说,这一块意义不大,但是对于一个ethical hacker来说,这一步骤是有必要而且绝大部分情况下是必须的。;)
目前比较好的网络密码暴力破解工具有:thc-hydra,brutus
hydra.exe -L users.txt -P passwords.txt -o test.txt -s 2121 ftp
目前网络中有一种资源被利用的很广泛,那就是rainbow table技术,说白了也就是一个HASH对应表,有一些网站提供了该种服务,对外宣称存储空间大于多少G,像rainbowcrack更是对外宣称其数据量已经大于1.3T。
针对此种方式对外提供在线服务的有:
网址 描述 rainbowcrack 里面对应了多种加密算法的HASH。 数据量全球第一,如果本站无法破解,那么你只能去拜春哥...
当然,有些单机破解软件还是必不可少的:Ophcrack,rainbowcrack(国人开发,赞一个),cain,L0phtCrack(破解Windows密码),John the Ripper(破解UNIX/LINUX)密码,当然,还少不了一个FindPass...
针对网络设备的一些默认帐号,你可以查询和
在渗透测试过程中,一旦有机会接触一些OFFICE文档,且被加了密的话,那么,rixler是您马上要去的地方,他们提供的OFFICE密码套件能在瞬间打开OFFICE文档(2007中我没有试过,大家有机会测试的话请给我发一份测试结果说明,谢谢)。看来微软有理由来个补丁什么的了。对于企业来说,您可以考虑使用铁卷或者RMS了。
6、日志清除
It is not necessary actually.
7、进一步渗透
攻入了DMZ区一般情况下我们也不会获取多少用价值的信息。为了进一步巩固战果,我们需要进行进一步的内网渗透。到这一步就真的算是无所不用其及。最常用且最有效的方式就是Sniff抓包(可以加上ARP欺骗)。当然,最简单的你可以翻翻已入侵机器上的一些文件,很可能就包含了你需要的一些连接帐号。比如说你入侵了一台Web服务器,那么绝大部分情况下你可以在页面的代码或者某个配置文件中找到连接数据库的帐号。你也可以打开一些日志文件看一看。
除此之外,你可以直接回到第二步漏洞扫描来进行。
四、生成报告
报告中应当包含:
薄弱点列表清单(按照严重等级排序)
薄弱点详细描述(利用方法)
解决方法建议
参与人员/测试时间/内网/外网
五、测试过程中的风险及规避
在测试过程中无可避免的可能会发生很多可预见和不可预见的风险,测试方必须提供规避措施以免对系统造成重大的影响。以下一些可供参考:
1. 不执行任何可能引起业务中断的攻击(包括资源耗竭型DoS,畸形报文攻击,数据破坏)。
2. 测试验证时间放在业务量最小的时间进行。
3. 测试执行前确保相关数据进行备份。
4. 所有测试在执行前和维护人员进行沟通确认。
5. 在测试过程中出现异常情况时立即停止测试并及时恢复系统。
6. 对原始业务系统进行一个完全的镜像环境,在镜像环境上进行渗透测试。
渗透测试的步骤有哪些
渗透测试步骤
明确目标
· 确定范围:测试目标的范围,ip,域名,内外网。
· 确定规则:能渗透到什么程度,时间?能否修改上传?能否提权等。
· 确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等等。
信息收集
方式:主动扫描,开放搜索等。
开放搜索:利用搜索引擎获得,后台,未授权页面,敏感url等。
漏洞探索
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
1.漏扫,awvs,IBM appscan等。
2.结合漏洞去exploit-db等位置找利用。
3.在网上寻找验证poc。
内容:
系统漏洞:系统没有及时打补丁
Websever漏洞:Websever配置问题
Web应用漏洞:Web应用开发问题
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
通信安全:明文传输,token在cookie中传送等。
漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍,结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
自动化验证:结合自动化扫描工具提供的结果
手工验证,根据公开资源进行验证
试验验证:自己搭建模拟环境进行验证
登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
信息分析
为下一步实施渗透做准备:
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
绕过防御机制:是否有防火墙等设备,如何绕过
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
获取所需
实施攻击:根据前几步的结果,进行攻击
获取内部信息:基础设施
进一步渗透:内网入侵,敏感目标
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
清理痕迹:清理相关日志,上传文件等
信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等
整理收集信息:整理渗透过程中收集到的一切信息
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
补充介绍:要对漏洞成因,验证过程和带来危害进行分析
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
渗透工程师是做什么的?
渗透测试工程师课程-信息探测入门视频课程.zip 免费下载
链接:
提取码:v7c5
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。