Jump to content
Elohim

[RST] Wordpress Login Path Discloser v1.0

Recommended Posts

Preia o lista de host-uri (domenii sau ip-uri ) din hosts.txt si verifica o serie de path-uri comune pentru gasirea path-ului de login. ( wp-login.php ). Bun de folosit impreuna cu un brute force tool pentru wordpress.


import threading,Queue,urllib2,sys

da = open('wpuri.txt','a')
nu = open('bad.txt','w')
paths = ['','/blog','/wp','/wordpress','/journal']

class Discloser(threading.Thread):

def __init__(self, queue):
threading.Thread.__init__(self)
self.queue = queue

def run(self):
while True:
host = self.queue.get()
self.checker(host)
self.queue.task_done()

def checker(self,Host):
try:
for p in paths:
f = urllib2.urlopen(Host+p+'/wp-login.php', timeout=15)
if 'wp-admin-css' in f.read():
print Host+p
da.write(Host+p+'\n')
da.flush()
return True
nu.write(Host+'\n')
nu.flush()
return False
except Exception, e:
#print e
nu.write(Host+'\n')
nu.flush()
return False

def main(urls,numthreads):

queue = Queue.Queue(maxsize=6000)
for i in range(numthreads):
try:
t = Discloser(queue)
t.daemon = True
t.start()
except Exception, e:
print 'Cant Start',numthreads,'Thread. I started',i,'Threads'
break
for url in urls:
host = url.rstrip() if url.startswith('http://') else 'http://'+url.rstrip()
queue.put(host.rstrip())

queue.join()

if __name__ == "__main__":
#-----------------------------------------
print '[+]Wordpress Login Path Discloser v1.0'
print '[+]Author: Elohim'
fispas = open("hosts.txt",'rU')
urls = fispas.readlines()
numthreads = int(sys.argv[1])
#-----------------------------------------

main(urls,numthreads)

Usage:

python checker.py 40
40 = Numarul thread-urilor.

Ce este bun, salveaza in wpuri.txt, ce nu este bun, salveaza in bad.txt daca se doresc verificari ulterioare.

Path-uri folosite:

paths = ['','/blog','/wp','/wordpress','/journal']

Daca mai aveti alte idei, postati aici si le adaug.

Spor la folosit.

  • Upvote 1
Link to comment
Share on other sites

@GarryOne, imagineaza-ti ca ai 300 000 de url-uri. Vrei sa pornesti un wordpress bruteforce pe ele. Ce faci, bagi toate domeniile ?Chiar si pe cele care nu folosesc wordpress ? Rata de WP : NonWP este de ~ 20:100 , ete inutil sa le folosesti raw.

Acelasi lucru valabil si pe ip-uri.

Link to comment
Share on other sites

Lasand deoparte titlul acestui script, sa va prezint repede un calcul, pentru cei care au spus ca este inutil

Da, este inutil pentru marea majoritate care nu au nicio folosinta pentru el. Insa sunt si care se folosesc de asa ceva, destul de multi.

Bun, cum ziceam, exemplu de calcul.

Avem o lista de domenii .net , 300 000 la numar. Mixte, extrate din Zone File-ul de la .net . Am luat 300 000 ca sa nu ie ia luni intregi sa verificam tot .net care are undeva la ~15.5 mil

Brute force cu un singur user : admin si o singura parola : admin

Modelul 1 : 300 000 domenii mixte ( wordpress si non wordpress ) processing time : ~ 3 ore cu 50 de thread-uri ( nu am vrut sa fortez serverul )

Deci avem cam aproximativ 3 ore pentru un singur user/pass tuple.

Modelul 2: ~4 ore timp de procesare cu scriptul postat mai sus, am salvat numai domeniile care ruleaza wordpress.

Din 300 000, au ramas cam ~38 000 care sunt defapt ce ma intereseaza pe mine, respectiv blog-uri care ruleaza wordpress.

Processing time pentru fiecare user/pass combo pe 38 000 URL ~ 20 minute .

Bun, acum unora o sa le vina urmatoarea problema in cap. " Pai ce ai rezolvat, tot ai stat 3 ore ca sa treci cu checker-ul prin ele "

Da, am stat 3 ore ca sa scot ce ma interesa, dar de acum inainte, fiecare user/pass combo imi va lua ~20 minute, sau de 3 ori mai putin daca maresc numarul de thread-uri.

Nu o sa mai stau 3 ore pentru fiecare user/pass combo.

Scriptul de mai sus este un mic exemplu pentru a demonstra ca se poate salva mult timp cu un mic set de unelte ajutatoare.

Ca sa explic un pic si tag-ul [RST], acesta nu este pus acolo de un drag vizual sau pentru vreo anumita lauda. Este pus acolo pentru a se diferentia faptul ca nu este vreun script aiurea luat cu copy/paste de pe un forum de chinezi, ci este un script scris de un membru de pe acest forum, si pentru ca nu mi-am permis sa il adaug la RST power, deoarece nu este ceva fenomenal. Este doar work made easy.

Link to comment
Share on other sites

Un test foarte mic pentru a demonstra ca functioneaza


E:\Projects\Wordpess Bruter and Checker\WP Checker>python wpc.py 30
[+]Wordpress Login Path Discloser v1.0
[+]Author: Elohim
http://213.88.195.151
http://213.144.23.168
http://213.129.248.122
http://213.175.196.96
http://213.175.221.79
http://213.218.178.181
http://213.133.124.254
http://213.175.220.156
http://213.238.32.19
http://213.125.143.186
http://213.159.22.89
http://213.99.28.205
http://213.229.68.25
http://213.206.68.85
http://213.138.109.138
http://213.128.249.106
http://213.189.2.108
http://213.183.62.103
http://213.140.96.155
http://213.215.218.51
http://213.239.205.177

Deci, fiecare url de mai sus care l-a afisat, inseamna ca exista http://ip/wp-login.php in care se regaseste textul "wp-admin-css" .

De exemplu,

Daca nu exista, nu afiseaza nimic.

Explicati mai bine ce exact vreti sa faceti, ce nu va iese.

Daca vreti sa vedeti tot ce se intampla, schimbati linia asta

#print e

cu

print e

si o sa afiseze si posibile erori, inclusiv cele de 404 Not found.

Link to comment
Share on other sites

@spide112, Decomenteaza si da-mi paste la niste erori, altfel nu pot sa imi dau seama ce este in neregula.

ce numar de thread-uri folositi ?

Eroare nu da de nici un fel, pur si simplu porneste si nu da nici un rezultat, in lista de hosts.txt e o clasa intreaga, deci e imposibil sa nu fie nici un wordpress in 193 :) Am incercat si cu hosturile direct, acelasi lucru, am modificat si print e-ul, la fel, aceiasi eroare, pur si simplu nu vrea sa pedaleze.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...