Bro Script:硬编码的 IP 地址

Bro Script: Hardcoded IP addresses

我有一项作业,需要一点帮助。我有 infected.pcap 和以下任务:

硬编码 IP 地址 有时,恶意软件包含硬编码 IP 地址以下载其有效负载或与其命令和控制 (C&C) 服务器通信。找到所有这样的交流。提示:此类 IP 没有先前的 DNS 请求。

我需要用Bro脚本来解决。这是我的想法,但不幸的是我所有的连接都没有 DNS 请求:

    @load base/protocols/dns/main.bro
event file_timeout(f: fa_file)
    {
    for ( cid in f$conns )
        {
    if(f$conns[cid]?$dns){
        print f$conns[cid]$dns; 
        print "DNS";
    }else {
        print "No DNS";
    }
        }
    }

你知道我的代码有什么问题吗?

我建议您为此使用了错误的事件。 file_timeout 仅在文件传输发生然后未完成就停止时才会发生。一个更有趣的事件关联是:

  1. 跟踪 DNS 地址查找响应(我可能会使用 event dns_A_reply(c: connection, msg: dns_msg, ans: dns_answer, a: addr))。
  2. 将地址return记录在一个集合中;这将提供 您是一组通过 DNS 查询发现的所有地址。
  3. 检查出站请求(其中 SYN 上的 orig_h 是内部请求 地址)
  4. 检查id$resp_h中的地址是否在集合中 地址第 2 步。如果是,return,如果不是, 生成通知,因为您有一个出站连接尝试 没有相应的 DNS 查找。