Buscar Contraseña de Conexion a DB

Iniciado por DannyCyl, 24 Agosto 2015, 06:30 AM

0 Miembros y 1 Visitante están viendo este tema.

DannyCyl

Hola a todos!
Espero pueda ayudarme realmente ya no se que hacer ya e intentado lo poco que se. El caso es que tengo un programa en VB .net con una conexion a una base de datos Access, pero esta conexion esta hecho por un modulo el cual crea un archivo Config.ini el cual cifra la contraseña de la base de datos.
Lo que yo necesito es ver la contraseña de la base de datos ya que no la tengo y pues la conexion no la hice yo quisiera me pudieran ayudar para saber la contraseña o saber donde se aloja dicha contraseña a continuacion les paso el codigo del modulo:

Donde aparece subryado deberia de estar la contraseña y en su lugar esta la llamada al modulo hecho antes y este modulo lo que contiene es la declaracion de variables y la Public MASCARA

Un colaborador de un foro me recomendo hacer un proyecto y colocar ahi el Modulo y la classEncriptar y luego ejecutarlo paso a paso pero simplemente no se por donde ver el codio ya lo e intentado  por favor ayuda.


Código (vbnet) [Seleccionar]
Friend Module ModInicio
Public MascaraDefault As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"

Public strDNS As String

Public strusr As String

Public strpwd As String

Public strconn As String

Public m_mascara As String

Public Usuario As String

Public Rol As Integer

Public DescRol As String

Public FechaFin As String

Private Function fAsignaMascara() As String
Dim result As String
If Strings.Len(ModInicio.m_mascara) <= 0 Then
result = ModInicio.MascaraDefault
Else
result = ModInicio.m_mascara
End If
Return result
End Function

Public Function cifrar(valor As String) As String
Dim result As String
Try
Dim str As String = ModInicio.fAsignaMascara()
Dim text As String = Conversions.ToString(Conversion.Int(9F * VBMath.Rnd() + 1F))
Dim arg_2C_0 As Integer = 1
Dim num As Integer = Strings.Len(valor)
' The following expression was wrapped in a checked-statement
For i As Integer = arg_2C_0 To num
Dim text2 As String = Conversion.Hex(Strings.Asc(Strings.Mid(valor, i, 1)) + Strings.Asc(Strings.Mid(str, i, 1)))
Select Case Strings.Len(text2)
Case 1
text = text + "00" + text2
Case 2
text = text + "0" + text2
Case 3
text += text2
End Select
Next
result = text
Catch expr_A1 As System.Exception
ProjectData.SetProjectError(expr_A1)
Dim ex As System.Exception = expr_A1
Interaction.MsgBox("Error en funcion cifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
result = Nothing
ProjectData.ClearProjectError()
End Try
Return result
End Function

Public Function descifrar(valor As String) As String
' The following expression was wrapped in a checked-statement
Dim result As String
Try
Dim str As String = ModInicio.fAsignaMascara()
Dim text As String = ""
Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
Dim arg_2B_0 As Integer = 1
Dim num As Integer = Strings.Len(valor) - 1
For i As Integer = arg_2B_0 To num Step 3
text += Conversions.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(Conversions.ToDecimal("&H" + Strings.Mid(str2, i, 3)), New Decimal(Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1)))))))
Next
result = text
Catch expr_89 As System.Exception
ProjectData.SetProjectError(expr_89)
Dim ex As System.Exception = expr_89
Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
result = Nothing
ProjectData.ClearProjectError()
End Try
Return result
End Function

Public Function App_Path() As String
Return System.Environment.CurrentDirectory
End Function

Public Sub Conexion()
Try
Dim classEncriptar As ClassEncriptar = New ClassEncriptar()
AddressOf classEncriptar.Archivo = ModInicio.App_Path() + "\config.ini"
ModInicio.strDNS = classEncriptar.LeeIni("DBMS", "DSN")
ModInicio.strusr = ModInicio.descifrar(classEncriptar.LeeIni("DBMS", "USER"))
ModInicio.strpwd = ModInicio.descifrar(classEncriptar.LeeIni("DBMS", "PASS"))
ModInicio.strconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\DB_Coleccion.accdb;Persist Security Info=False;Jet OLEDB:Database Password="+ ModInicio.strpwd + ";"
Catch expr_7F As System.Exception
ProjectData.SetProjectError(expr_7F)
Dim ex As System.Exception = expr_7F
Interaction.MsgBox("Error en funcion Conexion - Modulo Inicio " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
ProjectData.ClearProjectError()
End Try
End Sub
End Module



Mod: Los códigos deben ir en etiquetas GeSHi, movido cada tema tiene su subforo

MCKSys Argentina

#1
Hola!

Por lo que veo, la pass está en el file Config.ini. Al parecer, está en fomrato INI, osea que debería ser algo como:


[DBMS]
PASS=EstaEsLaPassword


Donde EstaEsLaPassword sería la pass cifrada, la cual descifras con la función descifrar (cosa muy sencilla pues tienes todo el fuente).

Además, si la base es un MDB (Access), puedes sacar la pass fácilmente con tooles de recuperación de pass, como, por ej., Passware Kit Enterprise o Forensics (búscalos con Google).

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


DannyCyl

Hola.
antes que nada gracias por tomarte el tiempo de responder.
te cuento, ya  he buscado otras pero en formato .mdb pero esta esta en formato .accdb el cual  he intentado con varios programas para buscar el pass pero no he tenido buenos resultados, intentare con los que me dices.

La pas si esta en un archivo Config.ini, pero no se como hacer esa funcion para desencriptarla, pues apenas me estoy iniciando en este lenguaje

[DBMS]

USER= "50BA0D30DD0D20D3"
PASS= "70BD09F0BE0AD0980C40A30C30A60920A60990A50AA"
esto contiene el archivo .ini

Saludos

MCKSys Argentina

Hola!

Prueba con esta pass:


D0ND3V0TA$2015


Usé este código para sacarla (1 Form con 1 botón):

Código (vbnet) [Seleccionar]

Public Class Form1

    Public Function descifrar(valor As String) As String
        Dim result As String
        Try
            Dim str As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
            Dim text As String = ""
            Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
            Dim arg_2B_0 As Integer = 1
            Dim num As Integer = Strings.Len(valor) - 1
            Dim a As Decimal = 0
            Dim b As Decimal = 0

            For i As Integer = arg_2B_0 To num Step 3
                Dim s As String = Strings.Mid(str2, i, 3)
                a = System.Convert.ToInt32(s, 16)
                b = Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1))
                text += System.Convert.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(a, b))))
            Next
            result = text
        Catch expr_89 As System.Exception
            Dim ex As System.Exception = expr_89
            Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
            result = Nothing
        End Try
        Return result
    End Function

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Debug.Print(descifrar("70BD09F0BE0AD0980C40A30C30A60920A60990A50AA"))
    End Sub
End Class


Saludos!

PD: El valor sale en la ventana de Output.
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


DannyCyl

Gracias
Enserio te debo la vida

muchas gracias si funciono!!!!!


gracias me haz ayudado como no tienes idea mil gracias

BARTBOSS

Hola, buenas tardes.  soy nuevo en esto de programar. ya intente de todas las formas  y no puedo obtener el pass.

USER= "50BA0D30DD0D20D3"
PASS= "70BD0BE0BE0AD0980C40C20C30A60920A60990A50AD"




Cita de: MCKSys Argentina en 24 Agosto 2015, 07:57 AM
Hola!

Prueba con esta pass:


D0ND3V0TA$2015


Usé este código para sacarla (1 Form con 1 botón):

Código (vbnet) [Seleccionar]

Public Class Form1

    Public Function descifrar(valor As String) As String
        Dim result As String
        Try
            Dim str As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
            Dim text As String = ""
            Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
            Dim arg_2B_0 As Integer = 1
            Dim num As Integer = Strings.Len(valor) - 1
            Dim a As Decimal = 0
            Dim b As Decimal = 0

            For i As Integer = arg_2B_0 To num Step 3
                Dim s As String = Strings.Mid(str2, i, 3)
                a = System.Convert.ToInt32(s, 16)
                b = Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1))
                text += System.Convert.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(a, b))))
            Next
            result = text
        Catch expr_89 As System.Exception
            Dim ex As System.Exception = expr_89
            Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
            result = Nothing
        End Try
        Return result
    End Function

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Debug.Print(descifrar("70BD09F0BE0AD0980C40A30C30A60920A60990A50AA"))
    End Sub
End Class


Saludos!

PD: El valor sale en la ventana de Output.

MCKSys Argentina

#6
Hola!

El código que puse te resuelve el problema, sólo debes cambiar el valor que dió el otro usuario por el tuyo y ejecutarlo en Visual Studio.

Si no dispones de Visual Studio, puedes ejecutar el código aquí, pero quedaría de otra forma:

Código (vbnet) [Seleccionar]

Module VBModule
    Public Function descifrar(valor As String) As String
        Dim result As String
        Try
            Dim str As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
            Dim text As String = ""
            Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
            Dim arg_2B_0 As Integer = 1
            Dim num As Integer = Strings.Len(valor) - 1
            Dim a As Decimal = 0
            Dim b As Decimal = 0

            For i As Integer = arg_2B_0 To num Step 3
                Dim s As String = Strings.Mid(str2, i, 3)
                a = System.Convert.ToInt32(s, 16)
                b = Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1))
                text += System.Convert.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(a, b))))
            Next
            result = text
        Catch expr_89 As System.Exception
            Dim ex As System.Exception = expr_89
            Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
            result = Nothing
        End Try
        Return result
    End Function

    Sub Main()
        Console.WriteLine(descifrar("70BD0BE0BE0AD0980C40C20C30A60920A60990A50AD"))
    End Sub
 
End Module


Saludos!

PD: De la pass, sólo ha cambiado 1 caracter.  ;)

EDIT: Te he respondido, pero no deberías responder en temas tan viejos. Lee las reglas del foro antes de seguir posteando (link en mi firma)
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


BARTBOSS

Muchas gracia.  Por supuesto leeré las  reglas. y me esta facinando esto de la programación. me pasare más seguido por este foro. Muchas Gracias.. saludos.


Cita de: MCKSys Argentina en 12 Febrero 2019, 00:19 AM
Hola!

El código que puse te resuelve el problema, sólo debes cambiar el valor que dió el otro usuario por el tuyo y ejecutarlo en Visual Studio.

Si no dispones de Visual Studio, puedes ejecutar el código aquí, pero quedaría de otra forma:

Código (vbnet) [Seleccionar]

Module VBModule
    Public Function descifrar(valor As String) As String
        Dim result As String
        Try
            Dim str As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
            Dim text As String = ""
            Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
            Dim arg_2B_0 As Integer = 1
            Dim num As Integer = Strings.Len(valor) - 1
            Dim a As Decimal = 0
            Dim b As Decimal = 0

            For i As Integer = arg_2B_0 To num Step 3
                Dim s As String = Strings.Mid(str2, i, 3)
                a = System.Convert.ToInt32(s, 16)
                b = Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1))
                text += System.Convert.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(a, b))))
            Next
            result = text
        Catch expr_89 As System.Exception
            Dim ex As System.Exception = expr_89
            Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
            result = Nothing
        End Try
        Return result
    End Function

    Sub Main()
        Console.WriteLine(descifrar("70BD0BE0BE0AD0980C40C20C30A60920A60990A50AD"))
    End Sub
 
End Module


Saludos!

PD: De la pass, sólo ha cambiado 1 caracter.  ;)

EDIT: Te he respondido, pero no deberías responder en temas tan viejos. Lee las reglas del foro antes de seguir posteando (link en mi firma)