comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Como programar un troyano?

  • 1 Respuestas
  • 1506 Vistas

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

Desconectado FMtH

  • *
  • Underc0der
  • Mensajes: 22
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Noviembre 16, 2016, 02:13:57 am »
A la hora de programar un RAT como un troyano o una botnet (para windows), es impresindible usar el API de Windows? Es decir..
Si el WinAPI no existiera, no habria otra forma de acceder a los recursos del SO directamente?

Tambien creo haber escuchado que, actualmente al tirar mucho del WinAPI o al usar winsock, puede que nuestro malware sea mas detectado? Corrijanme porfavor.

Otra duda que tengo es, se puede crear el GUI de nuestro programa en el entorno de Visual Studio .NET(en C++) y usar las funciones de WinAPI para las demas cosas? como por ej. agregar al registro, crear threads, manipular procesos etc..
O si voy a usar WinAPI para lo dicho, tambien debo usarlo para crear mi GUI?

Y por ultimo y no molesto mas, que opinan de delphi para la programacion de RATs en la actualidad?


Gracias desde ya, saludos.
« Última modificación: Noviembre 16, 2016, 02:16:29 am por FMtH »

Desconectado grep

  • *
  • Underc0der
  • Mensajes: 178
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
    • Grep's personal site
« Respuesta #1 en: Noviembre 16, 2016, 11:20:12 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
A la hora de programar un RAT como un troyano o una botnet (para windows), es impresindible usar el API de Windows? Es decir..
Si el WinAPI no existiera, no habria otra forma de acceder a los recursos del SO directamente?

Si el WinAPI no existiera, no habria otra forma de acceder a los recursos del SO directamente.

También se accede a la WinAPI (de forma indirecta) cuando utilizas un intérprete, una librería, una máquina virtual u otro programa.

No tienes permisos para ver links. Registrate o Entra con tu cuenta
Tambien creo haber escuchado que, actualmente al tirar mucho del WinAPI o al usar winsock, puede que nuestro malware sea mas detectado? Corrijanme porfavor.

Los malwares suelen ser programados en C++ y en ASM. No solo por utilizar la WinAPI tu programa puede ser detectado porque, si fuera así, todo sería malware para un software de detección.

No tienes permisos para ver links. Registrate o Entra con tu cuenta
Otra duda que tengo es, se puede crear el GUI de nuestro programa en el entorno de Visual Studio .NET(en C++) y usar las funciones de WinAPI para las demas cosas? como por ej. agregar al registro, crear threads, manipular procesos etc..
O si voy a usar WinAPI para lo dicho, tambien debo usarlo para crear mi GUI?

Esto sirve para complementar la duda que tenías sobre los formularios en Visual Studio para C++
(No tienes permisos para ver links. Registrate o Entra con tu cuenta).

* Para usar la WinAPI de forma directa necesitas utilizar código nativo (unmanaged code).
* Para crear ventanas con el Designer de Visual Studio necesitas usar el Framework .NET (managed code).

Para unir esos dos mundos se ha creado "C++/CLI", una especificación creada por Microsoft para permitir la interoperabilidad con el código nativo. "Native and .NET Interoperability" es en donde coexisten las estructuras unmanaged y managed en el mismo assembly (este assembly se conoce como un "Mixed assembly", un componente que puede llamar y ser llamado por otro componente .NET mientras mantiene la compatibilidad con componentes unmanaged). Como el resultado final es un assembly, entonces el programa generado depende del Framework .NET.
Native and .NET Interoperability: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Mixed (Native and Managed) Assemblies: No tienes permisos para ver links. Registrate o Entra con tu cuenta

Antes de seguir, quiero aclarar que se puede crear un programa con varios módulos. Un módulo no es una DLL o dependencia, es una unidad que se puede combinar para generar un assembly (este assembly puede ser la aplicación o una librería).

Un módulo puede compilarse con la opción /clr para permitir que el mismo utilice las características del Framework .NET y mantener la compatibilidad con el resto de la aplicación.
/clr (Common Language Runtime Compilation): No tienes permisos para ver links. Registrate o Entra con tu cuenta

Visual C++ soporta la generación de tres tipos de assemblies con la opción /clr:
* Mixed
* Pure
* Safe
Puedes ver la comparación en los siguientes enlaces:
Mixed, Pure, and Verifiable Feature Comparison (C++/CLI): No tienes permisos para ver links. Registrate o Entra con tu cuenta
Pure and Verifiable Code (C++/CLI): No tienes permisos para ver links. Registrate o Entra con tu cuenta

Las funcionalidades de interoperabilidad necesarias para llamar código nativo desde unmanaged code las provee el CLR (la máquina virtual del Framework .NET) y se llaman "Platform Invocation Services" o PInvoke. Para el caso de Visual C++, se puede utilizar C++ Interop (Implicit PInvoke) o DllImport/DllExport Attribute (Explicit PInvoke).
Calling Native Functions from Managed Code: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Using C++ Interop (Implicit PInvoke): No tienes permisos para ver links. Registrate o Entra con tu cuenta
Using Explicit PInvoke in C++ (DllImport Attribute): No tienes permisos para ver links. Registrate o Entra con tu cuenta

Finalmente quiero contarte que existen varias precauciones que debes tener en cuenta al desarrollar este tipo de soluciones y que la comunidad de desarrolladores de Visual C++ generalmente no utiliza C++/CLI.

No tienes permisos para ver links. Registrate o Entra con tu cuenta
que opinan de delphi para la programacion de RATs en la actualidad?

Si Delphi te brinda todo lo necesario para crear el programa que quieres crear, entonces no hay problema.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Saludos
« Última modificación: Noviembre 16, 2016, 11:22:07 am por grep »

 

¿Te gustó el post? COMPARTILO!



¿Como fundear un "exe"? dejarle sin avs

Iniciado por iquitoshack

Respuestas: 5
Vistas: 3018
Último mensaje Junio 07, 2012, 02:52:34 pm
por Sanko
Usar memoria externa como memoria interna.

Iniciado por CthulhuRise97

Respuestas: 4
Vistas: 2212
Último mensaje Abril 30, 2018, 05:35:43 pm
por NERV0
[SOLUCIONADO] ¿Cómo hago peticiones sql cuando hay una "@"?

Iniciado por proxy_lainux

Respuestas: 4
Vistas: 1573
Último mensaje Febrero 02, 2017, 01:46:19 pm
por proxy_lainux
[SOLUCIONADO] ¿Como usar los exploits de Joomla con una página que usa joomla?

Iniciado por Cruef

Respuestas: 5
Vistas: 2543
Último mensaje Febrero 07, 2013, 07:46:41 pm
por Sanko
Cómo utilizo un script en una sala de ares sin tener sala?

Iniciado por Narciso

Respuestas: 3
Vistas: 3698
Último mensaje Junio 28, 2015, 05:16:59 pm
por Narciso