[Solucionado] Duda sobre propagación de gusanos 2014

Iniciado por HA6C, 11 Marzo 2014, 20:45 PM

0 Miembros y 3 Visitantes están viendo este tema.

HA6C

Buenas gente del foro.

Tengo una duda con respecto a la propagación de gusanos actualmente (con actualmente me refiero a propagación de gusanos en sistemas operativos como Windows 7, y Windows 8)

He leído varios artículos del foro y he estudiado un poco, me he interesado mucho en este tipo de malware, y he pensado seriamente en crear uno, pare antes de todo debo pensar en que métodos de propagación va a utilizar mi gusano los cuales realmente funcionen bien actualmente.

Mi idea principalmente fue una propagación USB por medio de un autorun, pero hasta donde tengo entendido este método solo funcionó hasta el Windows XP SP2. Y sinceramente no planeo hacer  un gusano muy molesto como aquel que oculta las carpetas y crea accesos directos.

Me gustaría que me ayudaran con esto y que me dieran ideas de algún ingenioso método de propagación USB, o tal vez que me colaboren dándome otros métodos de propagación que funcionen bien en estos sistemas operativos (no solo USB).

Gracias.  

skapunky

Yo hace tiempo hice un código para probar la propagación mediante USB y se puede hacer sin problemas en windows vista/win7 o WIN8... El tema es pensar un poco y saber programar.

Una idea es verificar si hay unidades extraíbles conectadas. En caso de detectar una verificar los archivos que contiene...aquí viene lo interesante:

Si se encuentra un ejecutable, lo que hice fue crear una copia del gusano sustituyendo ése ejecutable y introduciendo en la copia el mismo nombre. Evidentemente el icono o el tamaño no es el mismo, pero mucha mucha gente no se fijaría en ello.

Otra opción es crear a lo loco una copia del gusano con el nombre de un programa común o algo que pueda ser común, aunque esta solución es difícil de que alguien pueda ejecutarlo a lo loco.

La ultima opción que probé fue la de crear una copia con un icono de imagen y ponerle a la copia de nombre una parecida a los nombres de las cámaras de fotografía que ponen por defecto. Ésto es buena idea si el ordenador tiene las extensiones ocultas. De ésta forma un usuario puede ejecutar el gusano sin pensarlo dos veces.

Todo es pensar un poco ;).
Killtrojan Syslog v1.44: ENTRAR

metranick


Mad Antrax

#3
El mundo de los worms me apasiona; propagación e infección de ficheros. Hay muchos métodos, te describo alguno de ellos (no son complicado de implementar):

- Crear un recurso de red infectado (Honeypot)
- Sustituir el salvapantallas
- Propagación por redes P2P (lo más sencillo es infectar Ares+Emule)
- Infección de ficheros ZIP/RAR locales
- Propagación a través de recursos compartidos en red (Network Spread)
- Propagación por GoogleDrive + Dropbox
- Propagación por USB (Autorun, sustituir ficheros por accesos directos, etc...)
- Propagación por redes sociales (Facebook + Twitter)
- Propagación por IM (Yahoo + Skype)
- Infección de ficheros locales (Macros de Office, sustitución de VBS/VBE, infección de ejecutables, ...)

El troyano h-worm utiliza solo UNO de los sistemas mencionados arriba (Propagación USB por accesos directos) y consigue una alta tasa de infección. Imagínate si implementas una combinación de ellos :P

Para programar un worm, primero de todo tendrás que decidir el lenguaje de programación ha usar. Luego codearlo de forma minuciosa, asegurándote que todas sus funciones se ejecutarán en cualquier equipo (independientemente del SO, modelo, permisos de usuario o idioma del SO).

Una vez tienes programada la parte de la propagación, toca centrarse en la parte de la "persistencia", es decir; asegurarse que tu gusano se ejecutará siempre y durante muuuucho tiempo en los PC's infectados. Imagínate lo siguiente:

Infectas un equipo
El usuario lo detecta y realiza una limpieza minuciosa del sistema
El usuario cree estar libre del gusano
Pasado unos días, el equipo se vuelve a infectar debido a que una copia del gusano se almacenó como salvapantallas por defecto del equipo... tras unos minutos de inactividad se ejecutó la copia del gusano y ZASCA! sistema infectado de nuevo.

Otra forma de lograr la "persistencia" es programar ANSI Bombs, que permanezcan dormidas y encriptadas en el disco para luego ser ejecutadas en un evento específico o tras una fecha acordada.

Saludos
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

papus

ola, buenas, como hago para agregar una key al registro, para ser exactos en hklm, cada vez q utilizo diferentes tecnicas, utilizando el bat,  o en c/c++  agregandola, me dice acceso denegado, y si no, simplement eno lo agrega,

Ya se q no tengo privilegios, ese es el problema, hay alguna solucion?

y alguien sabe si e sposible, programar una dll, (para inyeccion)  que agrege una determinada key en el registo (hklm)  ? y cual seria el codigo? pk eh tratado de hacerlo de la siguiente manera, pero , el sistema se vuelca y reinicia..

#include "main.h"
#include <windows.h>

// a sample exported function
void DLL_EXPORT SomeFunction(const LPCSTR sometext)
{



LPSTR lpSubKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
HKEY hkResult = 0;

if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, 0, KEY_WRITE, &hkResult) == ERROR_SUCCESS)
{
HKEY hKey = 0;
LPSTR lpValueName = "ejemploc";
LPSTR lpData = "C:\\ejemplo.exe";

if(RegSetValueEx(hkResult, lpValueName, 0, REG_SZ, (LPBYTE)lpData, lstrlen(lpData)) != ERROR_SUCCESS) MessageBox(0, "Error", "Error", 0);

else MessageBox(0, "Añadido", "Añadido",0);

RegCloseKey(hKey);

        }

    else MessageBox(0, "Error", "Error",0);

MessageBoxA(0, sometext, "Carga Kernel mode DLL execution ", MB_OK | MB_ICONINFORMATION);

}

extern "C" DLL_EXPORT BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
            // attach to process
            // return FALSE to fail DLL load
            break;

        case DLL_PROCESS_DETACH:
            // detach from process
            break;

        case DLL_THREAD_ATTACH:
            // attach to thread
            break;

        case DLL_THREAD_DETACH:
            // detach from thread
            break;
    }
    return TRUE; // succesful
}

HA6C

Muchas gracias "skapunky" tu info me ha servido de mucho, la tendré muy en cuenta, y en especial gracias a "||MadAntrax||" realmente me has ayudado mucho, pero tengo tres dudas.

Yo actualmente se algo de programación Batch (si se puede llamar lenguaje de programación) y VB, pero estoy estudiando más para profundizar en VB y la idea también es aprender C++.

- Primera pregunta: ¿Cuál es el mejor lenguaje de programación para hacer lo que dices? ó ¿Cuál otro ademas debería aprender?

Cita de: ||MadAntrax|| en 11 Marzo 2014, 23:00 PM
- Crear un recurso de red infectado (Honeypot)
- Sustituir el salvapantallas
- Propagación por redes P2P (lo más sencillo es infectar Ares+Emule)
- Infección de ficheros ZIP/RAR locales
- Propagación a través de recursos compartidos en red (Network Spread)
- Propagación por GoogleDrive + Dropbox
- Propagación por USB (Autorun, sustituir ficheros por accesos directos, etc...)
- Propagación por redes sociales (Facebook + Twitter)
- Propagación por IM (Yahoo + Skype)
- Infección de ficheros locales (Macros de Office, sustitución de VBS/VBE, infección de ejecutables, ...)


También me interesa mucho esto (se que no es fácil, pero estamos para aprender)

Cita de: ||MadAntrax|| en 11 Marzo 2014, 23:00 PM
Luego codearlo de forma minuciosa, asegurándote que todas sus funciones se ejecutarán en cualquier equipo (independientemente del SO, modelo, permisos de usuario o idioma del SO).

- Segunda pregunta: ¿En qué lenguaje en especial puedo yo hacer esto posible? que sus funciones se ejecuten en cualquier tipo de SO, ó ¿Qué en especial debería aprender para hacer esto posible?



Planeo que mi gusano se encuentre unido a otro archivo (usaré un Joiner) pero según lo que planeo, ninguno de los dos archivos pueden estar separados del otro para el correcto funcionamiento del gusano.

- Tercera pregunta: ¿Igual podría hacer esto sin importar que mi ejecutable final del gusano esta unido a otro por un Joiner?

Cita de: ||MadAntrax|| en 11 Marzo 2014, 23:00 PM
Pasado unos días, el equipo se vuelve a infectar debido a que una copia del gusano se almacenó como salvapantallas por defecto del equipo... tras unos minutos de inactividad se ejecutó la copia del gusano y ZASCA! sistema infectado de nuevo.


Gracias.

Mad Antrax

Citar- Primera pregunta: ¿Cuál es el mejor lenguaje de programación para hacer lo que dices? ó ¿Cuál otro ademas debería aprender?

En teoría, cualquier lenguaje sería apto. Mi recomendación es que utilices un lenguaje que domines y que no tenga muchas dependencias... por ejemplo:

Phyton: Podría ser una  opción viable, pero no todos los equipos tienen las librerías para interpretar Phyton.
C: Mejor opción, siempre y cuando el binario no tenga dependencias a librerías externas que no sean estándar.

Citar- Segunda pregunta: ¿En qué lenguaje en especial puedo yo hacer esto posible? que sus funciones se ejecuten en cualquier tipo de SO, ó ¿Qué en especial debería aprender para hacer esto posible?

Si buscas hacer un worm multi-plataforma, deberás usar un lenguaje multi-plataforma, por ejemplo JAVA. De todas formas, para empezar me centraría en programar sobre una misma plataforma (por ejemplo Windows). Luego tendrás que tener "cuidado" a la hora de programar para conseguir que tu código se ejecute desde Windows XP hasta Windows 8 x64, para ello tendrás que testear tu código en distintas computadoras. Lo mejor es usar maquinas virtuales.

Citar- Tercera pregunta: ¿Igual podría hacer esto sin importar que mi ejecutable final del gusano esta unido a otro por un Joiner?

No entiendo ésta pregunta xD
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Gh057

hola HA6C, entiendo tu tercera pregunta como si afecta el "método" que utilices para acoplar el virus al ejecutable; en realidad no, pero cada s.o. tiene diferentes formas de manejarlos, por lo cual el punto es como está codeado en sí el gusano.
por cierto aprovecho para felicitar tanto a ||MadAntrax|| como a skapunky por la calidad de sus comentarios, es realmente un tema apasionante (bueno para mí como todo lo referido a la informática jeje!). un cordial saludo 
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

HA6C

Muchas gracia Gh057, y ||MadAntrax|| especialmente, me has ayudado mucho, ya se me han ocurrido un par de ideas para mi gusano, pero por ahora estaré  estudiando un poco más (planeo programarlo en C++ y tengo q estudiarlo).

Posiblemente este preguntado y mostrando algo de mi código en el foro para que me puedan ayudar con este proyecto.

Gracias.

softer2

Cita de: Mad Antrax en 11 Marzo 2014, 23:00 PM
El mundo de los worms me apasiona; propagación e infección de ficheros. Hay muchos métodos, te describo alguno de ellos (no son complicado de implementar):

- Crear un recurso de red infectado (Honeypot)
- Sustituir el salvapantallas
- Propagación por redes P2P (lo más sencillo es infectar Ares+Emule)
- Infección de ficheros ZIP/RAR locales
- Propagación a través de recursos compartidos en red (Network Spread)
- Propagación por GoogleDrive + Dropbox
- Propagación por USB (Autorun, sustituir ficheros por accesos directos, etc...)
- Propagación por redes sociales (Facebook + Twitter)
- Propagación por IM (Yahoo + Skype)
- Infección de ficheros locales (Macros de Office, sustitución de VBS/VBE, infección de ejecutables, ...)

El troyano h-worm utiliza solo UNO de los sistemas mencionados arriba (Propagación USB por accesos directos) y consigue una alta tasa de infección. Imagínate si implementas una combinación de ellos :P

Para programar un worm, primero de todo tendrás que decidir el lenguaje de programación ha usar. Luego codearlo de forma minuciosa, asegurándote que todas sus funciones se ejecutarán en cualquier equipo (independientemente del SO, modelo, permisos de usuario o idioma del SO).

Una vez tienes programada la parte de la propagación, toca centrarse en la parte de la "persistencia", es decir; asegurarse que tu gusano se ejecutará siempre y durante muuuucho tiempo en los PC's infectados. Imagínate lo siguiente:

Infectas un equipo
El usuario lo detecta y realiza una limpieza minuciosa del sistema
El usuario cree estar libre del gusano
Pasado unos días, el equipo se vuelve a infectar debido a que una copia del gusano se almacenó como salvapantallas por defecto del equipo... tras unos minutos de inactividad se ejecutó la copia del gusano y ZASCA! sistema infectado de nuevo.

Otra forma de lograr la "persistencia" es programar ANSI Bombs, que permanezcan dormidas y encriptadas en el disco para luego ser ejecutadas en un evento específico o tras una fecha acordada.

Saludos


ME cabe una duda con eso dl spread USB

el USB debe estar conectado antes d ejecutar el worm ( en este caso el h-worm o el cactus ) , puede ser que ya haya ejecutado el worm y no haya puesto ningun USB hasta despuies de varias horas ? , o el gusano esta pendiente de q detecta otra unidad para poner los accesos directos ?