一个简单的DGA(Domain Generate Algorithm)
来源:互联网 发布:webuploader php demo 编辑:程序博客网 时间:2024/06/06 08:39
黑产的规模和技术是越来越强了,想到一句话:任何人都被骗过,所以同样的任何人都被黑过。
针对大规模简单而粗暴的DDoS网络破坏是如何实现的呢,通常除了一些大规模有组织且政府允许的,还有各种各样的个人组织,目的都是为了利益,画了张图
通常在获取0-day漏洞后,马上编写针对该漏洞的代码,再把早就开发后的其它组件一起打包一下,取个霸气的英文名,就诞生了一个新的病毒,整个过程就像发明一种新的
发动机,然后按照生产线组装一下就有一辆新的车,然后就卖钱或勒索了,不然怎么能称为黑产呢?
概述:一个木马病毒通常包含几个部分,有些模块是可以重复利用的,像提供加密的RSA2048,蠕虫模块主要利用ARP协议来感染局域网存在该漏洞的计算机,提供DDoS
的洪水攻击(SYN Flood ,UDP Flood ACK Flood 等等),升级模块主要用来更新最新的病毒版本或者DGA算法,命令模块主要是用来接受主控服务器的命令来执行操作。
本文重点:介绍一下这些被感染的肉鸡是如何与主控服务器之间建立连接关系,而不被安全厂商发现,提高与安全狗的对抗能力,不能在木马或病毒中使用固定的主控IP地址或者域名来解析,这种固定的硬编码很容易被DNS解析服务列入黑名单,这样不就失去和主控服务器的连接。所以首先是洋葱网络(Tor),可以通过洋葱网络
来逃避反追踪,洋葱网络的匿名性可以隐藏主控服务器,关于洋葱网络的资料可以搜索到很多资料,但是在国内基本用不了,另外一个是使用DGA算法。DGA算法可以生成
伪随机的域名,看似没有规律,其实是有规律的。例如DGA算法可以生成10000个域名,然后尝试去解析各个域名,而黑客可以选择其中的几个或一个域名,注册后把域名
指向主控服务器的IP,而木马尝试解析成功后就开始建立连接(如果域名没注册,那么解析失败,会尝试解析其它域名)这样可以避免安全工作人员在短时间内把所有的域名
都注册了使得木马失效,毕竟注册域名要交很多钱,且要实名等等。
package com.copycat.utils;import java.util.Random;public class DGA{ public static String generateDomain(int year,int month,int day) { String domain=""; int random=new Random().nextInt(32); for(int i=0;i<random;i++) { year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) << 17); month = ((month ^ 4 * month) >> 25) ^ 16 * (month & 0xFFFFFFF8); day = ((day ^ (day << 13)) >> 19) ^ ((day & 0xFFFFFFFE) << 12); domain += (char)(Math.abs(((year ^ month ^ day) % 25)) + 97); } return new String(domain)+".infosec"; } public static void main(String[] args) { for(int i=0;i<50;i++) { String result=generateDomain(2014, 6, 18); System.out.println(result); } }}看看输出结果
kaju.infosec
kajugcffk.infosec
kaj.infosec
kaju.infosec
kajugcf.infosec
kajugcffktsgskchay.infosec
kajugcffktsgskchaymsjctbnty.infosec
kajugcf.infosec
kajugcffkts.infosec
kajugcffktsgskchaymsj.infosec
kajugcffkt.infosec
kajugcffktsg.infosec
kajugcf.infosec
kajugcffktsgs.infosec
kajugcffktsgskchaymsjctbn.infosec
kajugcffkt.infosec
kajugcffktsgskchaymsjctbntyp.infosec
kajugcffk.infosec
kajugcffkts.infosec
kajugcffktsgskchaymsjctbnty.infosec
kajugcffk.infosec
kajugcffktsgskchaym.infosec
kajugcffktsgskchaymsjctbntyp.infosec
kajugcf.infosec
kajugcffktsgskchaymsjctbntypl.infosec
.infosec
kajugcffk.infosec
k.infosec
kajugcffktsgskchaymsjctbnty.infosec
kajugcffktsgskchaymsjctbnty.infosec
kajugc.infosec
kajugcffktsgskchaym.infosec
kajugcffktsgskchay.infosec
kajugcffktsgskchaymsjctbntyp.infosec
kajugcffktsgskchaymsjctbntypl.infosec
kajugcffk.infosec
kajugcffktsgskchaym.infosec
kajugcffktsgskchaymsj.infosec
kajugcff.infosec
kajugcffktsg.infosec
kajugcffktsgskchaymsj.infosec
kaju.infosec
kajugcffktsgskchaymsj.infosec
kajugcffktsgskchay.infosec
kajugcffktsgskch.infosec
kajugcffktsgskc.infosec
kajugcffktsgskcha.infosec
k.infosec
kajugcffktsgskchaymsjct.infosec
kajugcffktsgskchayms.infosec
后序:关于C&C,其实一般是自己专有的会好很多,也可以使用社交网络服务的功能,比如可以根据规则在特定的时间去注册多个或一个账号,(过程类似DGA)然后在账号的主页,发布命令让傀儡机周期性的去读取命令,然后执行命令。
最近还发现了很多javaScript版本的挖矿程序,就是打开某个被嵌入挖矿程序的网页,然后会利用你的计算机CPU去挖矿,占用你的计算机资源,CPU飙升100%,最终电脑卡机,还有很多游戏辅助工具也是被植入挖矿程序,所以下载软件或工具一定要小心再小心,防不胜防啊,最后说一下,植入coinhive.min.js的网站多数是黄色网站,不要问我是怎么知道的,扫扫二维码,支持一下我,我告诉你~
- 一个简单的DGA(Domain Generate Algorithm)
- C&C服务器对抗方法演进与域名产生方法(Domain generate algorithm, DGA)
- 用VMM在Hyper-V类型host上建立一个简单的domain
- 由一个简单需求到Linux环境下的syslog、unix domain socket
- 简单的Boyer Moore Algorithm
- 得到一个URL的domain域
- 关于unix domain socket的一个文章
- Algorithm之路二十二:Generate Parentheses
- 简单的遗传算法(Genetic Algorithm)源代码
- 【Boost】boost::algorithm的几个简单例子
- OpenCV 实现一个自己的Algorithm类
- GYP(Generate Your Project)一个很有价值的构建系统
- GYP(Generate Your Project)一个很有价值的构建系统
- 简单,易于Mock,仅依赖Spring的Domain Model
- dga域名检测
- jquery中的jsonp使用(cross-domain的一个方法)
- algorithm to generate unique code of 64 bit
- STL algorithm算法generate和generate_n(22)
- 以洗衣程序为例讲解自顶向下,逐步求精的结构化程序设计方法
- 网络 TCP/IP和HTTP
- 再提递归
- FZU 2027
- java.io.FileNotFoundException: class path resource [templates/] spring-cloud-netflix-eureka-server
- 一个简单的DGA(Domain Generate Algorithm)
- STL(二)vector 动态数组
- shell脚本批量操作用户
- fastjson中JSON语句与map转换(结合List与JSONObject)
- FZU 2028
- 【Codevs1078】最小生成树 Prim算法(5/1000)
- Druid集成Kerberos
- 如何在Android系统锁屏后使程序继续运行
- JAVA通过URL下载文件(POST,参数)