国科大网络协议安全大作业——分析流量并使用Snort规则进行检测

一、实验准备

1.1 实验要求

SHA256(Secure Hash Algorithm 256-bit)是一种密码学哈希函数,用于计算数据的哈希值。每个文件使用一个哈希算法只会有一个确定的哈希值。

1.2 虚拟机配置

被感染主机设置为ubuntu22.04,虚拟机IP地址为192.168.88.142

二、打开.pcap文件的流程

2.1 用root账号登录虚拟机

原因:避免wireshark奇怪报错

2.2 查看文件类型和使用命令行计算SHA256哈希值

 2.2.1在终端执行 file命令查看文件类型

file malware.pcap 

2.2.2计算该文件的SHA256

shasum -a 256 malware.pcap 

得到哈希值为68bdbde81313644728076c1f1dd4c3106d08a3bb428269d3866ee29520f2fb62

额外知识:在windows里使用SHA256计算哈希值

 CertUtil -hashfile "I:\virtual_machine_linux\virtual_machine\ubuntu_polyos\Ubantu_polyos-disk1.vmdk" SHA256

把文件拖到"" 内会自动出现路径

2.3 用wireshark打开.pcap文件

2.3.1 什么是.pcap文件

全称叫做packet capture,即抓到的包,被导出来,形成文件,文件就是.pcap格式,哈哈哈不是那种导出来。

2.3.2 在linux中打开.pcap文件

直接进入文件夹,找到目标文件,然后选择用wireshark打开

2.2

在导出http报文之前,先停止抓包

三、 安装snort

使用以下代码安装snort

sudo apt-get update
sudo apt-get install -y snort

出现这个界面,是选择监听的网络块,保持默认,使用方向键,然后点击OK

使用以下代码查看snort是否安装成功

snort -V

可以看到snort安装成功

四、 重点关注malware.pcap中的HTTP流量

参考以下链接学习如何导出可疑流量,然后放入检查网站检测是否是病毒

Wireshark Tutorial: Exporting Objects from a Pcap

4.1 筛选出http的请求流量

4.2 导出http的请求流量

4.3 选择全部导出

4.4 选择保存位置

4.5 通过VirusTotal鉴别文件是否是病毒

网站:VirusTotal

可以看到众多病毒检测网站都认为这个文件是一个病毒文件

4.6 回过头来再分析

这个时候我们看到,看似他是一个.pdf,实则是一个可执行文件

它的SHA256值:f25a780095730701efac67e9d5b84bc289afea56d96d8aff8a44af69ae606404

五、使用Snort来筛选病毒

5.1 将规则保存为一个文本文件,例如example.rules,并放在snort的规则目录中,例如/etc/snort/rules/

5.2 在snort的配置文件中,例如/etc/snort/snort.conf,添加一行来引用规则文件,例如include $RULE_PATH/example.rules

5.3 重启snort服务或重新加载snort配置,以使规则生效。

sudo systemctl restart snort
sudo snort -c /etc/snort/snort.conf -A console # 重新加载snort配置并在控制台显示警报

5.4 设置配置文件和监听网卡

sudo /usr/sbin/snort -d -l /var/log/snort/ -c /etc/snort/snort.conf -i ens33

上面的代码多了一个 -d 参数。这个参数的作用是让 Snort 以 数据包转储 模式运行

使用ens33是因为我的默认网卡是ens33

运行后监听网卡ens33

可以通过ctrl+c来停止监听

5.5 读取malware.pcap

参考视频https://www.youtube.com/watch?v=RUmYojxy3Xw

在执行第二条指令之前,先打开一个终端,用以下命令跟踪alert文件日志的最后几行,然后再打开一个终端,执行第二条指令,这样就可以很清晰的看到变化。

tail -f -n 5 /var/log/snort/snort.alert.fast
sudo /usr/sbin/snort -d -l /var/log/snort/ -c /etc/snort/snort.conf -r /home/itheima/snort/malware.pcap 

操作界面如图所示

输出的结果如图所示,snort会帮忙扫描.pcap包中的协议类型,然后根据rules,给出相应的alert

可以见到上图中的virus detected ,是咱们在5.1 部分设置的规则,检测到由HOME_NET之外的网络发入HOME_NET之内的TCP请求,其content包含"pdf"即在日志中生成alert msg "virus detected"。

六、 选做部分

分析这个恶意文件是什么类型的恶意文件,有什么恶意行为。
https://s.threatbook.com/ 打开微步在线云沙箱网站,传入病毒文件
可以看到文件类型是Windows动态链接库文件
文件检测是恶意病毒
恶意行为有以下
  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ARP Spoofing 攻击是一种常见的网络攻击,攻击者可以通过发送虚假的 ARP 响应包来欺骗目标主机和网关之间的 ARP 缓存,从而实现间人攻击。为了检测 ARP Spoofing 攻击,可以在 Snort 编写规则检测 ARP 协议的异常行为。 具体来说,可以通过编写如下的 Snort 规则检测 ARP Spoofing 攻击: ``` alert arp any any -> any any (msg:"ARP Spoofing Detected"; arp:reply; threshold: type both, track by_src, count 5, seconds 10; sid:100004; rev:1;) ``` 该规则的含义是,当 Snort 检测到任意源地址和任意目的地址之间发生的 ARP 响应包,且连续 5 次发生在 10 秒内,则触发警报,提示可能发生了 ARP Spoofing 攻击。 这里使用Snort 的一些关键字和选项,例如 "alert" 表示触发警报,"arp:reply" 表示检测 ARP 响应包,"threshold: type both, track by_src, count 5, seconds 10;" 表示设置阈值,当连续发生 5 次 ARP 响应包且在 10 秒内,则触发警报,"sid" 表示规则的唯一标识符。 具体原理是,当攻击者进行 ARP Spoofing 攻击时,会发送虚假的 ARP 响应包,从而欺骗目标主机和网关之间的 ARP 缓存。Snort检测到 ARP 响应包时,会提取其的关键信息,如源 IP 地址、目的 IP 地址、源 MAC 地址、目的 MAC 地址等,并与规则定义的匹配条件进行比对,如果匹配成功,则触发警报。 通过编写这样的规则,就可以有效地检测 ARP Spoofing 攻击,帮助管理员及时发现和防范网络攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值