Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Crea tu propio HashCracker en VBNet en solo 3 Pasos

  • 0 Respuestas
  • 129 Vistas

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado 79137913

« en: Septiembre 09, 2019, 10:07:09 am »
HOLA!!!

Imaginemos que utilizando el AdminFinder que programamos hace un tiempo encontramos una web y nos hicimos con su base de datos, ¡Pero todas sus contraseñas estan en MD5 o SHA1! ¿Que podemos hacer? Para esto utilizaremos la tool que crearemos en esta edicion y ademas el Creador de diccionarios para Fuerza Bruta que hicimos con anterioridad.

Hoy veremos como crear un HashCracker con VB.NET!

1)Primero crearemos el proyecto


2)Luego en el Form1 Realizar la siguente interfaz (respetando los nombres de los controles)[ademas agregaremos un OpenFileDialog llamado OpenFileDialog1 y dos BackgroundWorkers llamados bwSHA1 y bwMD5]:


2.b)Establecemos las propiedades text de los componentes para que queden de la siguiente manera:


3)Pegamos el siguiente codigo:
Código: vb.net
  1. Imports System.ComponentModel
  2. Imports System.IO
  3. Imports System.Security.Cryptography
  4. Imports System.Text
  5.  
  6. Public Class Form1
  7.  
  8.  
  9.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  10.         'Deshabilitamos el TextBox txtPathDiccionario para que no puedan escribir a mano en el.
  11.         txtPathDiccionario.Enabled = False
  12.         'Aplicamos filtro en el Dialogo de Seleccion de Archivo para que solo muestre archivos de texto
  13.         OpenFileDialog1.Filter = "Archivos de Texto|*.txt;*.text"
  14.     End Sub
  15.  
  16.     Private Sub btnDict_Click(sender As Object, e As EventArgs) Handles btnDict.Click
  17.         ' Mostramos el Dialogo de Seleccion de Archivo
  18.         Dim result As DialogResult = OpenFileDialog1.ShowDialog()
  19.         'Verificamos que el archivo haya sido seleccionado, si no fue asi, salimos
  20.         If result <> DialogResult.OK Then Exit Sub
  21.         'Escribimos la ubicacion del archivo en el TextBox
  22.         txtPathDiccionario.Text = OpenFileDialog1.FileName
  23.         'Indicamos que nuestros BW reportan progreso
  24.         bw.WorkerReportsProgress = True
  25.     End Sub
  26.  
  27.     Private Sub btnInit_Click(sender As Object, e As EventArgs) Handles btnInit.Click
  28.         'Deshabilitamos los controles para que no se cambie su contenido durante la ejecucion
  29.         txtHash.Enabled = False
  30.         radSHA1.Enabled = False
  31.         radMD5.Enabled = False
  32.         btnInit.Enabled = False
  33.         btnDict.Enabled = False
  34.         'Iniciamos BW
  35.         bw.RunWorkerAsync()
  36.     End Sub
  37.  
  38.     Private Sub bw_DoWork(sender As Object, e As DoWorkEventArgs) Handles bw.DoWork
  39.         'Verificamos la cantidad de lineas para mantener un conteo del progreso
  40.         Dim CantidadLineas = File.ReadAllLines(txtPathDiccionario.Text).Length
  41.         Dim LineaActual As Long = 0
  42.         'Creamos una lector para el archivo de diccionario
  43.         Dim reader As StreamReader = My.Computer.FileSystem.OpenTextFileReader(txtPathDiccionario.Text)
  44.         Dim ClaveActual As String = ""
  45.         Dim HashActual As String = ""
  46.         'Hacemos un bucle linea por linea verificando si coincide el hash con alguna del las claves en el diccionario
  47.         Do
  48.             ClaveActual = reader.ReadLine
  49.             If ClaveActual Is Nothing Then Exit Sub 'Si llegamos al final del archivo salimos.
  50.             'Ejecutamos la creacion del hash correspondiente
  51.             If radMD5.Checked = True Then HashActual = generarMD5(ClaveActual)
  52.             If radSHA1.Checked = True Then HashActual = generarSHA1(ClaveActual)
  53.             'Verificamos si coincide
  54.             If txtHash.Text = HashActual Then
  55.                 'Si el hash corresponde con el generado notificamos al usuario
  56.                 MsgBox("Clave encontrada: """ & ClaveActual & """ (sin comillas).")
  57.                 'Terminamos el Loop
  58.                 Exit Do
  59.             End If
  60.             'Actualizacion de progreso
  61.             LineaActual = LineaActual + 1
  62.             If LineaActual > CantidadLineas / 100 Then
  63.                 bw.ReportProgress(LineaActual / CantidadLineas * 100)
  64.                 LineaActual = 0
  65.             End If
  66.         Loop
  67.         reader.Close()
  68.     End Sub
  69.  
  70.     Private Sub bw_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles bw.ProgressChanged
  71.         'Actualizamos el porcentaje del Progressbar
  72.         ProgressBar1.Value += e.ProgressPercentage
  73.     End Sub
  74.  
  75.     Private Sub bw_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles bw.RunWorkerCompleted
  76.         'Rehabilitamos los controles.
  77.         txtHash.Enabled = True
  78.         radSHA1.Enabled = True
  79.         radMD5.Enabled = True
  80.         btnInit.Enabled = True
  81.         btnDict.Enabled = True
  82.         ProgressBar1.Value = 0
  83.         MsgBox("Proceso completado")
  84.     End Sub
  85.  
  86.     Function generarMD5(ByVal str As String) As String
  87.         'Funcion de generacion de hash MD5
  88.         Dim Bytes() As Byte
  89.         Dim sb As New StringBuilder()
  90.         If String.IsNullOrEmpty(str) Then Return ""
  91.         Bytes = Encoding.Default.GetBytes(str)
  92.         Bytes = MD5.Create().ComputeHash(Bytes)
  93.         For x As Integer = 0 To Bytes.Length - 1
  94.             sb.Append(Bytes(x).ToString("x2"))
  95.         Next
  96.         Return sb.ToString()
  97.     End Function
  98.  
  99.     Function generarSHA1(ByVal str As String) As String
  100.         'Funcion de generacion de hash SHA1
  101.         Dim sha1Obj As New Security.Cryptography.SHA1CryptoServiceProvider
  102.         Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(str)
  103.         bytesToHash = sha1Obj.ComputeHash(bytesToHash)
  104.         Dim strResult As String = ""
  105.         For Each b As Byte In bytesToHash
  106.             strResult += b.ToString("x2")
  107.         Next
  108.         Return strResult
  109.     End Function
  110. End Class

Para utilizar solo elijan el archivo de diccionario, pongan el hash a crackear y presionen iniciar.

Ahora es tu turno, podes agregarle nuevos tipos de hash o inclusive convertirlo en una herramienta de criptografia completa.

Para los curiosos y como un proyecto de fin de semana los invito a modificar este programa para que pueda hacer busqueda de varios hashes al mismo tiempo.

Descargar: http://www.mediafire.com/file/uztm3corwv4hqk2/HashCracker.rar/file

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                   DOORS.PARTY

 

¿Te gustó el post? COMPARTILO!



API VBNET Source OrwayScanner para tus proyectos.

Iniciado por Slore

Respuestas: 0
Vistas: 2230
Último mensaje Febrero 03, 2015, 03:19:16 pm
por Slore
Crea tu propio AdminFinder con VB.NET en solo 3 pasos!

Iniciado por 79137913

Respuestas: 4
Vistas: 4710
Último mensaje Junio 02, 2017, 08:28:09 am
por 79137913
Crea tu propio Creador de Diccionarios por Fuerza Bruta en VBNet en solo 3 Pasos

Iniciado por 79137913

Respuestas: 2
Vistas: 4434
Último mensaje Septiembre 03, 2019, 10:57:38 am
por 79137913