DDOS是一门没什么技术含量的东西,其本质而言是通过大量数据报文,发送到目标受害主机IP地址上,导致目标主机无法继续服务(俗称:拒绝服务)
DDOS灰产人期望达成的预期目标,几乎都是只要把对面打到
1、路由黑洞(ASN保护)
2、大面积拥塞路由丢包
3、打穿系统内核防火墙(即:每秒入站报文数量达到30W PPS及以上)
4、受害者屈服交保护符(常见打机场、VNP、菠菜、涩情/AV站点、游戏服)
这虽然没什么技术含量,但确实足够恶心人,何况还有灰产人开发全自动化DDOS一键付费自动打人平台,只要给的钱够多就行,用户水平越来越低龄化,产生的恶意风险及后果越来越大。
DDOS的手段目前主要有两类方式:
1、捕获肉鸡,攻击时全球各地的肉鸡向受害主机IP地址发送数据。
2、伪装源地址,攻击时随机生成不同IP、PORT的地址向受害主机IP地址发送数据。
第一类有一定技术手段,大多数情况是通过在色情网站、或者网上挂捆绑软件,在客户智能终端设备上运行,由于这类木马本身不需要管理员权限,并且行为单一,只是正常低权的普通一个网络程序,大多数杀毒软件通常都会认为是安全无害的。
第二类这要一台 "大上行带宽发包机",发包机在大陆基本目前已经很难找到,但垃圾 "美帝" 那边发包机还是有很多的,并且服务器及带宽成本便宜。
什么样的服务器,可以称为发包机?
即:
1、拥有至少1GE上行宽频
2、子网路由不限制,非分配源地址发出
即:无基于源地址的出口过滤(SBEF / Source-Based Egress Filtering)
目前有以下几类出口过滤技术标准:
A、uRPF(Unicast Reverse Path Forwarding)
B、入口过滤(Ingress Filtering)
C、BCP 38 / RFC 2827
D、BCP 84 / RFC 3704
其它都不重要,这两条尤为重要,否则定向攻击受害目标,容易被IP投诉,然被抓,所以,这些玩DDOS下水道(下三滥)的灰产人,都采用源地址伪装的方式来对受害目标进行攻击。
为什么改变IP协议源地址,在发送报文到目标IP地址,这会成功?
这是基于现代网络路由拓扑的结构决定的,我们知道一个IP报文要想发送到目标主机,需要提供目标主机的IP地址。
但对面怎么应答收到人的数据呢?所以IP协议上的源地址就是对端用来应答数据的IP地址,但这个过程是可以修改的,因为在互联网之中运行的TTL跃点路由器并不会检查源地址,它根本不需要关注源地址,这个附加信息本身就是给IP目标地址指向的对端主机看的。
而且就算让TTL跃点路由器去检查源地址,它也无法判断这个源地址是否为合法的,正因如此才导致这些随机IP地址的DDOS报文都可以轻松发送到目标主机IP地址上。
但在互联网的跃点路由之中,仍然可以实现检查,即在知晓源地址有效应的路由上进行出口报文过略,即可以轻松屏蔽这些小...在现代的企业/家用路由器,几乎都会直接屏蔽这类垃圾报文发出本地出口路由网关,并且运营商与客户接入的网关服务器也会严格的源地址过滤检查。
全社会都在努力应对下水道的下三滥攻击,并为此付出了巨大的代价,搞点小破坏的成本却没有防御的成本高,这也是这些XB3们,肆无忌惮的互联网上各种增加拥塞,各种瞎整的底气?
不以为耻,反以为荣,但凡它们利用漏洞渗透、或者下木马等方式抓肉鸡,我反倒会认为这些人是真有本事,是一群真正的技术人才,值得社会花费一定代价招安,但就只会点DDOS下水道挤兑网络的蛆蛆们,确实不咋地。
人家玩HTTP/FTP CC DDOS(一般称为:HTTP Flood),别人是依靠各种手段抓到的小肉鸡设备群,通过全球各地的肉鸡去跟服务器正常通信来拉包服务器的带宽,让受害主机拒绝服务器,把目标内存挤兑爆炸、带宽及最大链接数量怼爆,这是有一定技术含量的。
当然还有一种是去扫抓:SNIProxy 这样的HTTP/HTTPS转发服务器,有很多小白白们部署这个东西来解锁所谓的 Netflix 流媒体,这是可以被利用的,它本质上是一个轻型无限制访问的CDN。
而通过DDOS修改源地址这波人,你无外乎常用手段也不过就以下几种:
1、NTP反射
即利用:monlist 命令返回的巨大流量到受害服务器IP上,发包机伪造请求IP报文,源地址是受害主机IP地址。
端口:123
放大:200-556倍
2、SSDP反射
即利用:发送M-SEARCH请求,物联网设备返回设备描述信息到受害服务器IP上。
端口:1900
放大:30-100倍
3、TCP SYN Flooding
这个是定向攻击目标开放的外网PORT,一般是捶打:80/443,但这个反射收益比较小,所以现在基本很少再用。
但实际上主要是以 "NTP反射"、"SSDP反射" 为主,因为它们大多数人连工具都不会写,现成的基本就这几种好使。
但实际上新一代的反射攻击技术,就我所了解的还有以下几种:
1、Memcached 反射
即:通过请求空键值,返回超大内存数据(15B请求→750KB响应)
端口:11211
放大:5万-10万倍
2、DNS反射
即:通过发送ANY查询请求,返回域名所有记录(如60B请求→3000B响应)
端口:53
放大:10-54倍
3、CLDAP反射
即;通过轻量目录访问协议查询,返回活动目录信息
端口:389/636
放大:50-70倍
4、CoAP/ARMS反射
IoT协议
端口:5683
放大:11.76倍
5、WS-Discovery反射
设备发现协议
端口:3702
放大:414倍
6、RDP反射
远程桌面协议
端口:3702
放大:85.9倍
目前而言反射效果最佳的是通过 Memcached 反射,但这个要求比较苛刻:
1、Memcached 服务器需要无验证
2、Memcached 服务器内部要建立大量的KEY值(即要有数据)
这两点想要扫并抓到可利用反射IP服务器,不太容易了,一般是学生才可能干得出来这种事情,但现在好多都有要求,即便是学生也不太容易犯,不屏蔽不受信任外网端口访问的事情。
实际上要制作这些程序最好的办法是结合DPDK来发送,这样可以用最低的CPU能耗发出足够巨量的IP数据报文,当然通过系统提供的PF_PACKET, RAW_SOCKET也是可以,但这或许会相对慢得多,在不利用DPDK的情况下,更快的报文轰炸发送是通过内核RING(环)来发送数据的。
当然:
本文不会提供这些DDOS程序源代码实现,即便它没什么技术含量就是了,如果你真想要干这个没品下三滥的事儿,给不给源代码,不是都搞出来不是?HL:? 现成工具链多成熟。