20199314 2019-2020-2 《网络攻防实践》第4周作业.md
20199314 2019-2020-2 《网络攻防实践》第4周作业
问题 | 解答 |
---|---|
这个作业属于哪个课程 | 《网络攻防实践》(https://edu.cnblogs.com/campus/besti/19attackdefense) |
这个作业的要求在哪里 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518 |
作业正文 | 如下 |
网络嗅探技术
1.1 网络嗅探定义
网络嗅探(Saiff)利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。
1.2 网络嗅探工具分类
网络嗅探技术可以按照所监听的链路层网络进行分类。以太网(Ethernet)与Wi-Fi是
目前有线局域网(LocalAccessNetwork,LAN)与无线局域网(WirelessLocalAccess
Network,WLAN)最流行的链路层协议,也是目前的网络嗅探器主要监听对象。
tcpdump用于前者以太网嗅探,Kismet用于后者无线网嗅探。 网络嗅探器也可以实现形式分为软件唉探器和硬件唤探器两种。
1.3 网络嗅探原理
以太网工作原理
- 混杂模式模式的网卡可以接受一切共享信道的通信帧。
- 以太网帧头中包括发送源的MAC地址与目标MAC地址(均为48位),传输过程中进行应用数据TCP/IP封包,并在数据链路层“装配“上帧头与帧尾,发送到共享通信介质上。
共享式与开放式网络
- 共享式网络主要使用集线器(Hub)连接,其网络拓扑是基于总线方式,物理上是广播的。而交互式网络则主要使用交换机组建,所以数据帧都通过交换机进行数据转发。
交互式网络攻击手段
- MAC地址泛洪攻击
- MAC欺骗
- ARP欺骗
1.4 类unix平台的网络嗅探技术与软件
-
内核态的BPF
BPF是类UNIX系统上数据链路层的一种原始接口,提供原始链路层封包的收发功能,可以开启网卡的混杂模式监听一切网络包。 -
用户态的libpcap
Libpcap是类UNIX平台用户态下的抓包工具库,与内核态的BPF包嗅探与过滤机制
相配合,为类UNIX平台上的应用程序提供标准的网络嗅探接口。
嗅探器软件主要包括:
- libpcap抓包开发工具库
- tcpdump
- wireshark(图形界面)
- 和dsniff、sniffit和linux_sniffer等等
1.5 Windows平台的网络嗅探实现技术
NPF模块与BPF模块兼容的,WinPcap标准抓包接口与libpcap库相兼容。从而可以将类unix上的很多网络分析工具移植到widows平台上。
嗅探器软件主要包括:
- wireshark
- snifferPro
- Buttsniffer,NetMon,Network Associates Sniffer
1.6 网络嗅探的防范
- 采用安全网络拓扑
- 用静态ARP或者MAC-端口映射表代替动态机制
- 重视网络数据传输的集中位置点的安全防范
- 避免使用明文传输口令或敏感信息的网络协议
动手实践1:tcpdump
使用tcpdump开源软件对在本机上访问www.tianya.cn 网站过程进行嗅探,回答问题:你在访问www.tianya.cn 网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
语法规则:
host(缺省类型): 指明一台主机,如:host 210.27.48.2
net: 指明一个网络地址,如:net 202.0.0.0
port: 指明端口号,如:port 23
src: src 210.27.48.2, IP包源地址是210.27.48.2
dst: dst net 202.0.0.0, 目标网络地址是202.0.0.0
实践过程:
sudo tcpdump src 192.168.200.3 and tcp dst port 80,可以监控本机ip包
从图中可以看出eth0网卡已经开启包监控模式。
在浏览器中访问www.tianya.cn
在终端可以看到tcp握手过程。
主要包含以下几个ip网段
221.182.218.*** (IP地址为海南海口移动)
52.94.234.*** (亚马逊云服务,推测天涯租用亚马逊云服务?)
39.156.66.*** (北京移动地址,中间节点?)
在获取到目标IP地址后,可以采用以下代码,
tcpdump -i eth0 host 221.182.218.238 抓取所有经过 en0,目的或源地址是 221.182.218 的网络数据,重新打开天涯网页,可以看到有数据包产生,证明天涯服务器IP地址的正确性:
同时ping www.tianya.cn 可以查询到IP地址网段与之前查询相符。
2 网络协议分析
网络协议分析是指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。解析过程如图:
Snort网络协议分析处理过程(三个阶段均包含预处理,拆包,解析)
1.解析以太网数据帧
2.解析IP数据包
3.解析TCP数据包
网络协议分析工具Wireshark
其主要作用是捕获网络数据包,对于数据包进行协议分析以尽可能地显示详细的情况,并以更容易理解的格式呈现给用户。
动手实践2:Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
(1)你所登录的BBS服务器的IP地址与端口各是什么?
(2)TELNET协议是如何向服务器传送你输入的用户名及登录口令?
(3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
由于在本机win10系统下wireshark总是找不到网卡,winxp虚拟机里面wireshark软件也不好用,最后还是选择kali系统中自带的wireshark。
在终端输入luit -encoding gbk telnet bbs.fudan.edu.cn
其ip地址为202.120.225.9 端口为23.
Telnet协议在传输用户名和密码时采用明文传输,右键目的ip为202.120.225.9的follow追踪TCP流,可以看到我们的用户名为guest,而且密码为空。由于传输数据可能过多,因此需要指定从主机到目的ip的数据。
解码网络扫描
1.攻击主机的IP地址是什么?
2.网络扫描的目标IP地址是什么?
3.本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
4.你所分析的日志文件中,攻击者使用了哪种扫描方法,扫描的目标端口是什么,并描述其工作原理。
5.在蜜罐主机上发现哪些端口是开放的?
6.额外奖励问题:攻击主机的操作系统是什么?
答:先下载云班课上分享的listen.pcap文件,在win10系统上用wireshark打开。
从图中可以看出172.31.4.188和172.31.4.178之间进行了大量的通信。所以可以初步确定两个为攻击者ip和目标ip。
但是从下图可以看出,ip172.31.4.178一直在广播寻找172.31.4.188,因此可以确定攻击者主机ip为172.31.4.178,目标ip为172.31.4.188.
打开kali,开始安装snort
sudo apt-get update
sudo apt-get install snort
输入 snort -A console -q -u snort -c /etc/snort/snort.conf -r /home/kali/listen.pcap //-A开启报警模式,-q不显示状态报告,-r从pcap格式的文件中读取数据包,通过snort扫描
图中标注可以看出,通过namp进行扫描。
由于nmap通过广播arp request探测主机是否活跃,如果收到arp response报文即为活跃。在Wireshark中筛选icmp,就可以看进行了基于icmp协议的两次ping扫描。(并且可以看出是172.31.4.178先进行请求的)
输入tcp.flags.syn == 1 and tcp.flags.ack == 1,从图中可以看到已经开放的端口
常用的端口号及其作用如下:
探查操作操作系统使用p0f,其是一款被动探测工具,能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。
apt-get install p0f
p0f -r listen.pcap
从下图标注处可以看出操作系统为2.6.* 版本。
攻防对抗实践
任务:攻击方用nmap扫描,防守方用tcpdump嗅探,用wireshark分析,并分析出攻击方的扫描目的以及每次使用的nmap命令。
攻击机用kali(192.168.200.3),靶机用metasploitable2linux(192.168.200.125)
在kali上运行tcpdump -i eth0 -w 1.pcap,开启eth0网络接口监听模式,并保存为pcap文件。
同时kali执行nmap -sP /nmap -O /nmap -sV //192.168.200.125扫描靶机。
完成后输入wireshark 1.pcap,在wireshark中就可以分析网络扫描结果。
3. 学习中遇到的问题及解决
问题1:在widows10系统上wireshark总找不到无线网卡?
问题1解决方法:暂未解决,最后还是在kali系统上完成。
问题2:bbs,比如常用bbs天涯论坛无法telnet登陆问题
问题2解决办法:最后参考其他同学博客,找到复旦大学bbs可以登陆
问题3:snort工具安装失败
问题3解决办法:需要先sudo apt-get update 升级一下。
4.实践感悟
实践过程中遇到网卡崩了,wireshark找不到网卡的各种问题,还是kali这种类unix的系统比较省心。