首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

dga域名列表

DGA(Domain Generation Algorithm)域名列表是指由恶意软件使用的一种技术生成的域名列表。这些域名通常用于建立与C&C(Command and Control,命令和控制)服务器的连接,以便恶意软件能够接收指令、更新或窃取数据。

基础概念

DGA是一种随机生成域名的算法,恶意软件使用这种算法来避免被传统的基于签名的检测方法发现。DGA生成的域名通常看起来是随机的,很难被人类直接识别为恶意域名。

相关优势

  • 隐蔽性:DGA生成的域名难以预测,使得安全系统难以提前识别和阻断。
  • 动态性:域名列表可以定期更新,增加了检测的难度。

类型

DGA域名生成算法有多种类型,包括但不限于:

  • 基于时间的DGA:使用当前时间作为种子生成域名。
  • 基于随机数的DGA:使用随机数生成器生成域名。
  • 基于特定算法的DGA:使用特定的数学或加密算法生成域名。

应用场景

DGA主要用于恶意软件的C&C通信,常见于:

  • 僵尸网络:用于控制大量感染的主机。
  • 勒索软件:用于接收解密密钥或支付赎金。
  • 间谍软件:用于窃取用户数据。

遇到的问题及解决方法

问题:如何检测DGA域名?

原因:DGA域名随机生成,难以通过静态签名检测。

解决方法

  1. 行为分析:监控网络流量,分析异常的DNS请求模式。
  2. 机器学习:训练模型识别DGA生成的域名特征。
  3. 黑名单:维护一个已知的恶意DGA域名列表,进行阻断。

示例代码(Python)

以下是一个简单的示例代码,展示如何使用机器学习模型检测DGA域名:

代码语言:txt
复制
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 假设我们有一个包含域名和标签(恶意或良性)的数据集
data = pd.read_csv('dga_domains.csv')

# 特征提取(例如,域名的长度、字符种类等)
data['length'] = data['domain'].apply(len)
data['entropy'] = data['domain'].apply(lambda x: -sum([p * math.log(p, 2) for p in char_freq(x)]))

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data[['length', 'entropy']], data['label'], test_size=0.2)

# 训练模型
clf = RandomForestClassifier()
clf.fit(X_train, y_train)

# 预测
y_pred = clf.predict(X_test)
print(f'Accuracy: {accuracy_score(y_test, y_pred)}')

参考链接

通过上述方法和工具,可以有效地检测和防范DGA域名带来的安全威胁。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

利用Python实现DGA域名检测

永恒之蓝中黑客预留了一个没有注册的域名,用于防护事件不受控制时,启用该域名可以抑制事件的扩大 2....利用永恒之蓝进行勒索事件中黑客预留的域名DGA域名,在某些条件下探测该DGA域名是否可以正常解析,若解析成功则不进行加密,若解析成功则不加密。...DGA一般都是通过硬编码写入到程序中,在没有能力对其逆向的情况下,我们可以分析网络流量来分析DNS请求的DGA域名。这样就需要了解哪些域名DGA域名,这里面有多种方法与思路: 1....DGA域名有个特征,很多DGA并没有注册,黑客前期会生成大量的DGA域名,但是在某些情况下,如传输数据与命令或抑制事件时,会选择性的注册少量域名,这样的话可以对DNS解析不成功的域名进行记录,并将这些域名进行进行...,若其没有注册,且域名很随机可以判断为疑似DGA域名

3.4K60

DGA域名的今生前世:缘起、检测、与发展

1DGA域名原理 恶意软件利用DGA算法与C2服务器进行通信的原理如图1[2]所示,客户端通过DGA算法生成大量备选域名,并且进行查询,攻击者与恶意软件运行同一套DGA算法,生成相同的备选域名列表,当需要发动攻击的时候...图1 DGA域名工作原理 2DGA域名分类 DGA算法由两部分构成,种子(算法输入)和算法,可以根据种子和算法对DGA域名进行分类,DGA域名可以表示为AGD(Algorithmically-Generated...3DGA域名存活时间 Plohmann Daniel等人[3]对43个恶意软件家族做逆向分析,实现了DGA算法并对超过1亿个DGA域名做分析,结合WHOIS信息,统计出了不同DGA家族域名存活时间的分布...DGA域名, 由于DGA域名的请求过程中会产生大量NXDomain,[11]对NXDomain进行分类,有效识别DGA域名。...我们构建了本地白名单列表,二级域名如果能匹配上该列表则过滤该域名,过滤后剩余545万域名。 顶级域名合法。数据中存在大量顶级域名不存在的DNS请求,这些域名不是DGA域名,过滤后剩余463万域名

7.8K30
  • DGA域名检测的数据分析与深度学习分类

    恶意软件编写者将采用同样的种子和算法生成与恶意软件相同的域名列表,从中选取几个来作为控制服务器,恶意软件会持续解析这些域名,直到发现可用的服务器地址。...本文将针对DGA域名的检测,开展以下几个方面的内容: 1)针对开源DGA域名与正常域名进行初步的数据分析,查看正常域名DGA域名的不同及其各自的数据分布; 2)尝试利用自然语言处理的方式对DGA域名进行可视化...对于DGA与正常域名,可以发现他们两者的几点不同:1)DGA的长度分布区间要比正常域名小,DGA长度分布区间为2-44,而正常域名的长度分布为1-63;2)DGA与正常域名的长度分布明显不同,DGA域名长度分布没有明显的分布规律...图3.7 DGA域名字符分布 对于DGA域名字符与正常域名字符分布,两者有一定的差别,比如正常域名在某些字符上,取值的概率比较小;DGA域名使用数字的概率比正常域名更高。...5.1 判断某个域名是否是DGA域名 DGA域名检测过程中的第一个目标是判断该域名是否是DGA域名;在该部分实验中,将直接使用全部数据来进行实验:正常域名DGA域名,其中域名的数量见表2-1。

    4.6K40

    第65篇:探索顶级APT后门Sunburst的设计思路(修正篇)Solarwinds供应链攻击中篇

    Part4 后门DGA域名通信阶段 dga域名通信阶段前置知识 1 dga域名通信阶段概述 在以上环境检测都通过之后,Sunburst后门会进入使用dga域名的DNS通信阶段。...3 后门DGA域名生成格式 Sunburst使用的dga域名做了非常巧妙的处理,大致格式如下: *.appsync-api.eu-west-1.avsvmcloud.com(*代表DGA的子域名)...后门的dga域名通信阶段 1 第1阶段DGA域名通信 在这个阶段,Sunburst主要任务是把受害者计算机域名,经过几层加密放在DGA域名中,然后回传给C2。...如下图所示,这些是从流量中抓到的Sunburst在第一阶段的dga域名通信的dga域名的流量样本。...分段}内置列表字符串列表随机选一个;{第6分段} 表示上次请求操作的错误码。

    49820

    百万域名情况下,如何快速获取域名的 IP 列表

    在我们针对某个目标进行信息收集时,获取二级域名可能是我们最重要的环节,公司越大,使用的多级域名越多,收集到域名之后,想要做端口扫描话,直接针对域名做扫描吗?...当然不是,因为同一个 IP 可能被配置了多个域名,直接针对域名做端口扫描也不是不可以,就是会做很多重复的工作,所以要先将这些域名解析成 IP 地址,然后进行去重,这样能够大大节约端口扫描的时间。...当我们有百万个域名需要解析 IP 地址,该怎么办?...dnsx/cmd/dnsx 安装完成之后,会在 go 的目录下生成一个可以运行的 exe 文件,你可以将该文件放在任意 windows 服务器上使用,使用如下命令查看帮助信息: dnsx -h 我们可以将域名列表保存在一个文件中...如果是自己实现域名解析的话,用 python 脚本也比较简单,核心的代码如下: s = socket.gethostbyname(domain) 结合 python 的多线程技术,就可以实现快速针对目标域名列表进行域名解析了

    4.5K20

    第66篇:顶级APT后门Sunburst通信流量全过程复盘分析(修正篇)

    ,于是将这个dga域名解析到ip地址96.31.172.116,Sunburst获取到这个ip之后,查询如下列表,然后立即转为”Truncate”状态,清除各种痕迹后,永久终止执行。...当C2服务端攻击者将dga域名解析成图中蓝色部分的IP地址时,说明C2服务端的攻击者还未决定目标是否是有价值的目标,是否要进一步渗透,所以需要Sunburst后门会继续发起dga域名请求,以便接收攻击者发送下一步指令...C2服务端将dga域名解析为8.18.145.62,Sunburst后门解析ip地址的最后8字节,得知需要延迟1天之后再次发起dga域名请求。...第3步 延迟1天之后,Sunburst通过ping如下dga域名,向C2请求指令,C2将域名解析为8.18.144.150,Sunburst需要继续等待1天,然后发起dga域名请求。...C2的通信在初始阶段获取内网计算机域名和安全防护软件基本信息过程中,流量都隐藏在dga域名中,难以发现。

    52420

    数字化治理方阵(DGA)正式成立

    在此背景下,中国信通院云大所牵头成立“数字化治理方阵(DGA)”,将围绕企业数字化运营,新架构、新技术、新模式、新业务、新生态治理,以及治理数字化等关键领域展开主题交流、资源共享、产业发展及平台搭建等工作...为进一步凝聚共识、增强行业影响力,现于今日在2022 首届XOps产业生态峰会上正式举行数字化治理方阵(DGA)成立仪式。...数字化治理方阵(DGA)成立仪式 方阵自启动成员单位招募以来,受到企事业单位广泛关注,截至大会前夕,共有29家单位完成申请工作,成为数字化治理方阵首批成员单位。...为进一步凝聚共识、增强行业影响力,现于今日在2022 首届XOps产业生态峰会上正式举行数字化治理方阵(DGA)成立仪式。...数字化治理方阵(DGA)成立仪式 方阵自启动成员单位招募以来,受到企事业单位广泛关注,截至大会前夕,共有29家单位完成申请工作,成为数字化治理方阵首批成员单位。

    91120

    APT新趋势:战略性休眠域名利用率提升,检测困难

    Palo Alto Networks为了发现类似的 APT 攻击,将数据中包含大量新发现 DGA域名域名标记为潜在的恶意域名。...这些恶意域名平均有 161 个 DGA域名,承载了突增流量的 43.19%。以下展示几个典型的示例分析。...△ 图 4 DGA 域名占比累计分布图 平均每天都能识别出两个可疑域名。在投入使用后,每个战略性休眠域名大约有 2443 个新出现的子域名,其中 161 个 DAG 子域名。...上图显示了激活后 DGA 流量百分比的累积分布图(CDF),域名中有一半的 DGA 流量占比超过 36.76%。...总体而言,DGA 流量随整体流量增加而增加,且 DGA 流量的占比也在显著增长。在 7 月 18 日之前,DGA 流量的百分比为 23.22%,之后为 42.04%。

    98010

    详解全球联合执法摧毁的 Grandoreiro 僵尸网络

    自从 2020 年 10 月以来,该恶意软件一直使用 DGA 算法每天生成一个主域名,以及几个备用的域名。除了当天日期外,DGA 算法还支持静态配置。...C&C 地址统计信息 不同配置的 DGA 算法生成的域名都解析到了相同的 IP 地址,这意味着不同的 Grandoreiro 样本文件入侵的受害者都会回连到相同的 C&C 服务器。...如前所述,Grandoreiro 使用 No-IP 进行域名注册。base64_alpha 字段对应于 DGA 使用的自定义 base64 字母表。...DGA 算法逻辑如下所示,最终输出结果是子域名,该子域名与 base_domain 拼接起来用作当天的 C&C 服务器。...Python 实现的 DGA 算法 以红色突出显示的部分是 Grandoreiro 的故障安全机制,在主域名无法解析时备用。尽管并非所有样本文件都有该机制,但使用的配置文件是固定的。

    19010

    一例门罗币矿工Downloader的DGA解析

    Bert Hubert 注意到了一个涉及.tickets、.blackfriday、.feedback等顶级域名DGA 域名,并将其发布到 Twitter: ?...随后,该恶意软件会尝试交替从以下两个域名下载 Payload: asxe4d2fmz7ji5ux.onion dyvt2mleg33f6zdb.onion 基于 DGA 的恶意软件不使用 Tor,两个文件后续的步骤几乎完全相同...DGA 基于 DGA 的恶意软件噪音很大,它会生成无限数量的域名,直到获得有效的 Payload 为止: ?...DGA 每天最多生成五百个二级域名(共计两千五百个二级域名)。每天的第一个域名都是特殊的,该域名始终使用硬编码的第二个域名 31b4bd31fg1x2。...(d): print(domain) 例如,推文的中显示域名来自 2018 年 4 月 10 日,如下所示: python3 dga.py --date 2018-04-10 总结 属性

    1.1K50

    Hacker基础之工具篇 Automater

    今天我们来介绍一个Kali中的工具Automater 这个工具在Information Gathering下面 Automater这个工具是一个URL/域名,IP地址和MD5哈希OSINT工具 旨在使渗透测试人员更轻松地进行分析目标网址...当然也可以看到一些检测的恶意apk历史记录,等等,当然我这里只是用做演示 我们也可以看到用DGA生成的恶意域名(就是下面那个很长一串那个) DGA域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段...例如,一个由Cryptolocker创建的DGA生成域xeogrhxquuubt.com,如果我们的进程尝试其它建立连接,那么我们的机器就可能感染Cryptolocker勒索病毒。...域名黑名单通常用于检测和阻断这些域的连接,但对于不断更新的DGA算法并不奏效 ? 还会包括一些我们做渗透测试时候的用IP查域名等等操作 ? 这个工具对于前期的信息收集还是蛮大作用的 ?

    98420

    火绒安全警报:“2345导航站”弹窗广告携带病毒 盗取QQ和多款热门游戏账号

    、近乎随机生成的域名,其中一些域名指向页面包含明显的欺诈内容(如下图所示),所以不排除这些域名是想在未来用作C&C服务的DGA(Dynamic Generation Algorithm)域名。...其中一个域名指向的页面内容 ? yyakeq.cn域名注册信息 ? ce56b.cn域名注册信息 ? 部分疑似DGA域名 ?...部分疑似DGA域名 盗号病毒溯源 通过对盗号病毒收集URL的Whois查询,可以得到如下信息: ?...域名zouxian1.cn注册信息 另外通过该域名注册信息的联系人和联系邮箱反查,此人以同样的命名方式于2018年4月20日共注册了15个近似域名: ?...域名注册反查结果 另外,通过ICP备案查询发现,其中部分域名还经过了ICP个人备案: ?

    1.4K20

    通过反向 SSH 隧道连接 RDP

    例子中使用的是赛门铁克 2018 的恶意 TLD 列表(注意,恶意的 TLD 数量远超过 20 个): https://www.symantec.com/blogs/feature-stories/...用例 4:DGA ——同一源 IP 收到大量 NX 响应 检测到大量 NX 相应时可能是域名生成算法的原因。...(恶意软件落地之前,会通过 DGA 生成大量的域名尝试链接) select sourceip, "QNAME", COUNT(*) as cc from events where eventid=257...*RCODE=3.*)' GROUP BY sourceip, QNAME last 7 DAYS 用例 5:请求解析一个超长的域名 超长域名可能是 DGA、病毒开关或者单纯只是一个超长域名...用例 6:向一个已知的动态域名解析服务发起请求 在此用例中,我们要通过一个已知动态域名解析服务列表与所有A记录查询请求进行比对,一个列表例子 https://gist.githubusercontent.com

    3.3K20

    渗透测试网站域名状态码分析

    域名系统 1.3.1....根服务器 根服务器是DNS的核心,负责互联网顶级域名的解析,用于维护域的权威信息,并将DNS查询引导到相应的域名服务器。 根服务器在域名树中代表最顶级的 . 域, 一般省略。...DGA DGA(Domain Generate Algorithm,域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段,常见于botnet中。 1.3.6....请求头列表 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集 Accept-Charset...响应头列表 Accept-Ranges 表明服务器是否支持指定范围请求及哪种类型的分段请求 Accept-Ranges: bytes Age 从原始服务器到代理缓存形成的估算时间(以秒计,非负) Age

    1.2K30

    域名系统工作原理

    域名系统 1.3.1....根服务器 根服务器是DNS的核心,负责互联网顶级域名的解析,用于维护域的权威信息,并将DNS查询引导到相应的域名服务器。 根服务器在域名树中代表最顶级的 . 域, 一般省略。...DGA DGA(Domain Generate Algorithm,域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段,常见于botnet中。 1.3.6....请求头列表 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集 Accept-Charset...响应头列表 Accept-Ranges 表明服务器是否支持指定范围请求及哪种类型的分段请求 Accept-Ranges: bytes Age 从原始服务器到代理缓存形成的估算时间(以秒计,非负) Age

    3K20
    领券