Memcache扫描程序“互动“请求

声明:

本文内容仅供学术研究,不作为违法乱纪使用,如有出现违规行为皆与作者、编辑、机构无关。

据报道2018年3月5日全球最大的DDOS攻击针对一家美国服务提供商。DDos的带宽为1.7Tbps,是使用配置错误的Memcache服务器实现的。Memcached是一个Linux守护程序,它缓存从数据库调用的数据,并允许从缓存而不是数据库中提取后续的数据库查找。这用于减轻数据库负载。可以通过使用指定命令通过端口11211发送TCP或UDP数据包来控制这些服务器的旧版本。默认情况下,Memcache守护程序绑定到端口0.0.0.0(所有IPV4适配器),并且接受TCP和UDP数据。这就是问题出现的地方,这意味着Memcached的控制界面已公开使用。它接受UDP数据的事实也带来了一个问题。与TCP不同,您必须执行3种方式的SYN,SYN-ACK,ACK握手建立连接。使用UDP并非如此,因此,攻击者可以欺骗UDP数据包的源IP地址,将其定向回受害者。如果将数据添加到缓存中,然后使用欺骗性的源UDP数据包进行请求,则将允许所请求的非常小的UDP反映对受害者的更大响应。当乘以1000台易受攻击的Memcache服务器时,它就允许使用大量的DDOS。我决定启动服务器,并尝试与当前正在搜索易受攻击的Memcache服务器的扫描程序进行交互。这将允许请求的很小的UDP反映对受害者的更大响应。当成千上万的易受攻击的Memcache服务器相乘时,它就允许大量的DDOS。我决定启动服务器,并尝试与当前正在搜索易受攻击的Memcache服务器的扫描程序进行交互。这将允许请求的很小的UDP反映对受害者的更大响应。当成千上万的易受攻击的Memcache服务器相乘时,它就允许大量的DDOS。我决定启动服务器,并尝试与当前正在搜索易受攻击的Memcache服务器的扫描程序进行交互。

该过程的第一步是简单地侦听端口11211,以查看扫描程序如何与Memcache服务器进行交互。我离开TCPDUMP运行了几天,发现了四种不同的交互方式。

统计扫描

我收到的第一个数据包类型是状态扫描。这是有效载荷中使用stats命令在端口11211上传入的UDP数据包。这将导致服务器使用通用统计信息和设置进行回复。可以在下面找到十六进制+ ASCII转储:

0000   08 00 27 74 8e 80 08 00 27 d9 1b 7c 08 00 45 00  ..'t....'..|..E.
0010   00 2b ca 2b 40 00 40 11 ec 33 c0 a8 01 b6 c0 a8  .+.+@.@..3......
0020   01 5c 8d da 2b cb 00 17 84 8b 00 00 00 00 00 01  .\..+...........
0030   00 00 73 74 61 74 73 0d 0a                       ..stats..

清除

我收到的另一种数据包类型是flush_all命令。这只会使所有缓存的项目无效。该命令被用作阻止Memcache服务器执行拒绝服务的方法。您可以在下面找到此命令的十六进制+ ASCII转储。

0000   08 00 27 74 8e 80 08 00 27 d9 1b 7c 08 00 45 00  ..'t....'..|..E.
0010   00 2f ca 25 40 00 40 11 ec 35 c0 a8 01 b6 c0 a8  ./.%@.@..5......
0020   01 5c eb 81 2b cb 00 1b 84 8f 00 00 00 00 00 01  .\..+...........
0030   00 00 66 6c 75 73 68 5f 61 6c 6c 0d 0a           ..flush_all..

清除缓存将防止服务器继续向受害者发送数据。我收到一堆flush_all命令的事实意味着有人试图通过刷新所有发现的Memcache服务器来停止DDOS。

版本扫描

我收到的第三类数据包使用version命令请求版本。这只是返回正在查询的Memcache服务器的当前版本号。可以在下面找到十六进制+ ASCII转储:

0000   08 00 27 74 8e 80 08 00 27 d9 1b 7c 08 00 45 00  ..'t....'..|..E.
0010   00 2d c5 f5 40 00 40 11 f0 67 c0 a8 01 b6 c0 a8  .-..@.@..g......
0020   01 5c c0 d6 2b cb 00 19 84 8d 00 00 00 00 00 01  .\..+...........
0030   00 00 76 65 72 73 69 6f 6e 0d 0a                 ..version..

未知扫描

我不太确定收到的最终数据包的目的。该包可以从下面下载,以供您查看。如果您知道它的用途,请使用页面顶部的链接与我联系,并告诉我。可以在下面找到十六进制+ ASCII转储:
mystery.pcap:下载

0000   06 18 28 56 f0 64 06 df ca 54 fe 66 08 00 45 00  ..(V.d...T.f..E.
0010   00 5d 00 00 40 00 24 11 06 c3 7b f9 23 38 ac 1f  .]..@.$...{
     .#8..
0020   04 7d 83 ea 2b cb 00 49 ec 53 00 01 00 00 00 01  .}..+..I.S......
0030   00 00 67 65 74 73 20 61 20 62 20 63 20 64 20 65  ..gets a b c d e
0040   20 66 20 67 20 68 20 6a 20 6b 20 6c 20 6d 20 6e   f g h j k l m n
0050   20 6f 20 70 20 71 20 72 20 73 20 74 20 77 20 76   o p q r s t w v
0060   20 75 20 78 20 79 20 61 0d 0a 00                  u x y a...

似乎正在尝试从缓存中提取数据。但是使用字母作为键串。

显然,除了最终的神秘数据包之外,其他所有数据包均被捕获。它们全都旨在确定天气,它们正在扫描的服务器容易受到反射的DDOS的攻击。由于我只有TCPdump在端口11211上运行,因此扫描程序未收到表明服务器易受攻击的答复。因此,不再进行任何交互。我的下一步是编写一个脚本来答复这些扫描,就像易受攻击的内存缓存服务器一样。

伪造请求

伪造对这些扫描的回复的最简单方法是在虚拟机中启动我自己的内存缓存服务器。向其发送flush_all,stats和version命令,并查看其响应方式。Memcache版本1.4.25默认情况下禁用UDP连接。我假设接收到的版本扫描的目的是确定内存缓存是否低于此版本,因此更容易受到攻击。我安装了1.4.24版进行测试。我使用以下三个命令通过NC通过管道传送回声以进行版本扫描,分别刷新所有扫描和状态扫描:

Version:        echo -ne "\x00\x00\x00\x00\x00\x01\x00\x00\x76\x65\x72\x73\x69\x6f\x6e\x0d\x0a" | nc 192.168.1.92 -u 11211

Response HEX + ASCII:        

0000   08 00 27 d9 1b 7c 08 00 27 74 8e 80 08 00 45 00  ..'..|..'t....E.
0010   00 34 39 33 40 00 40 11 7d 23 c0 a8 01 5c c0 a8  .493@.@.}#...\..
0020   01 b6 2b cb c0 d6 00 20 aa 05 00 00 00 00 00 01  ..+.... ........
0030   00 00 56 45 52 53 49 4f 4e 20 31 2e 34 2e 32 34  ..VERSION 1.4.24
0040   0d 0a                                            ..
Flush_all:        echo -ne "\x00\x00\x00\x00\x00\x01\x00\x00\x66\x6c\x75\x73\x68\x5f\x61\x6c\x6c\x0d\x0a" | nc 192.168.1.92 -u 11211
Response HEX + ASCII:        

0000   08 00 27 d9 1b 7c 08 00 27 74 8e 80 08 00 45 00  ..'..|..'t....E.
0010   00 28 3b d7 40 00 40 11 7a 8b c0 a8 01 5c c0 a8  .(;.@[email protected]....\..
0020   01 b6 2b cb eb 81 00 14 07 c0 00 00 00 00 00 01  ..+.............
0030   00 00 4f 4b 0d 0a 00 00 00 00 00 00              ..OK........
stats:             echo -ne "\x00\x00\x00\x00\x00\x01\x00\x00\x73\x74\x61\x74\x73\x0d\x0a" | nc 192.168.1.92 -u 11211
Response HEX + ASCII:        

0000   08 00 27 d9 1b 7c 08 00 27 74 8e 80 08 00 45 00  ..'..|..'t....E.
0010   04 8e 40 43 40 00 40 11 71 b9 c0 a8 01 5c c0 a8  ..@C@[email protected]....\..
0020   01 b6 2b cb 8d da 04 7a c9 1a 00 00 00 00 00 01  ..+....z........
0030   00 00 53 54 41 54 20 70 69 64 20 32 37 38 30 0d  ..STAT pid 2780.
0040   0a 53 54 41 54 20 75 70 74 69 6d 65 20 37 30 31  .STAT uptime 701
0050   0d 0a 53 54 41 54 20 74 69 6d 65 20 31 35 32 31  ..STAT time 1521
0060   33 38 32 38 30 30 0d 0a 53 54 41 54 20 76 65 72  382800..STAT ver
0070   73 69 6f 6e 20 31 2e 34 2e 32 34 0d 0a 53 54 41  sion 1.4.24..STA
0080   54 20 6c 69 62 65 76 65 6e 74 20 32 2e 31 2e 38  T libevent 2.1.8
0090   2d 73 74 61 62 6c 65 0d 0a 53 54 41 54 20 70 6f  -stable..STAT po
00a0   69 6e 74 65 72 5f 73 69 7a 65 20 36 34 0d 0a 53  inter_size 64..S
00b0   54 41 54 20 72 75 73 61 67 65 5f 75 73 65 72 20  TAT rusage_user 
00c0   30 2e 30 34 34 30 30 30 0d 0a 53 54 41 54 20 72  0.044000..STAT r
00d0   75 73 61 67 65 5f 73 79 73 74 65 6d 20 30 2e 30  usage_system 0.0
00e0   30 30 30 30 30 0d 0a 53 54 41 54 20 63 75 72 72  00000..STAT curr
00f0   5f 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 39 0d 0a  _connections 9..
0100   53 54 41 54 20 74 6f 74 61 6c 5f 63 6f 6e 6e 65  STAT total_conne
0110   63 74 69 6f 6e 73 20 31 30 0d 0a 53 54 41 54 20  ctions 10..STAT 
0120   63 6f 6e 6e 65 63 74 69 6f 6e 5f 73 74 72 75 63  connection_struc
0130   74 75 72 65 73 20 31 30 0d 0a 53 54 41 54 20 72  tures 10..STAT r
0140   65 73 65 72 76 65 64 5f 66 64 73 20 32 30 0d 0a  eserved_fds 20..
0150   53 54 41 54 20 63 6d 64 5f 67 65 74 20 30 0d 0a  STAT cmd_get 0..
0160   53 54 41 54 20 63 6d 64 5f 73 65 74 20 30 0d 0a  STAT cmd_set 0..
0170   53 54 41 54 20 63 6d 64 5f 66 6c 75 73 68 20 32  STAT cmd_flush 2
0180   0d 0a 53 54 41 54 20 63 6d 64 5f 74 6f 75 63 68  ..STAT cmd_touch
0190   20 30 0d 0a 53 54 41 54 20 67 65 74 5f 68 69 74   0..STAT get_hit
01a0   73 20 30 0d 0a 53 54 41 54 20 67 65 74 5f 6d 69  s 0..STAT get_mi
01b0   73 73 65 73 20 30 0d 0a 53 54 41 54 20 64 65 6c  sses 0..STAT del
01c0   65 74 65 5f 6d 69 73 73 65 73 20 30 0d 0a 53 54  ete_misses 0..ST
01d0   41 54 20 64 65 6c 65 74 65 5f 68 69 74 73 20 30  AT delete_hits 0
01e0   0d 0a 53 54 41 54 20 69 6e 63 72 5f 6d 69 73 73  ..STAT incr_miss
01f0   65 73 20 30 0d 0a 53 54 41 54 20 69 6e 63 72 5f  es 0..STAT incr_
0200   68 69 74 73 20 30 0d 0a 53 54 41 54 20 64 65 63  hits 0..STAT dec
0210   72 5f 6d 69 73 73 65 73 20 30 0d 0a 53 54 41 54  r_misses 0..STAT
0220   20 64 65 63 72 5f 68 69 74 73 20 30 0d 0a 53 54   decr_hits 0..ST
0230   41 54 20 63 61 73 5f 6d 69 73 73 65 73 20 30 0d  AT cas_misses 0.
0240   0a 53 54 41 54 20 63 61 73 5f 68 69 74 73 20 30  .STAT cas_hits 0
0250   0d 0a 53 54 41 54 20 63 61 73 5f 62 61 64 76 61  ..STAT cas_badva
0260   6c 20 30 0d 0a 53 54 41 54 20 74 6f 75 63 68 5f  l 0..STAT touch_
0270   68 69 74 73 20 30 0d 0a 53 54 41 54 20 74 6f 75  hits 0..STAT tou
0280   63 68 5f 6d 69 73 73 65 73 20 30 0d 0a 53 54 41  ch_misses 0..STA
0290   54 20 61 75 74 68 5f 63 6d 64 73 20 30 0d 0a 53  T auth_cmds 0..S
02a0   54 41 54 20 61 75 74 68 5f 65 72 72 6f 72 73 20  TAT auth_errors 
02b0   30 0d 0a 53 54 41 54 20 62 79 74 65 73 5f 72 65  0..STAT bytes_re
02c0   61 64 20 32 33 34 0d 0a 53 54 41 54 20 62 79 74  ad 234..STAT byt
02d0   65 73 5f 77 72 69 74 74 65 6e 20 31 32 30 37 0d  es_written 1207.
02e0   0a 53 54 41 54 20 6c 69 6d 69 74 5f 6d 61 78 62  .STAT limit_maxb
02f0   79 74 65 73 20 36 37 31 30 38 38 36 34 0d 0a 53  ytes 67108864..S
0300   54 41 54 20 61 63 63 65 70 74 69 6e 67 5f 63 6f  TAT accepting_co
0310   6e 6e 73 20 31 0d 0a 53 54 41 54 20 6c 69 73 74  nns 1..STAT list
0320   65 6e 5f 64 69 73 61 62 6c 65 64 5f 6e 75 6d 20  en_disabled_num 
0330   30 0d 0a 53 54 41 54 20 74 68 72 65 61 64 73 20  0..STAT threads 
0340   34 0d 0a 53 54 41 54 20 63 6f 6e 6e 5f 79 69 65  4..STAT conn_yie
0350   6c 64 73 20 30 0d 0a 53 54 41 54 20 68 61 73 68  lds 0..STAT hash
0360   5f 70 6f 77 65 72 5f 6c 65 76 65 6c 20 31 36 0d  _power_level 16.
0370   0a 53 54 41 54 20 68 61 73 68 5f 62 79 74 65 73  .STAT hash_bytes
0380   20 35 32 34 32 38 38 0d 0a 53 54 41 54 20 68 61   524288..STAT ha
0390   73 68 5f 69 73 5f 65 78 70 61 6e 64 69 6e 67 20  sh_is_expanding 
03a0   30 0d 0a 53 54 41 54 20 6d 61 6c 6c 6f 63 5f 66  0..STAT malloc_f
03b0   61 69 6c 73 20 30 0d 0a 53 54 41 54 20 62 79 74  ails 0..STAT byt
03c0   65 73 20 30 0d 0a 53 54 41 54 20 63 75 72 72 5f  es 0..STAT curr_
03d0   69 74 65 6d 73 20 30 0d 0a 53 54 41 54 20 74 6f  items 0..STAT to
03e0   74 61 6c 5f 69 74 65 6d 73 20 30 0d 0a 53 54 41  tal_items 0..STA
03f0   54 20 65 78 70 69 72 65 64 5f 75 6e 66 65 74 63  T expired_unfetc
0400   68 65 64 20 30 0d 0a 53 54 41 54 20 65 76 69 63  hed 0..STAT evic
0410   74 65 64 5f 75 6e 66 65 74 63 68 65 64 20 30 0d  ted_unfetched 0.
0420   0a 53 54 41 54 20 65 76 69 63 74 69 6f 6e 73 20  .STAT evictions 
0430   30 0d 0a 53 54 41 54 20 72 65 63 6c 61 69 6d 65  0..STAT reclaime
0440   64 20 30 0d 0a 53 54 41 54 20 63 72 61 77 6c 65  d 0..STAT crawle
0450   72 5f 72 65 63 6c 61 69 6d 65 64 20 30 0d 0a 53  r_reclaimed 0..S
0460   54 41 54 20 63 72 61 77 6c 65 72 5f 69 74 65 6d  TAT crawler_item
0470   73 5f 63 68 65 63 6b 65 64 20 30 0d 0a 53 54 41  s_checked 0..STA
0480   54 20 6c 72 75 74 61 69 6c 5f 72 65 66 6c 6f 63  T lrutail_refloc
0490   6b 65 64 20 30 0d 0a 45 4e 44 0d 0a              ked 0..END..

如果您有兴趣,可以在下面下载三种消息类型的数据包捕获。接下来,我编写了一个小的python脚本来侦听端口11211上传入的所有UDP数据包。然后,该数据包确定该数据包是版本,flush_all还是stats数据包,并根据我从设置的测试内存缓存服务器收到的相同响应做出适当响应。
all.pcap:下载

from scapy.all import *
def replyFunction(packet):
    if 'version' in str(packet):
        send(IP(dst=packet[0][1].src) / UDP(sport=11211, dport=packet.sport) / '\x00\x00\x00\x00\x00\x01\x00\x00\x56\x45\x52\x53\x49\x4f\x4e\x20\x31\x2e\x34\x2e\x32\x34\x0d\x0a')
    if 'stats' in str(packet):
        send(IP(dst=packet[0][1].src) / UDP(sport=11211, dport=packet.sport) / statsPayload)
    if 'flush' in str(packet):
        send(IP(dst=packet[0][1].src) / UDP(sport=11211, dport=packet.sport) / '\x00\x00\x00\x00\x00\x01\x00\x00\x4f\x4b\x0d\x0a')

statsPayload = '\x00\x00\x00\x00\x00\x01\x00\x00\x53\x54\x41\x54\x20\x70\x69\x64\x20\x32\x37\x38\x30\x0d\x0a\x53\x54\x41\x54\x20 \
\x75\x70\x74\x69\x6d\x65\x20\x37\x30\x31\x0d\x0a\x53\x54\x41\x54\x20\x74\x69\x6d\x65\x20\x31\x35\x32\x31\x33\x38\x32 \
\x38\x30\x30\x0d\x0a\x53\x54\x41\x54\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x31\x2e\x34\x2e\x32\x34\x0d\x0a\x53\x54\x41 \
\x54\x20\x6c\x69\x62\x65\x76\x65\x6e\x74\x20\x32\x2e\x31\x2e\x38\x2d\x73\x74\x61\x62\x6c\x65\x0d\x0a\x53\x54\x41\x54 \
\x20\x70\x6f\x69\x6e\x74\x65\x72\x5f\x73\x69\x7a\x65\x20\x36\x34\x0d\x0a\x53\x54\x41\x54\x20\x72\x75\x73\x61\x67\x65 \
\x5f\x75\x73\x65\x72\x20\x30\x2e\x30\x34\x34\x30\x30\x30\x0d\x0a\x53\x54\x41\x54\x20\x72\x75\x73\x61\x67\x65\x5f\x73 \
\x79\x73\x74\x65\x6d\x20\x30\x2e\x30\x30\x30\x30\x30\x30\x0d\x0a\x53\x54\x41\x54\x20\x63\x75\x72\x72\x5f\x63\x6f\x6e \
\x6e\x65\x63\x74\x69\x6f\x6e\x73\x20\x39\x0d\x0a\x53\x54\x41\x54\x20\x74\x6f\x74\x61\x6c\x5f\x63\x6f\x6e\x6e\x65\x63 \
\x74\x69\x6f\x6e\x73\x20\x31\x30\x0d\x0a\x53\x54\x41\x54\x20\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x5f\x73\x74\x72 \
\x75\x63\x74\x75\x72\x65\x73\x20\x31\x30\x0d\x0a\x53\x54\x41\x54\x20\x72\x65\x73\x65\x72\x76\x65\x64\x5f\x66\x64\x73 \
\x20\x32\x30\x0d\x0a\x53\x54\x41\x54\x20\x63\x6d\x64\x5f\x67\x65\x74\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x63\x6d\x64 \
\x5f\x73\x65\x74\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x63\x6d\x64\x5f\x66\x6c\x75\x73\x68\x20\x32\x0d\x0a\x53\x54\x41 \
\x54\x20\x63\x6d\x64\x5f\x74\x6f\x75\x63\x68\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x67\x65\x74\x5f\x68\x69\x74\x73\x20 \
\x30\x0d\x0a\x53\x54\x41\x54\x20\x67\x65\x74\x5f\x6d\x69\x73\x73\x65\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x64\x65 \
\x6c\x65\x74\x65\x5f\x6d\x69\x73\x73\x65\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x64\x65\x6c\x65\x74\x65\x5f\x68\x69 \
\x74\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x69\x6e\x63\x72\x5f\x6d\x69\x73\x73\x65\x73\x20\x30\x0d\x0a\x53\x54\x41 \
\x54\x20\x69\x6e\x63\x72\x5f\x68\x69\x74\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x64\x65\x63\x72\x5f\x6d\x69\x73\x73 \
\x65\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x64\x65\x63\x72\x5f\x68\x69\x74\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20 \
\x63\x61\x73\x5f\x6d\x69\x73\x73\x65\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x63\x61\x73\x5f\x68\x69\x74\x73\x20\x30 \
\x0d\x0a\x53\x54\x41\x54\x20\x63\x61\x73\x5f\x62\x61\x64\x76\x61\x6c\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x74\x6f\x75 \
\x63\x68\x5f\x68\x69\x74\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x74\x6f\x75\x63\x68\x5f\x6d\x69\x73\x73\x65\x73\x20 \
\x30\x0d\x0a\x53\x54\x41\x54\x20\x61\x75\x74\x68\x5f\x63\x6d\x64\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x61\x75\x74 \
\x68\x5f\x65\x72\x72\x6f\x72\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x62\x79\x74\x65\x73\x5f\x72\x65\x61\x64\x20\x32 \
\x33\x34\x0d\x0a\x53\x54\x41\x54\x20\x62\x79\x74\x65\x73\x5f\x77\x72\x69\x74\x74\x65\x6e\x20\x31\x32\x30\x37\x0d\x0a \
\x53\x54\x41\x54\x20\x6c\x69\x6d\x69\x74\x5f\x6d\x61\x78\x62\x79\x74\x65\x73\x20\x36\x37\x31\x30\x38\x38\x36\x34\x0d \
\x0a\x53\x54\x41\x54\x20\x61\x63\x63\x65\x70\x74\x69\x6e\x67\x5f\x63\x6f\x6e\x6e\x73\x20\x31\x0d\x0a\x53\x54\x41\x54 \
\x20\x6c\x69\x73\x74\x65\x6e\x5f\x64\x69\x73\x61\x62\x6c\x65\x64\x5f\x6e\x75\x6d\x20\x30\x0d\x0a\x53\x54\x41\x54\x20 \
\x74\x68\x72\x65\x61\x64\x73\x20\x34\x0d\x0a\x53\x54\x41\x54\x20\x63\x6f\x6e\x6e\x5f\x79\x69\x65\x6c\x64\x73\x20\x30 \
\x0d\x0a\x53\x54\x41\x54\x20\x68\x61\x73\x68\x5f\x70\x6f\x77\x65\x72\x5f\x6c\x65\x76\x65\x6c\x20\x31\x36\x0d\x0a\x53 \
\x54\x41\x54\x20\x68\x61\x73\x68\x5f\x62\x79\x74\x65\x73\x20\x35\x32\x34\x32\x38\x38\x0d\x0a\x53\x54\x41\x54\x20\x68 \
\x61\x73\x68\x5f\x69\x73\x5f\x65\x78\x70\x61\x6e\x64\x69\x6e\x67\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x6d\x61\x6c\x6c \
\x6f\x63\x5f\x66\x61\x69\x6c\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x62\x79\x74\x65\x73\x20\x30\x0d\x0a\x53\x54\x41 \
\x54\x20\x63\x75\x72\x72\x5f\x69\x74\x65\x6d\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x74\x6f\x74\x61\x6c\x5f\x69\x74 \
\x65\x6d\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x65\x78\x70\x69\x72\x65\x64\x5f\x75\x6e\x66\x65\x74\x63\x68\x65\x64 \
\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x65\x76\x69\x63\x74\x65\x64\x5f\x75\x6e\x66\x65\x74\x63\x68\x65\x64\x20\x30\x0d \
\x0a\x53\x54\x41\x54\x20\x65\x76\x69\x63\x74\x69\x6f\x6e\x73\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x72\x65\x63\x6c\x61 \
\x69\x6d\x65\x64\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x63\x72\x61\x77\x6c\x65\x72\x5f\x72\x65\x63\x6c\x61\x69\x6d\x65 \
\x64\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x63\x72\x61\x77\x6c\x65\x72\x5f\x69\x74\x65\x6d\x73\x5f\x63\x68\x65\x63\x6b \
\x65\x64\x20\x30\x0d\x0a\x53\x54\x41\x54\x20\x6c\x72\x75\x74\x61\x69\x6c\x5f\x72\x65\x66\x6c\x6f\x63\x6b\x65\x64\x20 \
\x30\x0d\x0a\x45\x4e\x44\x0d\x0a'

while True:
    memCachePacket = sniff(filter='udp and port 11211', count=1, prn=replyFunction)

该脚本将与TCPDump一起在服务器上运行一段时间。现在,服务器像内存缓存服务器一样做出响应,希望它看到一些尝试将数据推入伪造服务器以尝试执行DDOS的尝试。

关注:Hunter网络安全 获取更多资讯
网站:bbs.kylzrv.com
CTF团队:Hunter网络安全
文章:Xtrato
排版:Hunter-匿名者

你可能感兴趣的:(技术,扫描测试工具,ddos,安全,经验分享,其他)