zoukankan      html  css  js  c++  java
  • 2018-2019-2 20189206 安全工具的学习

    2018-2019-2 20189206 安全工具与使用

    安全工具

    Wireshark

    是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

    Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。

    Metasploit

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。

    Metasploit框架使Metasploit具有良好的可扩展性,它的控制接口负责发现漏洞、攻击漏洞,提交漏洞,然后通过一些接口加入攻击后处理工具和报表工具。Metasploit框架可以从一个漏洞扫描程序导入数据,使用关于有漏洞主机的详细信息来发现可攻击漏洞,然后使用有效载荷对系统发起攻击。

    Nessus

    Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。

    • 提供完整的电脑漏洞扫描服务, 并随时更新其漏洞数据库。
    • 不同于传统的漏洞扫描软件, Nessus 可同时在本机或远端上摇控, 进行系统的漏洞分析扫描。
    • 其运作效能能随着系统的资源而自行调整。如果将主机加入更多的资源(例如加快CPU速度或增加内存大小),其效率表现可因为丰富资源而提高。
    • 可自行定义插件(Plug-in)
    • NASL(Nessus Attack Scripting Language) 是由 Tenable 所开发出的语言,用来写入Nessus的安全测试选项。
    • 完整支持SSL (Secure Socket Layer)。

    snort

    Marty Roesch先生用C语言开发了开放源代码(Open Source)的入侵检测系统Snort。直至今天,Snort已发展成为一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS。Snort符合通用公共许可(GPL——GNU General Pubic License),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开始使用它。snort基于libpcap。

    Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。

    嗅探器:嗅探器是一种监视网络数据运行的软件设备,协议分析器既能用于合法网络管理也能用于窃取网络信息。网络运作和维护都可以采用协议分析器:如监视网络流量、分析数据包、监视网络资源利用、执行网络安全操作规则、鉴定分析网络数据以及诊断并修复网络问题等等。非法嗅探器严重威胁网络安全性,这是因为它实质上不能进行探测行为且容易随处插入,所以网络黑客常将它作为攻击武器。

    Snort通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap或winpcap函数从网络中捕获数据包;然后将捕获的数据包送到包解码器进行解码。对数据包进行了解码,过滤,预处理后,进入了Snort的最重要一环,进行规则的建立及根据规则进行检测。规则检测是Snort中最重要的部分,作用是检测数据包中是否包含有入侵行为。

    John the Ripper

    John the Ripper,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法。John the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。

    工具使用

    专业术语

    • 攻击载荷
      • 是我们期望目标在被渗透攻击之后去执行的代码,在Meatsploit框架中可以自由地选择、传送和植入。
    • shellcode
      • 在渗透攻击时作为攻击载荷运行的一组机器指令,shellcode通常以汇编语言编写

    Metasploit使用主动信息收集

    在确定目标IP后范围后,我们可以开始使用端口扫描获取目标开放的端口,实际上端口扫描的过程是逐个对远程主机的端口发起连接,从而确定哪些端口是开放的过程。nmap是最为流行的端口扫描程工具,nmap的扫描结果可以保存在后端数据库中以备使用。我们使用nmap的-sS选项,执行一次隐秘的TCP扫描,以确定某个特定的TCP端口是否开放。

    还有一个选项-Pn会告诉nmap不要使用ping命令预先判断主机是否存活,因为很多网络不予许ping命令所使用的的ICMP通行,如果预先使用ping命令会漏掉很多实际存活的主机。

    使用-sS和-Pn对靶机进行简单的nmap扫描

    如上图所示,nmap会报告一个开放端口的列表,并在每个端口后面附上其绑定服务的描述。获取更多细节使用-A选项,将尝试进行深入的服务枚举和旗标获取,可以提供更多细节。下面使用-sS和-A选项。

    Metasploit支持多种数据库,这里选择PostgreSQLs数据库,首先在kali Linux中的init.d脚本启动数据库子系统,随后将Metasploit框架连接到该数据库实例上,使用msf作为数据库名。

    metasploit提供了一系列命令让我们与数据库进行交互。可以使用help查看,在这里我们使用db_status命令确认数据连接是否正确。

    接下来将nmap输出结果导入metasploit。首先需要将nmap生成基本的XML报告文件导入。首先对虚拟机进行-oX扫描,生成xml文件

    将xml文件导入至数据库中,操作完成可以使用hosts命令核实导入结果,hosts将显示所有已保存的主机信息。

    这里出现一个问题,就是导入Subnet1.xml的路径问题,书上提到导入路径为/home/output/...但是发现导入时一直找不到文件,后来发现,我的kali Linux是root用户,其路径为/root/output/...接下来使用hosts命令就可以显示数据库中所有已保存的主机信息。

    同时,metasploit在其辅助模块中也包含几款内建的端口扫描器,可以查看端口扫描工具

    使用SYN端口扫描器对单个主机进行一次简单的扫描

    Wireshark使用

    Wireshark是一个网络抓包嗅探协议分析软件。网络封包分析软件的功能是撷(xié)取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP10(Libpcap9)作为接口,直接与网卡进行数据报文交换.除此之外,还有解码能力的功能。

    • 指定抓包网卡
      • 在start的下拉框下指定抓取哪个网卡的进入流量,同样也可以选择interface list指定使用哪块网卡!
    • interface list下的options:
      • 可以看到默认打钩的那一项Use promiscuous mode on all interfaces:抓取哪些经过我的网卡的但是并不是发送给我的数据包,不勾选则是不会抓取除了我本地网卡绑定的IP之外的数据包的!但如果你想了解下你所在的网络里的所有的机器传输数据的情况则必须选择混杂模式!
    • Cpature Filter(抓包筛选器):
      • 为了减少混杂模式下所抓取的大量数据包对分析所产生的影响,我们可以过滤掉那些我并不想要抓取的数据包!点击Capture Filter选则格式抓取指定类型的数据包!

    在这里我们首先试着使用Wireshark监听ARP协议并分析数据包。

    选择捕获过滤器中的ARP协议,可以看到过滤器中是没有这个选项的,所以需要我们自己新建一个,填写arp协议,过滤规则为only ARP

    点击运行后可以看到捕获到了ARP/RARP的数据包

    上图分别表示的信息是:

    第一列 捕获数据的编号

    第二列 捕获数据的时间,从开始捕获算为0.000秒

    第三列 是源地址

    第四列 是目的地址

    第五列 是协议名称

    第六列 是数据包信息

    同样,抓包也可以不设置过滤,将会以不同的颜色显示不同的数据包


    以上是对两种安全工具的学习,由于时间有限,没有继续学习,在以后有时间会继续学习。

  • 相关阅读:
    什么是32位汇编的flat平坦内存模式
    oracle随机操作
    网线8根排列顺序
    vb创建NT服务
    函数声明后面加个stdcall是什么意思
    一些基础问题。
    ArcGIS Server中地图打印的实现
    添加BaseCommand 和Base Tool 的注意事项
    获取字符串中的某个子字符串
    AE, C#,按纸张打印地图
  • 原文地址:https://www.cnblogs.com/zz-1226/p/10507232.html
Copyright © 2011-2022 走看看