zoukankan      html  css  js  c++  java
  • 20199307 2019-2020-2 《网络攻防实践》第三周作业

    问题
    作业所属课程 网络攻防实践(https://edu.cnblogs.com/campus/besti/19attackdefense)
    作业要求 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10471
    课程目标 了解网络攻防的概要
    这个作业在哪个具体方面帮助我实现目标 通过实践的手段对信息收集有了更细致的了解
    作业正文.... 见实践内容、实践过程、学习中遇到的问题及解决、学习感想和体会
    其他参考资料 见文末

    一、实践内容

    1.1网络信息收集概述

    1.1.1网络信息收集内容

    • 攻击者在攻击一个系统时,会利用目标系统中存在的安全缺陷和漏洞。安全缺陷和漏洞会存在于构成目标信息系统的三大核心要素:

      • 管理上的安全缺陷和漏洞
      • 网络协议安全缺陷和漏洞
      • 系统安全缺陷和漏洞
    • 在实施入侵时,攻击者还需要掌握:

      • 目标网络的拓扑结构
      • 目标系统与外部网络的连接方式与链路路径
      • 防火墙的端口过滤与访问控制配置情况
      • 使用的身份认证与访问控制机制
      • 使用的加密系统
      • ......
    • 网络信息收集过程和入侵过程并不是具有明显界限的先后次序关系,信息收集融合在整个入侵过程,攻击者收集的信息越全面越细致,越有利于入侵实施,随着入侵,所获取的信息也越多,所以说两者是相辅相成的。

    • 对于防御者,对攻击者的信息收集包括:

      • 追查入侵者身份
      • 网络位置
      • 所攻击的目标
      • 采用的攻击方法
      • ......

    1.1.2网络信息收集的方法

    • 网络踩点(footprinting)

      • Web搜索与挖掘
      • DNS与IP查询
      • 网络拓扑侦察
    • 网络扫描(scanning)

      • 主机扫描
      • 端口扫描
      • 系统类型侦察
      • 漏洞侦察
    • 网络查点(enumeration)

      • 旗标抓取
      • 网络服务查点

    1.2网络踩点

    网络踩点是指攻击者通过对组织或个人有计划、有步骤的信息收集,从而了解攻击目标网络环境和信息安全状况,得到攻击目标完整刨析图的技术过程。之后对完整刨析图的细致分析,攻击者将会从中找出攻击目标可能存在的薄弱环节为进一步攻击行动提供指引

    1.2.1Web搜索与挖掘

    • 充分利用Web搜索的强大能力,对目标组织和个人的大量公开或意外泄漏的Web信息进行挖掘,从而找到对攻击行为有效的关键信息。

    • 以Google为例,先看一下它的高级检索功能

    • 下面分享一些google高级检索的小技巧

    功能 语法
    搜索特定价格 在数字前加上$ 例如:phone $400
    搜索完全匹配的结果 为字词或短语加上引号 例如:"hello world"
    在某个数字范围内执行搜索 在两个数字之间加上.. 例如:apple $50..$100
    组合搜索 在各个搜索查询之间加上“OR” 例如:banana OR apple
    搜索相关网站 在已知网址前加上“related:” 例如:related:baidu.com
    搜索社交媒体 在用于搜索社交媒体的字词前加上@ 例如:@twitter
    搜索特定网站 在相应网站或网域前加上“site:” 例如:site:youtube.com或site:.gov

    1.2.2DNS与IP查询

    • 通过公开的一些互联网基础信息服务,能够找出目标组织域名、IP以及地理位置之间的映射关系,以及注册的详细信息,同时可利用DNS服务获取到组织内部系统情况。

    • ICANN主要负责协调互联网上基础的几类标识符的分配工作,包括DNS域名、IP地址与网络通讯协议的参数指标与端口号。

    • 通过WHOIS查询baidu.com DNS注册域名

    • 通过工具nslookup来查询www.baidu.com的DNS与IP之间的映射

    • 通过工具dig来查询www.baidu.com的DNS与IP之间的映射

    1.2.3网络拓扑侦察

    • 在找出可以作为潜在攻击目标的网络之后,攻击者可以通过网络拓扑侦察尝试去确定哪些网络的的拓扑结构和可能存在的网络访问路径。

    • traceroute通过设置UDP数据包的TTL字段从1开始递增,获取ICMP Time Exceeded应答消息,这样traceroute就可以监听所有的返回的ICMP包。

    • 因为linux虚拟机的网络配置问题,trace的测试在windows进行,截图如下:

    1.3网络扫描

    在进行了网络踩点之后,我们获取了攻击目标“外层”的信息点,接下来就需要网络扫描来探索更为细致的点来发现缺陷与漏洞。网络扫描分为如下四个部分:主机扫描、端口扫描、操作系统/网络服务辨识、漏洞扫描

    1.3.1主机扫描:找出网段内活跃的主机

    • 基于ICMP协议的ping扫描
      • 通过IMCP Echo request和IMCP Echo reply表明目标主机是真实存在的
    • 基于TCP协议的主机扫描
      • 包括TCP ACK ping和TCP SYN ping两种
    • 使用UDP协议的主机扫描
      • UDP扫描的工具向一个非开放的UDP端口发送消息,主机讲返回ICMP不可达消息,进而判断主机存在。
    • nmap网络扫描器中实现的主机扫描功能
    Nmap命令 功能说明 发送数据
    nmap -sP 集合了上述四种功能
    nmap -PE ICMP Echo主机扫描 ICMP Echo request数据包
    nmap -PS TCP SYN主机扫描 带SYN/ACK标志的数据包
    nmap -PA TCP ACK 主机扫描 带ACK标志数据
    nmap -PU UDP主机扫描 UDP数据包
    • 基于之前搭建的网络攻防环境,使用nmap -sP进行局域网扫描

    1.3.2端口扫描:找出主机上所开放的网络服务

    • 在主机扫描确定了活跃主机之后,用于探查活跃主机上开放了(即处于网络服务监听状态)哪些TCP/UDP端口的技术方法,为进一步入侵选择恰当攻击通道提供辅助信息。

    • 端口扫描的基本方法包括:

      • TCP connect:基本的扫描方式,通过调用操作系统的connect进行扫描
      • TCP SYN扫描:将connect中的三次握手的第三步通过直接发送SYN和ACK包进而省略掉,因此进行SYN扫描需要特权用户权限。
      • UDP端口扫描:基本原理是向目标端口发送一段特殊定制的UDP报文,如果被扫描的端口开放,监听的UDP网络将返回响应特殊定制的数据报文。
    • 端口扫描工具,如下列表

    Nmap命令 功能说明
    nmap -sT TCP connect()连接
    nmap -sS TCP SYN 扫描
    nmap -sF FIN端口扫描
    nmap -sN MULL端口扫描
    nmap -sA ACK端口扫描
    nmap -sX 圣诞树端口扫描
    nmap -sU UDP端口扫描
    • 扫描靶机端口,截图如下:

    1.3.3操作系统/网络服务辨识:识别主机安装的操作系统类型与开放网络服务类型,以选择不同渗透攻击代码和配置

    • 操作系统主动探查包括FIN探查、无效位置探查、ISN采样、DF标志位监控、TCP初始数据窗长度、ACK值处理、ICMP出错消息抑制等系统特征值进行判断。

    • 网络服务类型探查主要依靠网络服务在实现应用层协议时所包含的特殊指纹信息。操作截图如下:

    1.3.4漏洞扫描:找出主机/网络服务上所存在的安全漏洞,作为破解通道

    • 漏洞扫描是探测发现目标网络中特定操作系统、网络服务与应用程序中存在的安全漏洞。原理是漏洞会以公共信息库进行公开发布。

    1.4网络查点

    • 网络服务查点可以通过网络上流行的通用网络协议进行查点。例如FTP协议和最常用的SMTP协议的VRFY及EXPN命令进行查点。

    • 可以通过远过程调用RPC服务的基本工具rpcinfo来查找远程主机上有哪些RPC正在监听外来请求,截图如下:

    二、实践过程

    2.1任务一:DNS与IP查询

    • 查询DNS注册人及联系方式、该域名对应的IP地址、IP地址的注册人及联系方式和IP地址所在的国家、城市和具体的地理位置。

    • whois baidu.com查询

    • ip查询截图如下:

    • 线上ip归属地查询,截图如下:

    2.2任务二:通过社交媒体获取一位好友的ip地址,并查询归属地

    • 通过系统的自带资源监视器,想好友发起语音聊天,抓取收发数据包最多的ip地址,截图如下:
    • 通过线上查询归属地,截图如下:

    2.3nmap动手实践

    • 靶机的IP地址是否活跃?
    • 靶机开放了哪些TCP和UDP端口?
    • 靶机安装了什么操作系统?
    • 版本是多少和靶机上安装了那些网络服务?

    2.4Nessus动手实践

    • 安装过程,截图如下:
    • 注册获取激活码,截图如下:
    • 注册成功后,下载插件,截图如下:
    • 在线安装插件失败,改为离线安装,使用查询后的挑战码和注册码获取下载链接,截图如下:
    • 进行离线安装,截图如下:
    • 使用Nessus对靶机环境进行扫描,然后回答下面问题:

      • 靶机上开放了哪些端口?

      • 靶机各个端口上网络服务存在哪些漏洞?

        • 添加靶机IP到创建好的My Scans

        • 在扫描漏洞时候,原本都已经扫描出结果,但最后它又提示我许可证受限。

    学习中遇到的问题及解决

    • 问题一:安装Nessus插件时候,不能使用在线安装

      • 解决方案:通过网上教程,使用离线安装。
    • 问题二:在使用nmap进行局域网扫描时,不能正确显示

      • 解决方案:原因是没有开启靶机和蜜罐网关。
    • 问题三:在使用nessus扫描时,提示许可证受限

      • 解决方案:暂时没有找到解决办法。

    实践总结

    本次实验任务量较大,包括一些工具的下载和使用,耗费了N小时终于完成,过程虽艰辛,但是当实验结果与预期一致时,颇感欣慰,继续努力!

    参考资料

    孙启龙同学的博客
    刘琳杰同学的博客
    Nessus如何使用
    如何离线下载Nessus

  • 相关阅读:
    JWT
    JS中try catch的用法
    React高级
    React基础
    获取当前时间前面的时间
    nodeJs
    数组里的字符串数字与数字互转
    寒假学习(二)spark学习
    寒假学习(一)Web开发人员学习路线图
    如何使用GitHub上传本地项目(idea功能强大可直接提交)
  • 原文地址:https://www.cnblogs.com/j1551163790/p/12496139.html
Copyright © 2011-2022 走看看