国科大网络协议安全大作业——分析流量并使用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、付费专栏及课程。

余额充值