《网络攻防实践》第4周作业

20199138 2019-2020-2 《网络攻防实践》第4周作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/19attackdefense
这个作业的要求在哪里 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518
我在这个课程的目标是 掌握网络攻防基础知识,学习网络攻防技术,提高实践能力
这个作业在哪个具体方面帮助我实现目标 学习网络嗅探与协议分析
作业正文 见下文
其他参考文献 见后

1.实践内容

1.1网络嗅探

利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户或私密信息等。

原理:以太网为例,以太网是共享通信信道的,网络上的站点使用在信道上的广播机制来发送自己的数据,计算机能接收到在共享媒介上发送给其他计算机的信息。
实现嗅探的技术手段:
  • 纯交换网络中:MAC地址洪泛攻击、MAC欺骗、ARP欺骗
  • 类UNIX平台:内核态BPF和用户态Libpcap抓包工具库
  • Windows平台:与libpcap库兼容的标准抓包接口WinPcap
网络嗅探软件:
  • 类UNIX:libpcap抓包开发库、tcpdump嗅探器、wireshark嗅探器
  • windows:windump、wireshark
网络嗅探的检测与防范:

网络嗅探属于一种被动式非干扰性的攻击手段,具有很强的隐蔽性,检测较为困难。在同一主机可通过检查网卡是否运行在混杂模式下,发现正在进行监听的嗅探器;也可以基于混杂模式下操作系统和协议栈的不同特性,来检测出网络中其他主机上的嗅探器。

  • 防范措施:
  1. 采用安全的网络拓扑。网络分段越细,网络嗅探收集到信息越少。
  2. 用静态ARP或MAC-端口映射表代替动态机制,防范渗透嗅探,防止MAC地址欺骗、ARP欺骗等。
  3. 重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机等。
  4. 避免使用明文传输口令或敏感信息的网络协议。

1.2网络协议分析

对网络嗅探器进一步解析与理解捕获数据包必须的技术手段。

技术原理:类似于主机的解包原理,从底向上逐层地解析网络协议,同时进行IP分片包及TCP会话的重组,是数据包中全方位的信息。
技术实现:Tcpdump、WireShark、Snort等
WireShark的常见用法:
  1. 总览窗口逐行列出数据包,且提供数据包编号、捕获时间、源和目的地址,使用的协议和一些描述信息
  2. [src|dst] host 监听指定主机为源地址、less|greater 选择长度符合要求的包、 [tcp|udp] [src|dst]port 过滤tcp,udp及端口号
  3. tcp port 80 and host 10.0.0.5 表示只捕获80端口的TCP协议数据包,并且监听10.0.0.5的http通信。
  4. ip.addr == 127.0.0.1 && tcp.srcport == 23 表示IP的源或目的地址为127.0.0.1,并且TCP的源端口为23。
  5. 过滤器对大小写敏感

2.实践过程

2.1 动手实践:tcpdump

首先在终端输入 sudo tcpdump src 192.168.0.100 and tcp dst port 80,然后访问www.tianya.cn
《网络攻防实践》第4周作业_第1张图片

可找出以下ip地址:
221.182.218.238
221.182.218.244
221.182.218.151
221.182.218.229
52.94.234.174
111.6.180.64

通过nslookup www.tianya.cn命令查看其ip地址,验证tcpdump的正确性。
《网络攻防实践》第4周作业_第2张图片

2.2 动手实践:Wireshark

  1. 登录的BBS服务器的ip地址与端口
  • 首先在windows功能面板中开启Telnet Clinet,然后在命令提示符中输入telnet BBS.fudan.edu.cn
    《网络攻防实践》第4周作业_第3张图片
  • 注册并登录
    《网络攻防实践》第4周作业_第4张图片
  • 打开Wireshark在过滤器中输入telnet,其端口号为23
    《网络攻防实践》第4周作业_第5张图片
  1. telnet协议如何向服务器传送输入的用户名及登录口令
  • 本地与远程主机建立一个TCP连接。用户必须知道远程主机的Ip地址或域名;
  • 将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包;
  • 将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
  • 本地终端对远程主机进行撤消TCP连接。
  1. 利用Wireshark分析嗅探的数据包,获取用户名及登录口令
  • 打开追踪TCP流,可看出注册时的用户名和密码被明文传输(可以发现第一次想要修改但没确认提交的用户名也被记录了上去,telnet真是不安全)
    《网络攻防实践》第4周作业_第6张图片

2.3 取证分析实践:解码网络扫描

  • 使用Wireshark打开下载pcap包,点击统计、会话、IPv4选项
    《网络攻防实践》第4周作业_第7张图片
    攻击主机的IP:172.31.4.178,网络扫描的目标IP:172.31.4.188
  • 进入kali,打开终端安装snort,检测下载的pcap包
    安装snort工具:sudo apt-get install snort
    给予所有权限:sudo chmod 777 /etc/snort/snort.conf
    查询:sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap(-A开启报警模式,-q不显示状态报告,-u为初始化后改变snort的UID,-c为使用后面的配置文件,进入IDS模式,-r从pcap格式的文件中读取数据包)
    可看出攻击方使用nmap扫描目标网络
    《网络攻防实践》第4周作业_第8张图片
  • 每次扫描之前nmap会通过ARP更新目标MAC地址,在过滤器输入arp,5、6、7、8号之间没有数据包,共进行了4次nmap扫描,并且可知道使用的是namp -sP探测活跃主机。
    《网络攻防实践》第4周作业_第9张图片
    在过滤器输入改为tcp.port == 57738 and tcp.flags.syn == 1 and tcp.flags.ack == 0,表示tcp端口57738发送tcp请求但无回应,可看出,第二次扫描基本包含了靶机上的所有协议和服务,可知道使用的是namp -O进行的操作系统类型扫描。
    《网络攻防实践》第4周作业_第10张图片
  • 第三次扫描端口数,往返包大概是12W,由于靶机多数端口是关闭状态,整体数据流应为([SYN]->[SYN, ACK])大小为2,因此大致扫描了6W个端口。由于nmap默认只能扫描1000个端口,可知道第三次扫描使用的是nmap -sS人为指定扫描端口数量。
  • 第4次扫描过滤器输入改为tcp.port == 23(telnet端口),出现了telnet连接;更改过滤条件为tcp.port == 22(ssh端口),出现了ssh连接,判断第四次扫描为使用nmap -sV探测靶机上开放的网络服务。

  • 确定端口,过滤器输入tcp.flags.syn == 1 and tcp.flags.ack == 1 可以查看到端口开放情况,3306、139、23、80等
    《网络攻防实践》第4周作业_第11张图片
  • 确定操作系统,可看出操作系统为 Linux 2.6.x
    《网络攻防实践》第4周作业_第12张图片

2.3 攻防对抗实践

攻击方ip:192.168.0.100 防守方ip:192.168.200.4
防守方输入指令tcpdump -i eth0 -w dump.pcap进行嗅探监听并保存
攻击方用nmap进行攻击,分别为-sP,-sV,-sS,-O攻击
查看日志:sudo tcpdump -r dump.pcap
《网络攻防实践》第4周作业_第13张图片
《网络攻防实践》第4周作业_第14张图片

3.学习中遇到的问题及解决

  • 问题1:kali改为桥接模式之后连不上网
  • 问题1解决方案:编辑虚拟网络,将VMnet0的自动桥接转换到具体桥接的网卡上

4.实践总结

做实验首先要进行思考分析,跟着思路动手实践。本次实验需要对网络协议的有比较深刻的理解,要把握一些细节才能很好的分析出来。还有要多尝试,实践出真知。

参考资料

  • 《远程登录协议(TELNET)》
  • 《WireShark教程 – 黑客发现之旅(5) – (nmap)扫描探测》
  • 《nmap终极使用手册(超详细)》

你可能感兴趣的:(《网络攻防实践》第4周作业)