可能大部分渗透测试者都想成为网络空间的007,而我个人的目标却是成为Q先生!

看过007系列电影的朋友,应该都还记得那个戏份不多但一直都在的Q先生(由于年级太长目前已经退休)。他为007发明了众多神奇的武器,并且总能在关键时刻挽救大英雄于危难之间。

但是与Q先生相比我很惭愧。因为到目前为止我还没有发明出什么可以与他相比的『武器』,所以退而求其次,我决定为已有的武器来写『说明书』。

Kali Linux是安全领域无人不知的武器库,官方声称其中包含600+个安全工具(武器)。灵活熟练的掌握这些武器的用法,将是你无坚不破的关键。但试问,有谁能全部掌握这些工具的用法,并且能在正确的时刻将双手放在正确的工具上?我从来没有见过这样的人。

今年上半年,我扬言要用两到三年时间来作『Kali Linux工具大全』视频教程。在刚刚过去的四个月里,我勉力完成了第一类(Information Gathering)工具的全部课程,并为每一个工具撰写了我个人原创的功能描述。如果你已经看腻了VC高手们没有一字不同的工具描述,不妨来看看我的版本。

以下按照我的课程推出顺序,与大家共享我个人版本的『武器使用说明书』:

001:0trace、tcptraceroute、traceroute
描述:进行路径枚举时,传统基于ICMP协议的探测工具经常会受到屏蔽,造成探测结果不够全面的问题。与此相对基于TCP协议的探测,则成功率会有所提高,同时基于已经建立的合法TCP会话的探测则更具优势,甚至可以探测到目标内网。虽然没有银弹,但结合多种技术手段,则可以收集更加完整的目标信息,为后续渗透测试做准备。

002:Acccheck
描述:近期泄露的NSA漏洞利用工具在全世界范围内引起了一波又一波的攻击事件,其中的漏洞利用工具大多数与微软的SMB协议有关。历史上SMB协议就曾经出现过MS08-067这样具有里程碑意义的漏洞,直到今天还经常被人们提起。SMB实在是一个值得继续深入挖掘的协议,除非微软彻底放弃它。本工具是针对SMB协议的探测工具,但却并不具备漏洞利用的能力。

003:arping
描述:三层IP网络主要的物理连接设备是路由器,路由器以自身路由表匹配流入的每个数据包,从而决定如何转发数据包。作为局域二层网络主要的物理连接设备,交换机通过识别目标MAC地址进行数据帧的转发。这里ARP协议负责将IP地址解析为对应的MAC地址,而arping的作用就是通过发送解析数据包,扫描并发现目标的MAC地址。arping不受二层地址欺骗的影响,是二层网络扫描最重要的工具。

004:automater
描述:开源智能不但可以应用于渗透测试阶段的信息收集,更可用于事件响应阶段,来帮助应急响应人员提高问题诊断和威胁评估的工作效率。automater是一个基于python语言开发的开源信息收集工具,它内置了十多个用于信息收集的开源信息平台,可依赖IP、URL、哈希值等信息进行自动搜索。Kali Linux在默认安装的情况下,automater在访问https站点时会发生报错,这个小坑需要我们手动绕过。

005:braa
描述:完全依靠人工来监控大型网络的运行状态,是一个令人崩溃的任务。SNMP协议可以大大简化系统和网络管理员的工作,实现问题的快速定位和排查。但缺乏安全意识的管理员经常会采用SNMP的默认配置,这会造成系统信息的泄漏,甚至设备直接被攻击者控制和篡改。braa是一个为快而生的SNMP服务扫描器,其作者甚至不惜完全重新实现了SNMP协议栈,使其尤其适合于大量并发的扫描任务,而占用的系统资源却非常有限。

006:cdpsnarf
描述:目前安全研究人员更多关注系统和应用层面的漏洞,关注低层协议漏洞的人寥寥无几,甚至是知之甚少。虽然其中深层原因比较复杂,我不想过多评论,但这一现状对安全业界而言,多少还是令我有些吃惊的。在每个人都大谈攻击面的当下,居然大家都选择性忽视了那么重要的一个短板。cdpsnarf是专门针对二层的思科发现协议的信息收集工具,通过它可以被动收集思科设备的系统版本信息等,为后续渗透提供可选择的路径。此工具本身虽然功能简单,但要想正确使用,你必须对CDP协议原理具有基本的了解,同时这对日后的CDP欺骗攻击也是必备的基础。本次内容,我结合GNS3模拟器生成思科路由器,现场抓包分析CDP协议数据包。

007:cdp
描述:二层网络安全通常是个三不管的地带,网络管理员认为这是安全的事,安全工程师则认为这种网络连通性的问题与自己无关,但正因如此,二层威胁往往更加危险。与cdpsnarf只是用来获取CDP报文信息不同,cdp命令可以主动向网络中发出CDP通告报文,从而实现洪水和欺骗攻击。洪水式攻击主要目的在于耗尽网络设备的内存,使其宕机重启,破坏网络的可用性。欺骗攻击(cdp spoofing)则可以在某些网络环境中,以更加诡异的思路窃取系统机密信息,甚至是修改服务器配置;即便只停留在二层网络的范畴,cdp也可能造成vlan hopping的攻击效果,击破二层的网络隔离。

008:casefile
描述:在美国大片里,警察经常会把案情相关人员的照片贴在白板上,然后用线条勾绘出人物彼此之间的关系,以此来理清线索和帮助案情分析,这是调查人员经常采用的一种有效的办案手段。作为渗透测试者和安全事件调查人员,非常有必要借鉴这种调查和分析的手段,帮助我们更加缜密的审视目标,发现隐藏在零散信息之间的模糊线索。casefile就是这样一个离线式的人工情报整理分析工具,同时为了满足团队成员协同配合的需要,casefile还提供了在线聊天和图形共享编辑等功能,是所有调查人员有力的助手工具。

009:dmitry
描述:主动和被动信息收集是渗透测试初期的必须工作,而且信息收集的质量,往往直接决定了渗透测试的最终成败。但信息情报的收集来源众多,这给渗透测试者造成了不小的困扰。借助于优秀的集成功能信息收集工具,可以大大提高我们的工作效率,dmitry就是其中的优秀一例。它不但支持whois信息收集,而且支持多种搜索引擎的自动信息搜集,但为了取得更好地使用体验,请提前自备翻墙利器,否则效果会大打折扣。

010:dnmap
描述:nmap是个优秀的网络扫描器,但面对大量地址范围的扫描任务时,它的效率问题一直是异见者惟一能找到的批评点。Dnmap是基于nmap强大的扫描功能之上,开发出来的一个分布式架构,它将扫描的工作仍然交给擅长扫描的nmap来做,而Dnmap自己则只负责分布式扫描任务的分发、管理、日志和监控等工作。软件架构上dnmap采用了C/S架构,通信基于TLS证书进行加密,同时考虑了代码注入等安全因素。虽然已经多年没有更新,但依然是面对大量扫描任务时的不二之选。

011:dnsenum
描述:渗透测试工作的起点几乎都始于一个域名,如何通过一个平平无奇的域名,去发现目标机构的所有活动主机、开放端口、应用服务,乃至整个潜在的攻击面,这是渗透测试信息收集阶段最关键的任务之一。dnsenum是一个综合型的域名相关信息收集工具,它支持字典爆破、反向查询、搜索引擎、注册信息、区域传输等多种手段,它的功能几乎涵盖了所有域名信息搜索的相关技术。虽然受我国网络审核现状的影响,某些功能无法正常使用,但仍然不失为一款优秀的信息收集工具。

012:dnsmap
描述:渗透测试工作的起点几乎都始于一个域名,如何通过一个平平无奇的域名,去发现目标机构的所有活动主机、开放端口、应用服务,乃至整个潜在的攻击面,这是渗透测试信息收集阶段最关键的任务之一。dnsmap是一个功能专一的域名信息收集工具,它基于字典对目标域名进行主机和子域名的爆破,虽然缺乏丰富的功能特性支持,但dnsmap一直以其稳定快速的运行效果,证明自己是一款优秀的信息收集工具。

013:dnsrecon
描述:渗透测试工作的起点几乎都始于一个域名,如何通过一个平平无奇的域名,去发现目标机构的所有活动主机、开放端口、应用服务,乃至整个潜在的攻击面,这是渗透测试信息收集阶段最关键的任务之一。dnsenum是一个综合型的域名相关信息收集工具,它支持字典爆破、反向查询、搜索引擎、注册信息、区域传输等多种手段,它的功能几乎涵盖了所有域名信息搜索的相关技术。虽然受我国网络审核现状的影响,某些功能无法正常使用(除非你#翻#墙),但仍然不失为一款优秀的信息收集工具。

014:dnswalk
描述:dnswalk大概算不上一个常规渗透测试场景下会用到的工具,它更多的是被安全工程师和审计人员所使用,它的功能是用于检查DNS区域文件配置中的错误和问题,从而避免因DNS服务器配置不当,而造成的功能、性能以及安全性的问题。其具体工作过程基于区域传输来获得区域文件,并对其实施检查,因此axfr是其能够正常工作的前提条件。

015:dnstracer
描述:DNS解析分为递归查询和迭代查询两种类型,通常从客户端到本地缓存服务器之间只有递归查询,因此在DNS完整的树形结构中,我们从客户端是很难看到整个域名解析的迭代过程,这在发生DNS域名劫持时,会给工程师分析问题带来了不小的麻烦。但dnstracer等工具的出现弥补了这个不足,它使普通PC用户也可以从DNS的根服务器开始,逐级解析每一级域名的查询过程,从而发现每一个域名服务器是否已被劫持。2014年曾发生com域名服务器被劫持的事件,导致国内用户长达数周无法访问微软、苹果等国外站点,这时dnstracer将可以快速为你定位问题。

016:amap
描述:很多外行人士将网络扫描器认为是安全的全部,这固然是一种无智的偏见,但同时也充分证明了主动扫描器在安全领域的重要性。nmap是目前业界最知名的扫描器软件之一,行业内外人士几乎都曾使用过。但即使再优秀的扫描器,其扫描结果也一定存在误报和漏报的情况,因此综合多款不同扫描器的扫描结果,可能让渗透测试者更加全面的了解目标系统。amap是最早被称为下一代扫描器的软件,它最早开始支持UDP协议和IPv6地址空间的扫描,可作为nmap重要的补充工具。同时amap还提供未知应用特征的自动测定功能,让我们可以方便定制扫描结果。

017:cookie-cadger
描述:HTTP是一种无状态的协议,也就是说从协议层面,每次HTTP访问之间是没有任何联系的,因此WEB应用开发人员必须从应用层面解决状态跟踪的问题,否则我们就没有办法确定资源的归属,现代WEB应用的场景将不复存在。目前Cookie是最普遍被采用的用户会话状态的跟踪机制。cookie-cadger这个工具本身虽然已经略显陈旧,而且部分功能已经无法正常使用,但它背后所透射出来的工作原理却具有广泛的普遍适用价值,是每个WEB安全研究人员必须清晰理解的。

018:arp-scan
描述:三层IP网络主要的物理连接设备是路由器,路由器以自身路由表匹配流入的每个数据包,从而决定如何转发数据包。作为局域二层网络主要的物理连接设备,交换机通过识别目标MAC地址进行数据帧的转发,这里arp协议负责将IP地址解析为对应的MAC地址,而arp-scan命令的作用就是通过发送解析数据包,扫描并发现目标MAC地址。arp扫描不受二层地址欺骗的影响,同时arp-scan丰富的特性,使渗透测试者可以定制发送多种类型的报文,满足不同环境的需要,是二层网络扫描非常重要的工具。

019:dig
描述:了解DNS的工作原理,并具有各种记录的查询能力,不但对系统管理员是必备的技能,对于渗透测试人员则更加重要。dig作为功能最为全面的DNS记录查询工具,具有灵活、易用、输出清晰等特点,而且其全面支持所有Class以及所有type类型的记录查询,是BIND开发者推荐的首选工具。灵活掌握其使用方法,可为渗透测试者提供大量的有用信息,同时其丰富的查询选项,可以使我们的工作结果更加清晰展示。

020:enum4linux
描述:Windows平台上曾经出现过一个第三方的信息枚举工具 enum.exe,其利用SMB协议枚举Windows系统和SAMBA服务,以此来获得目标系统大量的重要信息,其枚举结果可能包含目标系统的用户帐号、组帐号、共享目录、密码策略等机密重要信息。enum4linux作为其Linux平台的复刻作品,全面兼容了enum.exe的所有功能。对于安全防护不足的SMB/SAMBA服务,enum4linux可直接枚举重要信息,甚至帮助我们发现潜在漏洞的存在。为充分利用其功能,使用者需要对NetBIOS和SMB协议有所了解。

021:fierce
描述:渗透测试工作的起点几乎都始于一个域名,如何通过一个平平无奇的域名,去发现目标机构的所有活动主机、开放端口、应用服务,乃至整个潜在的攻击面,这是渗透测试信息收集阶段最关键的任务之一。fierce会尝试通过区域传输的方式获取目标域名信息,同时它还具有基于字典的域名记录爆破功能。fierce一直以其稳定快速的运行效果,证明自己是一款优秀的DNS信息收集工具。

022:firewalk
描述:大多数扫描工具的目标都是远端的系统,但firewalk的主要目标确是发现本地的防火墙规则。它利用IP包头部TTL值每过三层设备减一的特点,发送TTL值为网关(通常是防火墙)跳数加一的TCP/UDP数据包,并通过网关上联设备返回的TTL超时数据包,来判断四层端口的报文是否通过了网关设备。firewalk具体工作过程分为初始和扫描两个阶段,初始阶段负责确定网关距离(跳数);扫描阶段在确保TTL值为网关跳数加一的前提下,发送大量指定端口的扫描探测,并根据回包确定探测是否被网关ACL所屏蔽。该工具原理涉及巧妙,但存在一定缺陷,我在课程中已详细分析。

023:ace-VoIP
描述:目前VoIP技术已被众多企业所广泛采用,其利用IP网络封装语音通信,可以大大降低企业总体运营成本。ACE(自动公司枚举器)是一个简单而强大的VoIP目录枚举工具,其模拟IP电话的行为,获取VVID、TFTP、目录服务URL等信息,进而获取基于用户的名称及扩展数据。这意味着将来可以基于用户的名字对用户进行攻击,而不是针对随机RTP音频流和VoIP流量。ACE通过使用DHCP,TFTP和HTTP工作,以便下载VoIP公司目录, 并将目录输出到文本文件,而文件可用作其他VoIP评估工具的输入。

024:fping
描述:主机发现是渗透测试的基础。fping命令与系统自带的ping命令相同,都是利用标准的ICMP报文探测活动主机。与ping命令一次只探测一个IP地址的工作方式相比,fping最大的优势在于其具有并行扫描多个地址的特性,可以大大提高扫描速度,同时其众多的命令参数,也使其可以灵活适用于不同的应用场景。但基于ICMP流量过滤的防火墙,可能屏蔽fping的扫描探测,因此扫描探测需要我们综合多种技术手段。

025:fragroute
描述:fragroute能够截取、修改和重写向外发送的报文,实现了大部分在Secure Networks Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection中叙述的IDS欺骗技术,包括IP、TCP层的数据包碎片以及数据包数据重叠等。如果入侵检测系统不能进行IP和TCP分片重组或者重组功能不太完善,将不能发现针对受害者的攻击行为。从实现的技术来看。fragroute和fragrouter差不多,唯一的不同是fragroute只处理本地主机发出的数据流量,它不支持三层数据包的路由转发,因此无须在本地主机上打开IP转发功能。

026:fragrouter
描述:fragrouter作为一个网络路由器,能够截取、修改和重写出站的流量报文,实现了大部分在Secure Networks Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection中叙述的IDS欺骗技术,包括IP、TCP层的数据包碎片以及数据包数据重叠等。如果入侵检测系统不能进行IP和TCP分片重组或者重组功能不够完善,将不能发现针对受害者的攻击行为。从实现的技术来看,fragroute和fragrouter非常相似,唯一的不同是fragroute只处理本地主机的出站流量,而fragrouter可以为网络所有主机提供路由的功能。

027:hping3
描述:如同黄绮珊是被埋没多年的好声音一样,我认为Hping3也一直没有得到应有的重视和尊重。hping3身材小巧功能多样而且强大,完全符合所谓瑞士军刀的比喻。它本质上是个发包和收包工具,但我们试想一下,所有的网络通信又何尝不是一个发包和收到的过程呢?所以本质上hping3其实可以完成任何TCP/IP协议的通信,他不但能发包,而且还可以收包,基于这个特性,它不但可以完成文件的传递,而且还可以传递系统指令,进而当作一个远程代码执行的木马来用。hping3是我在“kali linux工具大全”这个技术系列开始以来,最最重量级的一个工具,它的能力覆盖了之前已及以后出现的众多工具的功能,这是你必须掌握的一个工具。我花了3个多小时,分4个小节来讲授这款工具,其中详述了多种攻击方式的技术原理,以及利用hping3的具体实现过程,这是物超所值的一课。

028:ident-user-enum
描述:TCP/IP协议为我们实现了大量的服务类型,但绝大多数的人都不知道还一个叫做ident的服务。每个开放的端口背后,都有一个服务器的后台进程,而每个进程都需要使用一个系统帐号来启动运行。安全意识欠缺的系统管理员经常会不遵守“权限最小化原则”,利用一个帐号启动所有的应用,或者利用超级用户启动服务进程。此时如果应用存在漏洞被他人入侵,其获得的也将是超级用户的权限。ident服务可以识别端口背后的用户帐号,只要目标服务器开放了ident服务。

029:ike-scan
描述:IPSec大概是我所了解的所有安全技术中最复杂的一个。正是由于它的复杂性,使其一直被人们认为是最安全的VPN类型,但也正是因为其复杂性,使得大多数人都始终无法搞明白它的原理和诸多技术名词,诚可谓是一把双刃剑。本次内容我花费了大部分篇幅来完整的介绍了IPSec技术本身,相比之下ike-scan这个明明的主角倒变成了不折不扣的配角,但我认为这是非常值得的。课程录制之前我做了一个调查,发现95%的同学对IPSec技术完全不了解,这对安全从业者来说是无法容忍的,所以我认为这次课程意义重大。相信你只要了解了本次课程内容,以后面对任何厂家的IPSec设备,都可以从容面对。本次课程历时三个半小时,也许你会发现,从前花了几个月也搞不懂的内容,在这里可以轻松掌握。

030:intrace
描述:进行路径枚举时,传统基于ICMP协议的探测工具经常会受到屏蔽,造成探测结果不够全面。与此相对,基于TCP协议的探测则成功率会有所提高,同时基于已经建立的合法TCP会话的探测则更具优势,甚至可以探测到目标内网,这些正是intrace这款工具的功能。虽然没有银弹,但结合多种技术手段,则可以收集更加完整的目标信息,为后续渗透测试做准备。

031:irpas-ass
描述:IANA作为互联网数字资源的最高管理机构,负责IP地址和ASN的分发管理工作。它将数字资源非配的具体工作委派给了5个RIR,由RIR分别应管理其对应的国家和地区。我国的CNNIC就是APNIC下属的国家级管理机构。世界上不同地区的ISP和大机构分别建设了自己的网络,当这些所有的网络被连接在一起的时候,就成为了互联网。ASN用于区分和标识彼此网络的身份,与IP地址共同完成互联网通信的路由,在技术、经济和政治因素的共同影响下,奇妙的发挥作用。ass是自治系统扫描器的简称,其主要支持对AS内部各种IGP路由协议的扫描和发现,目的是发现那些安全上疏于防范的路由器设备。

032:inxi
描述:Linux系统从来都不缺乏查询系统软硬件信息的能力,但是它们过于分散,你需要使用各种系统命令,或者到多个不同的运行状态文件中才能全面获取相关信息。而inxi为我们提供一个一站式的解决方案,使用简单的参数既可以快速获取想要的信息,无论是CPU、内存、主板、硬盘、BIOS等硬件信息,还是系统内核、桌面环境、Xorg等软件信息。这会使我们对系统信息收集的工作效率大大提高。

033:lbd
描述:负载均衡技术可以显著提高系统的性能和可用性,结合相应的过滤机制,更可以实现诸多安全过滤特性。作为渗透测试者,发现并且应对负载均衡设备,是我们必须面对的一个门槛。lbd是一款负载均衡检测软件,它主要支持对DNS负载均衡和面向HTTP协议的服务器负载均衡技术的检测,利用DNS、Server、时间、Diff等多种方式进行检测。

034:maltego
描述:无论是开源世界还是商界环境,国内都缺乏一个像maltego这样类型的软件产品。这是一个结合了手动和自动方式的开源情报信息收集、关联、分析的强大软件,我们技术系列之前的内容曾经介绍过它的简化版软件 casefile。maltego除了兼具casefile所有功能之外,更提供众多强大的Transform能力,通过Transform我们可以自动进行信息发现和关联,其能力甚至可以替换我们这个系列之前介绍的很多工具。同时它基于一种框架的设计思路,可以灵活的增加更多的信息源,以扩展其能力,只是在具体使用的过程中,我们可能需要单独获取各自信息源API的访问Token。

035:masscan
描述:虽然nmap仍然是我最爱的扫描软件,但masscan却是此类工具中不容忽视的一个存在。作为一款扫描器软件,masscan最大的优势大概在于其性能方面的优势,理论上其可以每秒钟发送2500万个探测数据包。以此数字计算,扫描互联网全部IP地址的一个指定端口,大约也就需要3分钟左右的时间,而且同时支持TCP和UDP协议的端口扫描。虽然它也可以进行http协议的探测,但却必须手动修改系统iptables防火墙规则,才能正常建立TCP的三次握手。

036:miranda
描述:UPnP协议的安全问题,大约从十年前开始被安全圈研究和讨论,而且相关研究还登上过当年的DEFCON大会的讲台。但直到今天,UPnP的安全问题却似乎仍然没有引起各设备生产商的重视,今天主流的智能家庭设备依然争相支持UPnP协议,致使今天我们面临的局面远远严重于10年前。『米兰达』这个美丽名字的背后,其实是一个完整的UPnP设备扫描探测及管理工具,通过它我将向你轻微展示如何修改家用路由器的配置,而完全不必事先知道密码。对此,目前行之有效的安全防护措施,只有禁用UPnP功能。

037:nbtscan
描述:为了保持自身软件架构的稳定,同时又可以方便扩展对不同3/4层网络协议的支持,微软在会话层定义了自己的netbios协议,为不同的应用提供统一的资源定位访问方式,这就是NetBIOS名称的作用。对NetBIOS服务的扫描可以发现,比网络层及传输层更加丰富的不同类型的信息,nbtscan正是为了这一目的而诞生的。由于长期无人维护,原始版本的nbtscan早已停止更新,因此unixwiz集成并复活了原始版本的所有功能,创造了nbtscan-unixwiz。

038:ncat
描述:nc被称为网络工具中的瑞士军刀,这是对其身材小巧而功能多样且强大的形象比喻。目前nc隶属于nmap项目,后者遵循原始版本nc的功能精髓,完全重新创造了自己版本的ncat工具。除剔除了nc的扫描功能之外,ncat忠实的继承了nc的所有功能,并且增强了功能特性并修复了bug。本次课程我也同时提及了nc的其他四个衍生版本,但由于功能的相似性,我并未逐个详细介绍。nc衍生类软件很难被定位为某一具体类型的工具,因为无论是渗透测试初期还是中后期,我们都能看到它的矫健身影。

039:netdiscover
描述:三层IP网络主要的物理连接设备是路由器,路由器以自身路由表匹配流入的每个数据包,从而决定如何转发它们。而作为局域二层网络主要的物理连接设备,交换机通过识别目标MAC地址进行数据帧的转发,这里arp协议负责将IP地址解析为对应的MAC地址。netdiscover正是利用arp协议的原理,同时支持主动和被动的二层主机发现,它通过主动发送和被动侦听arp数据包,发现本地网络中主机的存在。二层主机发现不受地址欺骗的影响,准确率更高。

040:netmask
描述:netmask不是一个安全工具,但众多渗透测试发行版的Linux系统中却全都收录了它。这不禁令我猜测,大概网络知识的欠缺是很多安全研究员的通病吧。哪怕是简单的子网划分,也会令很多新手和老手的安全从业者一头雾水。本课我除了介绍netmask的具体用法之外,同时还向大家介绍了我个人常用的“切饼式子网划分大法”,相信如果你掌握了我的方法,完全可以不必使用这个工具。

041:nmap
描述:nmap还用介绍吗?搞安全的人还有不知道或者不会用nmap的吗?据我观察,能够全面灵活运用nmap的人其实并不多见。其实nmap早已经不再是你眼中那个网络层的扫描器软件了,早在十年前它就已经进化成为一个全功能的安全评估框架。今天,利用nmap强大的脚本功能,你可以轻松开发出任何漏洞检测和利用的功能,甚至完全不需要掌握那些常见的编程语言。本课我向你介绍了nmap几乎全部参数功能,同时演示了如何自己开发一个脚本的过程。

042:onesixtyone
描述:完全依靠人工来监控大型网络的运行状态,是一种令人崩溃的任务。SNMP协议可以大大简化系统和网络管理员的工作,实现问题的快速定位和排查。但缺乏安全意识的管理员却经常会采用SNMP的默认配置,这会造成系统信息的泄漏,甚至设备直接被攻击者控制和篡改。onesixtyone是一款专门针对SNMP团体名(Community)进行爆破的工具,一旦获取了团体名,目标将对你毫无秘密可言。

043:p0f
描述:主机发现大体上可以分为主动和被动两大类型。但无论是主动还是被动,究其本质,都是基于被发现目标发送数据包的方式和特征来进行分析的过程。主动方式主动发起请求,促使目标系统应激响应发包;而被动方式则是纯粹的侦网络中随机而至的任意数据包。p0f就是后者中的一员,它使用内建的指纹信息库去匹配每一个自己收到的数据包,进而判断目标系统的类型以及版本等信息。

044:parsero
描述:机器人、爬虫等程序是从互联网上获取信息的重要手段,但缺乏节制的爬站行为却很可能给网站带来灾难性的后果。为了避免爬虫的滥用,网站所有者和搜索引擎之间达成协议,约定凡是站点声明拒绝被爬的目录,禁止搜索引擎的窥探,而这份声名就保存在每个站点根目录下的robots.txt文件中。这虽然是个良好的初衷,但robots.txt却成为了黑客和渗透测试者的最爱,因为这里直接向我们透漏了部分站点资源的路径。parsero就是这样一个自动发现robots.txt文件,并对其中资源加以验证的工具。

045:smbmap
描述:我们最熟悉的SMB应用场景莫过于windows系统的文件共享,但其实SMB协议还可以传输指令、操作文件系统、上传下载和直接删除文件。SMB协议历史上曾经出现过永恒之蓝和MS08-067等严重漏洞,smbmap这款工具虽然不是利用SMB协议的漏洞,但却为我们在已知帐号密码的情况下,提供了一种远程共享枚举和实现文件操作的手段,同时它还友好的支持PTH。

046:smtp-user-enum
描述:大部分基于类unix系统的邮件服务,均采用操作系统帐号作为邮件帐号。因此对于其邮件帐号的探测,其实就等同于对操作系统帐号的探测,以便进行后续弱密码口令的破解。smtp-user-enum基于三种方法验证邮件帐号是否存在,同时支持基于字典的批量验证。但出于有效性的考虑,我建议大家先进行手动验证,然后再使用其相应有效的方法批量探测。

047:snmp-check
描述:完全依靠人工来监控大型网络的运行状态,是一种令人崩溃的任务。SNMP协议可以大大简化系统和网络管理员的工作,实现问题的快速定位和排查。但缺乏安全意识的管理员却经常会采用SNMP的默认配置,这会造成系统信息的泄漏,甚至设备直接被攻击者控制和篡改。snmp-check是一款基于默认或指定团体名,对目标设备进行信息批量查询的工具,其默认支持windows、类unix、网络设备和打印机等。

048:sparta
描述:如果你喜欢历史,大概知道著名的温泉关大战,勇猛的斯巴达300勇士在那里杀死了两万名波斯大军。sparta这款软件之所以取名斯巴达,正是为了证明其同样的勇猛且强大。sparta本身只是一个python语言编写的图形化前端,但其内部却整合了大量优秀的安全工具,通过简单一致的操作界面,sparta试图给我们提供一个一站式的渗透测试工具,即你只需要告诉给它一个目标,其余的渗透测试工作,它全部为你搞定。

049:recon-ng
描述:recon-ng是一个基于python语言编写的信息收集框架,通过内建的近百个信息收集模块,recon-ng可以灵活的从众多信息来源收集情报。为了打通不同的框架的功能,recon-ng通过本地数据库存储所有获取到的信息。同时内建的报告功能,方便我们快速的生成各种图形和详细内容的报告格式。无论是公司、个人、站点、地址、主机信息、漏洞、信息泄露等任何类型的信息,recon-ng都可以轻松获取。部分模块需要翻墙使用。

050:theharvester
描述:你只需要给出一个域名,theharvester就会在其内建支持的十几种信息收集来源,自动的搜索出相关的邮件地址和主机名、子域名等信息。受限于国内管制的互联网环境,其部分模块的功能不能正常发挥,因此你需要自备翻墙工具。另外由于本工具主要针对国外信息来源进行搜索,因此对于国内目标进行的信息收集,推荐只是用baidu作为信息搜索源。

051:swaks
描述:SMTP方面的瑞士军刀,身材小巧功能众多且强大。大部分安全研究人员对WEB漏洞可能都很熟悉,但对邮件服务却缺少最基本的了解,殊不知这将是你成为一名优秀渗透测试人员必经的一站。swaks几乎支持目前所有SMTP服务器的全面测试,我最经常使用它发送一些伪造源地址的邮件,以此来对公司员工进行安全意识的测试。但如果是真正的攻击者,则会利用它来发送钓鱼邮件。

052:sslscan/sslyze/tlssled/ssldump
描述:是的,这里是四个工具。IPSec和SSL是安全技术中的两个高峰,它们是加密技术最伟大的两个具体实现。IPSec我已经在ike-scan课程中详细讲过。今次这一期内容,我借由四个功能相近且原理相通的工具,向大家全面介绍SSL的具体工作过程。同时我通过实例,从数学算法层面带领大家领略一下RSA算法的魅力。对于单纯的工具党而言,这很可能会打开你安全认知的另一扇窗。

053:twofi
描述:《高效能人士的七个习惯》是管理大师史蒂芬柯维的一本畅销书,有黑客模仿了该书的书名,创建了一个博客,叫做“高效能黑客的七个习惯”。博客中的一篇文章提到一种密码破解的思路,作者利用最简单的shell脚本,从twitter上获取人们关于某些话题最常使用的单词和字符组合,然后利用这些字符组合的变形生成密码字典文件。在真实的密码破解实践中,按照这种思路生成的密码字典,命中率接近50%。这个惊人的实例,似乎已经揭示了人们设置密码的真实习惯。

054:unicornscan
描述unicorn是欧美神话故事中经常出现的一种头上长角的马,加上了scan它就变成了一款网络扫描器。该工具曾经登上过DEFCON大会的讲台,向大家展示它略显与众不同的特性。与其他扫描器相比,它最大的在于其灵活便利的payload定制能力,这是一半扫描器所不具备的。即使是强大的nmap,也必须通过脚本编程才能实现。而unicornscan使用了一种最简单的语法,使得任何人都能在稍作了解之后灵活运用。该工具的帮助文档语言十分生涩,所以我将向你逐一解读。

055:urlcrazy
描述钓鱼攻击者经常会使用外形相似的变形域名来欺骗受害者,以便实现其欺骗和敲诈的目的。urlcrazy内建了16种变形方法和8000多种人们常见的拼写错误习惯,其以此来批量生成大量域名变种,并具有自动检测变种域名可用性,和发现变种域名已经被使用情况的现状分析能力。作为安全防护者,你可以利用它发现和预防自己所属机构正在或即将遭受钓鱼攻击的可能性。

056:wol-e
描述:受到攻击时我经常听人说:关机就没事了!但果真如此吗?wake-on-lan是2000年之后生产的几乎所有计算机都支持的一项功能,它可以在局域网或者互联网的环境下,远程唤起你已经关机状态的电脑。虽然wol功能默认情况下通常处于关闭状态,但无论做为防护者或者渗透测试者,我们都需要了解这个风险存在的可能性,毕竟这也是构成攻击面的一个方面。如果你的运气够好,或许能利用它取得意想不到的效果,毕竟安全的事情,谁能说的准呢?

057:whois
描述:互联网上的数字和名称资源统一由ICANN注册分配。为了满足司法要求、技术沟通、问题处理等方面的实际需求,ICANN要求资源申请人提交并维护详细的个人信息。其中可能包含机构名称,以及管理负责人和技术负责人的详细联系信息,这些信息就称为whois信息。Linux系统中的whois命令是一个客户端程序,它会智能的选择和查询whois服务器,获取所有透明公开的whois信息。所获取的信息,对渗透测试者和社会工程学发起者明显更具价值。

058:wafw00f
描述:在这个WEB技术一统天下的时代,WEB安全受到前所未有的挑战。为了保护各自WEB应用的安全,众多公司都选择使用WAF产品,其中不乏传统本地部署的WAF设备,以及新型的云WAF平台。作为渗透测试者,面对一个WEB应用时,首先需要判断目标系统是否使用了WAF,以及具体使用的是哪个品牌WAF产品。最新版wafw00f内建支持扫描和发现39种WAF产品。即使不能确定WAF产品的具体品牌,它也能提供一些技术上的参考信息,提醒渗透测试人员需要想办法绕过。

059:multimac
描述:058号工具的课程结束时,我宣布所有信息收集类工具已经全部技术,但很快我就发现自己漏掉了multimac。它其实并不是一个信息收集类工具,最多只能算作一个辅助工具。它可以基于一个物理网卡,生成多个虚拟的tap网卡接口,并且可以为每个虚拟网卡设置不同的IP、MAC地址。这有助于某些自身不支持伪造源地址的工具实现隐蔽扫描的目的,同时也可以帮助某些测试人员模拟多客户端的访问行为。

注释:
由于工具xprobe2的扫描结果质量太差,我个人认为没必要为其讲上一课,所以我将忽略它的存在(除非在我全部完成本系列之前Kali官方把它修好了)。