本文目录一览:
- 1、入侵检测的分类情况
- 2、渗透测试工具的介绍
- 3、web渗透测试工具
- 4、Python渗透测试工具都有哪些
- 5、渗透测试工具的渗透测试工具
- 6、渗透测试的渗透测试分类
入侵检测的分类情况
入侵检测系统所采用的技术可分为特征检测与异常检测两种。 (警报)
当一个入侵正在发生或者试图发生时,IDS系统将发布一个alert信息通知系统管理员。如果控制台与IDS系统同在一台机器,alert信息将显示在监视器上,也可能伴随着声音提示。如果是远程控制台,那么alert将通过IDS系统内置方法(通常是加密的)、SNMP(简单网络管理协议,通常不加密)、email、SMS(短信息)或者以上几种方法的混合方式传递给管理员。 (异常)
当有某个事件与一个已知攻击的信号相匹配时,多数IDS都会告警。一个基于anomaly(异常)的IDS会构造一个当时活动的主机或网络的大致轮廓,当有一个在这个轮廓以外的事件发生时,IDS就会告警,例如有人做了以前他没有做过的事情的时候,例如,一个用户突然获取了管理员或根目录的权限。有些IDS厂商将此方法看做启发式功能,但一个启发式的IDS应该在其推理判断方面具有更多的智能。 (IDS硬件)
除了那些要安装到现有系统上去的IDS软件外,在市场的货架上还可以买到一些现成的IDS硬件,只需将它们接入网络中就可以应用。一些可用IDS硬件包括CaptIO、Cisco Secure IDS、OpenSnort、Dragon以及SecureNetPro。 ArachNIDS是由Max Visi开发的一个攻击特征数据库,它是动态更新的,适用于多种基于网络的入侵检测系统。
ARIS:Attack Registry Intelligence Service(攻击事件注册及智能服务)
ARIS是SecurityFocus公司提供的一个附加服务,它允许用户以网络匿名方式连接到Internet上向SecurityFocus报送网络安全事件,随后SecurityFocus会将这些数据与许多其它参与者的数据结合起来,最终形成详细的网络安全统计分析及趋势预测,发布在网络上。它的URL地址是。 (攻击)
Attacks可以理解为试图渗透系统或绕过系统的安全策略,以获取信息、修改信息以及破坏目标网络或系统功能的行为。以下列出IDS能够检测出的最常见的Internet攻击类型:
攻击类型1-DOS(Denial Of Service attack,拒绝服务攻击):DOS攻击不是通过黑客手段破坏一个系统的安全,它只是使系统瘫痪,使系统拒绝向其用户提供服务。其种类包括缓冲区溢出、通过洪流(flooding)耗尽系统资源等等。
攻击类型2-DDOS(Distributed Denial of Service,分布式拒绝服务攻击):一个标准的DOS攻击使用大量来自一个主机的数据向一个远程主机发动攻击,却无法发出足够的信息包来达到理想的结果,因此就产生了DDOS,即从多个分散的主机一个目标发动攻击,耗尽远程系统的资源,或者使其连接失效。
攻击类型3-Smurf:这是一种老式的攻击,还时有发生,攻击者使用攻击目标的伪装源地址向一个smurf放大器广播地址执行ping操作,然后所有活动主机都会向该目标应答,从而中断网络连接。
攻击类型4-Trojans(特洛伊木马):Trojan这个术语来源于古代希腊人攻击特洛伊人使用的木马,木马中藏有希腊士兵,当木马运到城里,士兵就涌出木马向这个城市及其居民发起攻击。在计算机术语中,它原本是指那些以合法程序的形式出现,其实包藏了恶意软件的那些软件。这样,当用户运行合法程序时,在不知情的情况下,恶意软件就被安装了。但是由于多数以这种形式安装的恶意程序都是远程控制工具,Trojan这个术语很快就演变为专指这类工具,例如BackOrifice、SubSeven、NetBus等等。 (自动响应)
除了对攻击发出警报,有些IDS还能自动抵御这些攻击。抵御方式有很多:首先,可以通过重新配置路由器和防火墙,拒绝那些来自同一地址的信息流;其次,通过在网络上发送reset包切断连接。但是这两种方式都有问题,攻击者可以反过来利用重新配置的设备,其方法是:通过伪装成一个友方的地址来发动攻击,然后IDS就会配置路由器和防火墙来拒绝这些地址,这样实际上就是对“自己人”拒绝服务了。发送reset包的方法要求有一个活动的网络接口,这样它将置于攻击之下,一个补救的办法是:使活动网络接口位于防火墙内,或者使用专门的发包程序,从而避开标准IP栈需求。 (Computer Emergency Response Team,计算机应急响应小组)
这个术语是由第一支计算机应急反映小组选择的,这支团队建立在Carnegie Mellon大学,他们对计算机安全方面的事件做出反应、采取行动。许多组织都有了CERT,比如CNCERT/CC(中国计算机网络应急处理协调中心)。由于emergency这个词有些不够明确,因此许多组织都用Incident这个词来取代它,产生了新词Computer Incident Response Team(CIRT),即计算机事件反应团队。response这个词有时也用handling来代替,其含义是response表示紧急行动,而非长期的研究。 (Common Intrusion Detection Framework;通用入侵检测框架)
CIDF力图在某种程度上将入侵检测标准化,开发一些协议和应用程序接口,以使入侵检测的研究项目之间能够共享信息和资源,并且入侵检测组件也能够在其它系统中再利用。 (Computer Incident Response Team,计算机事件响应小组)
CIRT是从CERT演变而来的,CIRT代表了对安全事件在哲学认识上的改变。CERT最初是专门针对特定的计算机紧急情况的,而CIRT中的术语incident则表明并不是所有的incidents都一定是emergencies,而所有的emergencies都可以被看成是incidents。 (Common Intrusion Specification Language,通用入侵规范语言)
CISL是CIDF组件间彼此通信的语言。由于CIDF就是对协议和接口标准化的尝试,因此CISL就是对入侵检测研究的语言进行标准化的尝试。 (Common Vulnerabilities and Exposures,通用漏洞披露)
关于漏洞的一个老问题就是在设计扫描程序或应对策略时,不同的厂商对漏洞的称谓也会完全不同。还有,一些产商会对一个漏洞定义多种特征并应用到他们的IDS系统中,这样就给人一种错觉,好像他们的产品更加有效。MITRE创建了CVE,将漏洞名称进行标准化,参与的厂商也就顺理成章按照这个标准开发IDS产品。 (自定义数据包)
建立自定义数据包,就可以避开一些惯用规定的数据包结构,从而制造数据包欺骗,或者使得收到它的计算机不知该如何处理它。 (同步失效)
Desynchronization这个术语本来是指用序列数逃避IDS的方法。有些IDS可能会对它本来期望得到的序列数感到迷惑,从而导致无法重新构建数据。这一技术在1998年很流行,已经过时了,有些文章把desynchronization这个术语代指其它IDS逃避方法。 (列举)
经过被动研究和社会工程学的工作后,攻击者就会开始对网络资源进行列举。列举是指攻击者主动探查一个网络以发现其中有什么以及哪些可以被他利用。由于行动不再是被动的,它就有可能被检测出来。当然为了避免被检测到,他们会尽可能地悄悄进行。 (躲避)
Evasion是指发动一次攻击,而又不被IDS成功地检测到。其中的窍门就是让IDS只看到一个方面,而实际攻击的却是另一个目标,所谓明修栈道,暗渡陈仓。Evasion的一种形式是为不同的信息包设置不同的TTL(有效时间)值,这样,经过IDS的信息看起来好像是无害的,而在无害信息位上的TTL比要到达目标主机所需要的TTL要短。一旦经过了IDS并接近目标,无害的部分就会被丢掉,只剩下有害的。 (漏洞利用)
对于每一个漏洞,都有利用此漏洞进行攻击的机制。为了攻击系统,攻击者编写出漏洞利用代码或脚本。
对每个漏洞都会存在利用这个漏洞执行攻击的方式,这个方式就是Exploit。为了攻击系统,黑客会利用漏洞编写出程序。
漏洞利用:Zero Day Exploit(零时间漏洞利用)
零时间漏洞利用是指还未被了解且仍在肆意横行的漏洞利用,也就是说这种类型的漏洞利用当前还没有被发现。一旦一个漏洞利用被网络安全界发现,很快就会出现针对它的补丁程序,并在IDS中写入其特征标识信息,使这个漏洞利用无效,有效地捕获它。 (漏报)
漏报是指一个攻击事件未被IDS检测到或被分析人员认为是无害的。
False Positives(误报)
误报是指实际无害的事件却被IDS检测为攻击事件。
Firewalls(防火墙)
防火墙是网络安全的第一道关卡,虽然它不是IDS,但是防火墙日志可以为IDS提供宝贵信息。防火墙工作的原理是根据规则或标准,如源地址、端口等,将危险连接阻挡在外。 (Forum of Incident Response and Security Teams,事件响应和安全团队论坛)
FIRST是由国际性政府和私人组织联合起来交换信息并协调响应行动的联盟,一年一度的FIRST受到高度的重视。 (分片)
如果一个信息包太大而无法装载,它就不得不被分成片断。分片的依据是网络的MTU(Maximum Transmission Units,最大传输单元)。例如,灵牌环网(token ring)的MTU是4464,以太网(Ethernet)的MTU是1500,因此,如果一个信息包要从灵牌环网传输到以太网,它就要被分裂成一些小的片断,然后再在目的地重建。虽然这样处理会造成效率降低,但是分片的效果还是很好的。黑客将分片视为躲避IDS的方法,另外还有一些DOS攻击也使用分片技术。 (启发)
Heuristics就是指在入侵检测中使用AI(artificial intelligence,人工智能)思想。真正使用启发理论的IDS已经出现大约10年了,但他们还不够“聪明”,攻击者可以通过训练它而使它忽视那些恶意的信息流。有些IDS使用异常模式去检测入侵,这样的IDS必须要不断地学习什么是正常事件。一些产商认为这已经是相当“聪明”的IDS了,所以就将它们看做是启发式IDS。但实际上,真正应用AI技术对输入数据进行分析的IDS还很少很少。 (Honeynet工程)
Honeynet是一种学习工具,是一个包含安全缺陷的网络系统。当它受到安全威胁时,入侵信息就会被捕获并接受分析,这样就可以了解黑客的一些情况。Honeynet是一个由30余名安全专业组织成员组成、专门致力于了解黑客团体使用的工具、策略和动机以及共享他们所掌握的知识的项目。他们已经建立了一系列的honeypots,提供了看似易受攻击的Honeynet网络,观察入侵到这些系统中的黑客,研究黑客的战术、动机及行为。 (蜜罐)
蜜罐是一个包含漏洞的系统,它模拟一个或多个易受攻击的主机,给黑客提供一个容易攻击的目标。由于蜜罐没有其它任务需要完成,因此所有连接的尝试都应被视为是可疑的。蜜罐的另一个用途是拖延攻击者对其真正目标的攻击,让攻击者在蜜罐上浪费时间。与此同时,最初的攻击目标受到了保护,真正有价值的内容将不受侵犯。
蜜罐最初的目的之一是为起诉恶意黑客搜集证据,这看起来有“诱捕”的感觉。但是在一些国家中,是不能利用蜜罐收集证据起诉黑客的。 (IDS分类)
有许多不同类型的IDS,以下分别列出:
IDS分类1-Application IDS(应用程序IDS):应用程序IDS为一些特殊的应用程序发现入侵信号,这些应用程序通常是指那些比较易受攻击的应用程序,如Web服务器、数据库等。有许多原本着眼于操作系统的基于主机的IDS,虽然在默认状态下并不针对应用程序,但也可以经过训练,应用于应用程序。例如,KSE(一个基于主机的IDS)可以告诉我们在事件日志中正在进行的一切,包括事件日志报告中有关应用程序的输出内容。应用程序IDS的一个例子是Entercept的Web Server Edition。
IDS分类2-Consoles IDS(控制台IDS):为了使IDS适用于协同环境,分布式IDS代理需要向中心控制台报告信息。许多中心控制台还可以接收其它来源的数据,如其它产商的IDS、防火墙、路由器等。将这些信息综合在一起就可以呈现出一幅更完整的攻击图景。有些控制台还将它们自己的攻击特征添加到代理级别的控制台,并提供远程管理功能。这种IDS产品有Intellitactics Network Security Monitor和Open Esecurity Platform。
IDS分类3-File Integrity Checkers(文件完整性检查器):当一个系统受到攻击者的威胁时,它经常会改变某些关键文件来提供持续的访问和预防检测。通过为关键文件附加信息摘要(加密的杂乱信号),就可以定时地检查文件,查看它们是否被改变,这样就在某种程度上提供了保证。一旦检测到了这样一个变化,完整性检查器就会发出一个警报。而且,当一个系统已经受到攻击后,系统管理员也可以使用同样的方法来确定系统受到危害的程度。以前的文件检查器在事件发生好久之后才能将入侵检测出来,是“事后诸葛亮”,出现的许多产品能在文件被访问的同时就进行检查,可以看做是实时IDS产品了。该类产品有Tripwire和Intact。
IDS分类4-Honeypots(蜜罐):关于蜜罐,前面已经介绍过。蜜罐的例子包括Mantrap和Sting。
IDS分类5-Host-based IDS(基于主机的IDS):这类IDS对多种来源的系统和事件日志进行监控,发现可疑活动。基于主机的IDS也叫做主机IDS,最适合于检测那些可以信赖的内部人员的误用以及已经避开了传统的检测方法而渗透到网络中的活动。除了完成类似事件日志阅读器的功能,主机IDS还对“事件/日志/时间”进行签名分析。许多产品中还包含了启发式功能。因为主机IDS几乎是实时工作的,系统的错误就可以很快地检测出来,技术人员和安全人士都非常喜欢它。基于主机的IDS就是指基于服务器/工作站主机的所有类型的入侵检测系统。该类产品包括Kane Secure Enterprise和Dragon Squire。
IDS分类6-Hybrid IDS(混合IDS):现代交换网络的结构给入侵检测操作带来了一些问题。首先,默认状态下的交换网络不允许网卡以混杂模式工作,这使传统网络IDS的安装非常困难。其次,很高的网络速度意味着很多信息包都会被NIDS所丢弃。Hybrid IDS(混合IDS)正是解决这些问题的一个方案,它将IDS提升了一个层次,组合了网络节点IDS和Host IDS(主机IDS)。虽然这种解决方案覆盖面极大,但同时要考虑到由此引起的巨大数据量和费用。许多网络只为非常关键的服务器保留混合IDS。有些产商把完成一种以上任务的IDS都叫做Hybrid IDS,实际上这只是为了广告的效应。混合IDS产品有CentraxICE和RealSecure Server Sensor。
IDS分类7-Network IDS(NIDS,网络IDS):NIDS对所有流经监测代理的网络通信量进行监控,对可疑的异常活动和包含攻击特征的活动作出反应。NIDS原本就是带有IDS过滤器的混合信息包嗅探器,但是它们变得更加智能化,可以破译协议并维护状态。NIDS存在基于应用程序的产品,只需要安装到主机上就可应用。NIDS对每个信息包进行攻击特征的分析,但是在网络高负载下,还是要丢弃些信息包。网络IDS的产品有SecureNetPro和Snort。
IDS分类8-Network Node IDS(NNIDS,网络节点IDS):有些网络IDS在高速下是不可靠的,装载之后它们会丢弃很高比例的网络信息包,而且交换网络经常会妨碍网络IDS看到混合传送的信息包。NNIDS将NIDS的功能委托给单独的主机,从而缓解了高速和交换的问题。虽然NNIDS与个人防火墙功能相似,但它们之间还有区别。对于被归类为NNIDS的个人防火墙,应该对企图的连接做分析。例如,不像在许多个人防火墙上发现的“试图连接到端口xxx”,一个NNIDS会对任何的探测都做特征分析。另外,NNIDS还会将主机接收到的事件发送到一个中心控制台。NNIDS产品有BlackICE Agent和Tiny CMDS。
IDS分类9-Personal Firewall(个人防火墙):个人防火墙安装在单独的系统中,防止不受欢迎的连接,无论是进来的还是出去的,从而保护主机系统。注意不要将它与NNIDS混淆。个人防火墙有ZoneAlarm和Sybergen。
IDS分类10-Target-Based IDS(基于目标的IDS):这是不明确的IDS术语中的一个,对不同的人有不同的意义。可能的一个定义是文件完整性检查器,而另一个定义则是网络IDS,后者所寻找的只是对那些由于易受攻击而受到保护的网络所进行的攻击特征。后面这个定义的目的是为了提高IDS的速度,因为它不搜寻那些不必要的攻击。 (Intrusion Detection Working Group,入侵检测工作组)
入侵检测工作组的目标是定义数据格式和交换信息的程序步骤,这些信息是对于入侵检测系统、响应系统以及那些需要与它们交互作用的管理系统都有重要的意义。入侵检测工作组与其它IETF组织协同工作。 (事件处理)
检测到一个入侵只是开始。更普遍的情况是,控制台操作员会不断地收到警报,由于根本无法分出时间来亲自追踪每个潜在事件,操作员会在感兴趣的事件上做出标志以备将来由事件处理团队来调查研究。在最初的反应之后,就需要对事件进行处理,也就是诸如调查、辩论和起诉之类的事宜。 (事件响应)
对检测出的潜在事件的最初反应,随后对这些事件要根据事件处理的程序进行处理。 (孤岛)
孤岛就是把网络从Internet上完全切断,这几乎是最后一招了,没有办法的办法。一个组织只有在大规模的病毒爆发或受到非常明显的安全攻击时才使用这一手段。 (混杂模式)
默认状态下,IDS网络接口只能看到进出主机的信息,也就是所谓的non-promiscuous(非混杂模式)。如果网络接口是混杂模式,就可以看到网段中所有的网络通信量,不管其来源或目的地。这对于网络IDS是必要的,但同时可能被信息包嗅探器所利用来监控网络通信量。交换型HUB可以解决这个问题,在能看到全面通信量的地方,会都许多跨越(span)端口。
Routers(路由器)
路由器是用来连接不同子网的中枢,它们工作于OSI 7层模型的传输层和网络层。路由器的基本功能就是将网络信息包传输到它们的目的地。一些路由器还有访问控制列表(ACLs),允许将不想要的信息包过滤出去。许多路由器都可以将它们的日志信息注入到IDS系统中,提供有关被阻挡的访问网络企图的宝贵信息。 (扫描器)
扫描器是自动化的工具,它扫描网络和主机的漏洞。同入侵检测系统一样,它们也分为很多种,以下分别描述。
扫描器种类1-NetworkScanners(网络扫描器):网络扫描器在网络上搜索以找到网络上所有的主机。传统上它们使用的是ICMP ping技术,但是这种方法很容易被检测出来。为了变得隐蔽,出现了一些新技术,例如ack扫描和fin扫描。使用这些更为隐蔽扫描器的另一个好处是:不同的操作系统对这些扫描会有不同的反应,从而为攻击者提供了更多有价值的信息。这种工具的一个例子是nmap。
扫描器种类2-Network Vulnerability Scanners(网络漏洞扫描器):网络漏洞扫描器将网络扫描器向前发展了一步,它能检测目标主机,并突出一切可以为黑客利用的漏洞。网络漏洞扫描器可以为攻击者和安全专家使用,但会经常让IDS系统“紧张”。该类产品有Retina和CyberCop。
扫描器种类3-Host VulnerabilityScanners(主机漏洞扫描器):这类工具就像个有特权的用户,从内部扫描主机,检测口令强度、安全策略以及文件许可等内容。网络IDS,特别是主机IDS可以将它检测出来。该类产品有SecurityExpressions,它是一个远程Windows漏洞扫描器,并且能自动修复漏洞。还有如ISS数据库扫描器,会扫描数据库中的漏洞。 (脚本小子)
有些受到大肆宣扬的Internet安全破坏,如2000年2月份对Yahoo的拒绝服务攻击,是一些十来岁的中学生干的,他们干这些坏事的目的好象是为了扬名。安全专家通常把这些人称为脚本小子(Script Kiddies)。脚本小子通常都是一些自发的、不太熟练的cracker,他们使用从Internet 上下载的信息、软件或脚本对目标站点进行破坏。黑客组织或法律实施权威机构都对这些脚本小孩表示轻蔑,因为他们通常都技术不熟练,手上有大把时间可以来搞破坏,他们的目的一般是为了给他们的朋友留下印象。脚本小子就像是拿着抢的小孩,他们不需要懂得弹道理论,也不必能够制造枪支,就能成为强大的敌人。因此,无论何时都不能低估他们的实力。 (躲避)
躲避是指配置边界设备以拒绝所有不受欢迎的信息包,有些躲避甚至会拒绝来自某些国家所有IP地址的信息包。 (特征)
IDS的核心是攻击特征,它使IDS在事件发生时触发。特征信息过短会经常触发IDS,导致误报或错报,过长则会减慢IDS的工作速度。有人将IDS所支持的特征数视为IDS好坏的标准,但是有的产商用一个特征涵盖许多攻击,而有些产商则会将这些特征单独列出,这就会给人一种印象,好像它包含了更多的特征,是更好的IDS。大家一定要清楚这些。 (隐藏)
隐藏是指IDS在检测攻击时不为外界所见,它们经常在DMZ以外使用,没有被防火墙保护。它有些缺点,如自动响应。
渗透测试工具的介绍
第一类:网络渗透测试工具
网络渗透测试工具是一种可以测试连接到网络的主机/系统的工具。通用的网络渗透测试工具有ciscoAttacks、Fast-Track、Metasploit、SAPExploitation等,这些工具各有各的特点和优势。因为网络渗透测试是一个相对广泛的概念,所以上述工具也可以包括社会工程学渗透测试模块,网络渗透测试模块和无线渗透测试模块。
第二类:社会工程学渗透测试工具
社会工程学渗透测试是利用社会工程学进行渗透测试,通常利用人们行为中的弱点来达到渗透的目的。典型的社会工程学渗透测试工具有BeefXSS和HoneyPots,这些工具诱使用户访问特定的网站,获得用户的Cookie信息,达到渗透的目的。
第三类:网站渗透测试工具
网站渗透测试是对Web应用程序和相应的设备配置进行渗透测试。在进行网站渗透测试时,安全工程序必须采用非破坏性的方法来发现目标系统中的潜在漏洞。常用的网络渗透测试工具有asp-auditor、darkmysql、fimap、xsser等。
第四类:无线渗透测试工具
无线渗透测试工具是蓝牙网络和无线局域网的渗透测试。在进行无线渗透测试时,一般需要先破解目标网络的密码,或者建立虚假热点来吸引目标用户访问,然后通过其他方式控制目标系统。常见的蓝牙网络渗透测试工具有atshell、btftp、bluediving、bluemaho等;常见的无线局域网渗透测试工具有aircack-ng、airmon-ng、pcapgetiv和weakivgeng等,这些工具实现了不同的功能,可以让安全工程师通过各种方式进行无线渗透测试。
web渗透测试工具
第一个:NST
NST一套免费的开源应用程序,是一个基于Fedora的Linux发行版,可在32和64位平台上运行。这个可启动的Live
CD是用于监视、分析和维护计算机网络上的安全性;它可以很容易地将X86系统转换为肉机,这有助于入侵检测,网络流量嗅探,网络数据包生成,网络/主机扫描等。
第二个:NMAP
NMAP是发现企业网络中任何类型的弱点或漏洞的绝佳工具,它也是审计的好工具。该工具的作用是获取原始数据包并确定哪些主机在网络的特定段上可用,正在使用什么操作系统,以及识别特定主机的数据包防火墙或过滤器的不同类型和版本正在使用。NMAP对渗透测试过程的任何阶段都很有用并且还是免费的。
第三个:BeEF工具
BeEF工具主要利用移动端的客户,它的作用是用于检查Web浏览器,对抗Web抗击。BeEF用GitHub找漏洞,它探索了Web边界和客户端系统之外的缺陷。很重要的是,它是专门针对Web浏览器的,能够查看单个源上下文中的漏洞。
第四个:Acunetix Scanner
它是一款知名的网络漏洞扫描工具,能审计复杂的管理报告和问题,并且通过网络爬虫测试你的网站安全,检测流行安全漏洞,还能包含带外漏洞。它具有很高的检测率,覆盖超过4500个弱点;此外,这个工具包含了AcuSensor技术,手动渗透工具和内置漏洞测试,可快速抓取数千个网页,大大提升工作效率。
第五个:John the Ripper
它是一个简单可快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持大多数的加密算法,如DES、MD4、MD5等。
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 客户端
渗透测试工具的渗透测试工具
通常的黑客攻击包括预攻击、攻击和后攻击三个阶段;预攻击阶段主要指一些信息收集和漏洞扫描的过程;攻击过程主要是利用第一阶段发现的漏洞或弱口令等脆弱性进行入侵;后攻击是指在获得攻击目标的一定权限后,对权限的提升、后面安装和痕迹清除等后续工作。与黑客的攻击相比,渗透测试仅仅进行预攻击阶段的工作,并不对系统本身造成危害,即仅仅通过一些信息搜集手段来探查系统的弱口令、漏洞等脆弱性信息。为了进行渗透测试,通常需要一些专业工具进行信息收集。渗透测试工具种类繁多,涉及广泛,按照功能和攻击目标分为网络扫描工具、通用漏洞检测、应用漏洞检测三类。
渗透测试的渗透测试分类
实际上渗透测试并没有严格的分类方式,即使在软件开发生命周期中,也包含了渗透测试的环节,但根据实际应用,普遍认同的几种分类方法如下: 1、黑箱测试
黑箱测试又被称为所谓的“Zero-Knowledge Testing”,渗透者完全处于对系统一无所知的状态,通常这类型测试,最初的信息获取来自于DNS、Web、Email及各种公开对外的服务器。
2、白盒测试
白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片断,也能够与单位的其它员工(销售、程序员、管理者……)进行面对面的沟通。这类测试的目的是模拟企业内部雇员的越权操作。
3、隐秘测试
隐秘测试是对被测单位而言的,通常情况下,接受渗透测试的单位网络管理部门会收到通知:在某些时段进行测试。因此能够监测网络中出现的变化。但隐秘测试则被测单位也仅有极少数人知晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢复做得是否到位。 1、主机操作系统渗透
对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。
2、数据库系统渗透
对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等数据库应用系统进行渗透测试。
3、应用系统渗透
对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的WWW应用进行渗透测试。
4、网络设备渗透
对各种防火墙、入侵检测系统、网络设备进行渗透测试。