10款Linux下常用安全工具详细介绍

来源:互联网 发布:office办公软件激活码 编辑:程序博客网 时间:2024/06/05 22:36

10款Linux下常用安全工具详细介绍

先说明下这类工具的安装,安装准备--Linux下一些压缩文件的解压命令:
  
  tar xvf *.tar(tar压缩的软件包)
  
  tar zxvf *.tar.gz (tar和gzip压缩的软件包)
  
  unrar x *.rar unpack_path (rar压缩的软件包 unpack_path为解压后的存放路径 unrar解压命令需要安装Linux下的rar工具才可使用)
  
  rpm -vhU *.rpm(RPM软件包的安装)
  
  工具的一般安装步骤:
  
  (1)转到解压目录运行 ./configure;
  
  (2)执行make all;
  
  (3)执行make install。
  
  在安装过程中部分工具还需要安装特定的Lib库,在工具的使用介绍中会进行特别说明。
  
  一、Hping2---网络探测工具
  工具名称:Hping2
  应用环境:Linux
  
  工具介绍:hping是一个基于命令行的TCP/IP工具,它在UNIX上得到很好的应用,不过它并非仅仅一个ICMP请求/响应工具,它还支持TCP、UDP、ICMP;RAW-IP协议,以及一个路由模型HPING一直被用作安全工具,可以用来测试网络及主机的安全,它有以下功能:
  
  1.防火墙探测(通过ping的返回码进行判断,比如在Cisco之类的防火墙阻断ICMP包时返回状态13的目标不可达信息,针对此可以判断探测目标被Cisco防火墙保护)
  
  2.高级端口扫描(2-7的功能主要是根据对TCP/IP的理解,通过查看发出的包的返回情况进行分析和测试实现)
  
  3.网络测试;(可以用不同的协议,TOS,数据包碎片来实现此功能)
  
  4.手工MTU发掘
  
  5.高级路由(在任何协议下都可以实现)
  
  6.OS指纹判断
  
  7.细微UPTIME猜测
  
  示例:
  
  穿透防火墙的扫描利用的ICMP不可达的返回值进行确定,不同的防火墙的返回值不相同,如Cisco的状态值为13;其他测试需理解TCP/IP的包头结构
  
  简单的类ping操作(-c计数) hping2 192.168.0.1 -c 2
  
  设置时间间隔,数据包发送的频率(-i uX X为微秒) hping2 192.168.0.1 -c 2 -i u1000
  
  一种类ping攻击测试(-d 数据包的大小) hping2 192.168.0.1 -d 20000 -i u1
  
  探测外网 hping2 -A/F/S -p 80 www.my.com;具体运行参见图1(先使用ping测试,无返回,再使用hping2进行测试):
  

 


  

图1


  二、Nbtscan---从Windows网络上收集NetBIOS信息
  工具名称:nbtscan-1.5.1a
  
  应用环境:Linux
  
  工具介绍:这是一款用于扫描Windows网络上NetBIOS名字信息的程序。该程序对给出范围内的每一个地址发送NetBIOS状态查询,并且以易读的表格列出接收到的信息,对于每个响应的主机,NBTScan列出它的IP地址、NetBIOS计算机名、登录用户名和MAC地址。
  
  示例:
  
  这个比较简单,不过只能扫描内网
  
  扫描192.168.0.0的网段:" nbtscan 172.16.15.0/24 ,测试操作见图2:
  

 


  

图2


  三、Xprobe2---主动操作系统指纹识别工具
  工具名称:Xprobe2
  
  应用环境:Linux
  
  工具介绍:Xprobe2" 是一款主动操作系统指纹识别工具,和其它操作系统指纹识别不同,它依靠与一个签名库的模糊匹配,以及合理的推测来共同确定远程操作系统的类型。
  
  示例:
  
  简单内网探测: xprobe2 192.168.0.1
  
  探测外网(目标主机开启Web服务): xprobe2 -p tcp:80:open/tcp:25:open www.my.com;探测目标主机的操作系统如图3所示:
  

 


  

图3


  四、nmap---网络扫描和嗅探工具包
  工具名称:nmap-3.50
  
  应用环境:Linux
  
  工具介绍:NMap是Linux下的网络扫描和嗅探工具包。可以帮助网管人员深入探测UDP或者TCP端口,直至主机所使用的操作系统;还可以将所有" 探测结果记录到各种格式的日志中,为系统安全服务。NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操 作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。但了nmap被发现存在DOS攻击, 针对这类攻击,可采取如下措施:安装系统卖方的最新补丁;用未受影响的系统做防火墙。
  
  示例:
  
  适用于内外网的探测,以内网操作为示例(外网参数同)
  
  简单端口扫描: nmap -vv -sT(sS、sF、sU、sA) 192.168.0.1 -D 127.0.0.1(-D伪造的地址)
  
  OS检测: nmap -vv -sS -O 192.168.0.1
  
  RPC鉴别: nmap -sS -sR 192.168.0.1 Linux上的portmap就是一个简单的RPC服务,监听端口为111(默认),测试见图4
  

 


  

图4


  Ping扫射:" nmap -sP 172.16.15.0/24,测试结果见图5
  

 


  

图5


  五、tcpdump---专业的网络管理工具
  工具名称:tcpdump-3.8.1
  
  应用环境:Linux
  
  工具介绍:Tcpdump是著名的sniffer,是一个被很多UNIX高手认为是一个专业的网络管理工具,记得以前TsutomuShimomura(应该叫下村侵吧)就是使用他自己修改过的TCPDUMP版本来记录了KEVINMITNICK攻击他系统的记录,后来就配合FBI抓住了KEVINMITNICK。你能够利用这个工具检查访问你服务器中的文件包信息,监测你网络中的问题所在。
  
  示例:
  
  截获所有192.168.0.1的主机收到的和发出的所有的数据包:
  
  tcpdump" host 192.168.0.1 (测试以图中地址为准,见图6):
  

 


  

图6


  截获主机192.168.0.1和主机192.168.0.2或192.168.0.3的通信,使用命令(在命令行中适用括号时,一定要):
  
  tcpdump" host 192.168.0.1 and \ (192.168.0.2 or 192.168.0.3 \)
  
  获取主机192.168.0.1除了和主机192.168.0.2之外所有主机通信的ip包,使用命令:
  
  tcpdump ip host 192.168.0.1 and ! 192.168.0.2
  
  获取主机192.168.0.1接收或发出的telnet包,使用如下命令:
  
  tcpdump tcp port 23 host 192.168.0.1
  
  安装备注:该工具安装前需要先安装libpcap。
  
  六、hunt---包嗅探和会话劫持工具
  工具名称:hunt1.5
  
  应用环境:Linux
  
  工具介绍:Linux平台上高级的包嗅探和会话劫持工,Hunt能监视、劫持、重设网络上的TCP连接,在以太网上使用才有作用,并且含有监视交换连接的主动机制,以及包括可选的ARP转播和劫持成功后的连接同步等高级特征。防范嗅探类工具的注意点:使黑客不能在最初获得系统的访问权限是最佳的嗅探器对策;使用交换网络代替集线器,对于集线器,网络流量对局域网内的每个系统都是可见的,在交换网络中,只有MAC地址相对应的网卡才能见到自己的帧;传送敏感数据时不要使用明文方式。防范嗅探类工具的注意点:使黑客不能在最初获得系统的访问权限是最佳的嗅探器对策;使用交换网络代替集线器,对于集线器,网络流量对局域网内的每个系统都是可见的,在交换网络中,只有MAC地址相对应的网卡才能见到自己的帧;传送敏感数据时不要使用明文方式。
  
  示例:
  
  高级嗅探功能,hunt利用ARP欺骗或ARP强制的方法欺骗系统,使之在缓存中添加新的MAC到IP映射。 (操作可参照以下步骤:进入守护进程,输入a进行添加,通过l列举设置的情况。用arp -a查看修改情况。)该功能可以嗅探交换网络里的数据。 另外hunt提供的嗅探还能捕获用户名和口令,该功能依赖于字典库。 hunt运行如图7所示,有简单的菜单操作:
  

 


  

图7


  七、Hydra---网络认证的破解工具
  工具名称:Hydra3.0
  
  应用环境:Linux
  
  工具介绍:THC-Hydra" 是世界第一款 parallized 协议登录的黑客工具。可以用来对需要网络登录的系统进行快速的字典攻击,包括Samba、FTP、POP3、IMAP、Telnet、HTTP Auth、LDAP、NNTP、MySQL、VNC、ICQ、Socks5、PCNFS、Cisco等,支持SSL加密。包括了对 Socks5 和 SSL 支持。
  
  示例(需要字典库支持):
  
  hydra -l login -P /tmp/passlist 192.168.0.1 ftp login为要破解的用户名,passlist为密码字典库
  
  hydra -l login -P passfile 192.168.0.1 smb login为要破解的登录名,passfile为密码字典库,smb操作系统登录密码破解,测试示例如图8所示:
  

 


  

图8


  八、John---哈希口令破解器
  工具名称:john-1.6
  
  应用环境:Linux
  
  工具介绍:John" the ripper是一个高效的易于使用的密码猜测程序,这个软件由著名的黑客组织--UCF出品的网络密码破解软件,它支持Unix、Dos、Windows,方便好用速度超快、可以说是目前同类中最杰出的作品。对于老式的passwd档(就是没shadow的那种,任何人能看的都可以把passwd密文存下来),John可以直接读取并用字典穷举击破。对于现代的passwd+shadow的方式,John提供了UNSHADOW程序直接把两者合成出老式passwd文件。 John 的 crypt() 函式在快速作业的模式之下进行了最佳化, 这可以让 John 在破解的时候跑得比其它的破解工具快, 这个函式同时套用了组合语言及可转平台式 C 语言两个语言所写出来的程式码。John 支援了以下几种的破解方式:
  
  1. 有规则及不规则的字典档破解模式;
  2. "Single Crack", 用最简单的资讯来进行破解的工作, 速度最快.
  3. 增强破解模式(我们称暴力法), 尝试所有可能的字元组合;
  
  4.外部破解模式, 让你可以定义你的破解模式. 防范密码破解工具的注意点:自己运行口令破解程序,找到机器中存在的那些脆弱口令;确保口令文件不是可读的;经常检查日志文件;使用阴影口令(Linux下的口令保护方式,文件见 /etc/shadow 命令 pwconv);使用MD5取代DES。
  
  示例:
  
  先在Apache安装目录bin目录下的运行命令: htpasswd -cb passfile usr passwd
  
  利用john来破解passfile中的用户名和passwd的操作命令如下: john -single passfile,测试结果见图9
  

 


  

图9


  九、Fragroute---破坏入侵检测系统最强大的工具
  工具名称:Fragroute1.2" "杀伤路径")
  
  应用环境:Linux
  
  工具介绍:一种新的黑客工具,它的伪装性极高,能够轻而易举地骗过大多数防火墙。fragroute能够截取、修改和重写向外发送的报文,实现大部分IDS欺骗技术,包括IP、TCP层的数据包碎片以及数据包数据重叠等。可以测出一些防火墙和入侵监控系统或其他一些应用过滤软件的相同弱点。利用了入侵监控系统,与服务器软件相比,这种系统不太注重监测进入数据的正确性,而服务器软件是黑客的典型攻击目标。在另一版本的插入攻击中,非法数据可以被伪装成送入服务器的指令,被攻击的服务器将屏蔽所有不良数据,在服务器上留下有效的恶意代码。 从实现的技术来看,fragroute和fragrouter差不多。fragrouter是一个具有路由器功能的应用程序,它能够对攻击者发送的攻击流量进行分片处理之后,向攻击目标转发。其原理如图10所示:
  

 


  

图10


  如果入侵检测系统不能进行IP和TCP分片重组或者重组功能不太完善,将不能发现针对victim攻击。和fragroute不同的是,它只处理本地主机发送到远程主机的数据流量,不支持数据包的转发,因此不会在本地主机打开IP转发功能。安全专家称之" "双料"黑客工具,因为它既可以助纣为虐从事黑客活动,也可以用来帮助网络管理员排查系统漏洞。Snort可以避免Fragroute的大部分攻击,但是仍然有某些漏洞需要修补。
  
  示例:
  
  需3台机器 控制端A(运行fragroute);目标机B(运行wu-ftpd);分析机C(运行running Tcpdump, Snort, and Ethereal); 操作步骤:A先不运行fragroute,通过C的流量数据分析查看A与B的流量数据,接着在A运行fragroute,再次通过C查看A、B间的数据流量信息;比较两次流量中数据包的格式。(注,该过程还用到[CVE-1999-0082]提及的关于FTP的一个溢出漏洞。
  
  安装备注:该工具安装前需要先安装libpcap、libevent、libdnet。
  
  十、Snort---网络入侵检测系统
  工具名称:snort-2.1.1
  
  应用环境:Linux
  
  工具介绍:Snort是一个轻便的网络入侵检测系统,可以完成实时流量分析和对网络上的IP包登录进行测试等功能,能完成协议分析,内容查找/匹配,能用来探测多种攻击和嗅探(如缓冲区溢出、秘密断口扫描、CGI攻击、SMB嗅探、拇纹采集尝试等)。
  
  示例:
  
  运行Snort和显示IP和TCP/UDP/ICMP头信息: snort -v
  
  使Snort把ethernet头信息和应用层数据记录到./log目录总去了,并记录的是关于192.168.0.1 CLASS C的信息,记录过程如图11,统计数据如图12所示:
  

 


  

图11


  


  

图12


  snort" -dev -l ./log -h 192.168.0.1/24 
  
  把日志记录在你规则文件中所定义的LOG文件中,而不是默认的alert.ids中: 
  
  snort -d -h 192.168.1.0/24 -l ./log -c snort-lib -s 
  
  安装备注:该工具安装前需要先安装libpcap、libpcre。