• Desarrollo CoolvibesRAT

  • Subforo donde se hara paso a paso un troyano en delphi.
Subforo donde se hara paso a paso un troyano en delphi.
 #29563  por unnamed020
 20 Oct 2008, 06:51
Mandamelo por PM si quieres
Hecho
las memoria no da para tanto y con el fin de año me entra la depresion. ¡Mas vale acelerar antes que se acabe el hechizo!
jajaja loco de la guerra, sos groso, sabelo
 #29831  por status.0
 22 Oct 2008, 18:58
Gracias unnamed020!
Estuve mirando el code del keylogger, no esta complicado añadirle sockets pero primero estoy haciendo unos cambios que tenia pendientes. Lo ultimo que le añadi fue lo siguiente:

Coolvibes 0.6.2
Funciones añadidas:
[+] Captura de passwords de MSN y Firefox
[+] Builder para crear servers livianos sin autoinicios (para exe y dll+inyeccion)

Falta que sea 1 de Noviembre para hacer el release, si alcanzo a añadir el keylogger ya os contare. Por ahora me dedico a organizarlo todo para que no quede muy improvisada la nueva version...

Sobre las nuevas funciones que se pueden añadir, podriamos llegar al nivel del spynet RAT si reciclamos Units de otros RATs como Institution 2004 (keylogger, audio, scanner, net), el problema radica en que luego se vuelve más dificil indetectar el server por lo que por ahora no modificare demasiado, apenas y aprendo. Espero no me parta un rayo hasta ese dia. Salu2.
 #29925  por Thor
 23 Oct 2008, 14:02
sorprendente los avances.

Suerte !!
 #30126  por status.0
 25 Oct 2008, 15:53
Imagen Bueno ese primer intento habia que pulirlo, ahora el password extractor da los resultados y los organiza en una lista, dando tambien la opcion de guardar el informe en .txt.
Quedan faltando las passwords de Iexplorer, la tool de nirsoft me da la pista de donde se guardan dichas pass en el registro, pero no me ha dado la pista completa para extraerlas. Si me quieren echar una mano se los agradeceria.

EDIT
Ya finalizando la ultima caja de cervezas le añadi lo siguiente:
[+] Interacción con el MSN (Ver lista de contactos, cambiar de estado, ver información de la cuenta) con la posibilidad de guardar el log con la lista de contactos extraida.
1 de Noviembre - Release del codigo y compilado

Imagen
Faltan pocos días, como pasa de rapido el tiempo...
 #30298  por status.0
 27 Oct 2008, 05:36
Las cosas son asi, me quedan 5 días de vacaciones para terminar los cambios que deseo hacerle al proyecto y no me alcanza el tiempo para meter tanta cosa buena que queria aprender, aunque mis vacaciones son cortas no importa, los ultimos cambios fueron:

[+] Se añadio menu para extraer información sobre los parametros de red del usuario
(Identidad en red, DNS, chequeo de posible enrutamiento o proxy, IP interna, MAC, MTU, Velocidad de conexión, Datos recibidos, descripcion sobre el adaptador de red del remoto y sus recursos compartidos)
[*] Se repararon las capturas de pantalla y webcam, en la version 0.5 al parecer al no usar ScktComp no funcionaban correctamente.
[?] El modulo para interactuar con MSN funciona en pruebas con WinVista, pero en XP salta un error por falta de memoria (hasta que no repare eso sera una caracteristica experimental, igual la añadire al proyecto por si alguien la repara)

Imagen
Lo dificil sera organizar todo a tiempo en una sola carpeta para entregar (dios dame paciencia), me he autoinfectado millones de veces solo para probar si los sockets funcionan
 #30325  por Thor
 27 Oct 2008, 18:45
Que crack !
En cuanto lo publiques le echare un ojo a esta joya :D
 #30358  por Unknown
 28 Oct 2008, 00:05
status.0 escribió: [*] Se repararon las capturas de pantalla y webcam, en la version 0.5 al parecer al no usar ScktComp no funcionaban correctamente.
Hola, sugiero que esta parte no la cambies, si no funciona correctamente debe ser un error de programación, no la falta de uso de ScktComp. Como sabrás la versión 0.3 usaba este componente y desde la versión 0.4 tanto la captura de pantalla como la captura de Webcam se migró a LiteSocks, manteniendo ScktComp para el resto de las funcionalidades. Luego para la versión 0.5 se migró el resto de las funcionalidades a ScktComp. Es decir, la versión 0.5 no migró la transferencia de archivos, webcam y captura de pantalla, lo hizo la versión 0.4 y desde esa vez funcionó correctamente. Por otro lado, la idea de eliminar SckComp no fue un mero capricho, tuvo dos objetivos primordiales:

1.- Reducir el tamaño del server
2.- Implementar DllInjection

Con el uso de SkctComp se deben añadir al server otras units que lo único que hacen es añadir peso y hacer que no funcione el DllInjection.

Saludos,
Unknown.
 #30364  por unnamed020
 28 Oct 2008, 00:52
tengo una idea para los dos jejeje

por que no usan esta unit de Aphex:

[ Debe registrarse para ver este enlace ] ... p.rar.html
Código: Seleccionar todo
  Borland Delphi Winsock 1.1 Library by Aphex
  http://iamaphex.cjb.net
  [email protected]

  This is a HEAVILY optimized version of Borland's
  ScktComp unit. It works in exactly the same fashion
  and supports all of it's Win32 functionality except
  using only 10% of the original vcl overhead.

  Also included is a TList, TStream and TThread class.

  For console applications you should make an object
  to contain your methods for socket events.

  Refer to the delphi help file for information about
  each of the different socket events!

  Example Program (22KB compilied with Delphi 6):

  type
    TConnection = class
      procedure Read(Sender: TObject; Socket: TCustomWinSocket);
    end;

  var
    Connection: TConnection;
    ClientSocket: TClientSocket;
    Msg: TMsg;
    Active: boolean;

  procedure TConnection.Read(Sender: TObject; Socket: TCustomWinSocket);
  begin
    WriteLn(Socket.ReceiveText);
  end;

  begin
    Connection := TConnection.Create;
    ClientSocket := TClientSocket.Create;
    ClientSocket.OnRead := Connection.Read;
    ClientSocket.Host := 'irc.server.net';
    ClientSocket.Port := 6667;
    ClientSocket.Active := True;
    Active := True;
    while Active do
    begin
      Sleep(100);
      if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
      begin
        if Msg.Message <> $0012 then
        begin
          TranslateMessage(Msg);
          DispatchMessage(Msg);
        end
        else
        begin
          Break;
        end;
      end;
    end;
  end.
compile esa aplicacion en mi delphi 6, y los resultados fueron barbaros solo 22 KB de data!!!

jeje Saludos
 #30366  por status.0
 28 Oct 2008, 01:12
Gracias Unknown por las sugerencias, espero me ayudes luego a corregir fallos cuando haga el release (que deben haber montones)
unnamed020, precisamente es esa Unit (SocketUnit) la que se usa en Coolvibes 0.5 para hacer el DLLInyection. El codigo de DLLInyection tambien es de Aphex, de ahi la necesidad de ambos elementos presentes para poder que funcione. Tendre que mirar más de cerca la version 0.5 para comprender la diferencia y modificar el server.

* Con scktComp: [[ Coolvibes 0.4 ]]
Socket.SendText('SH|' + IntToStr(SH) + ENTER);
* Con SocketUnit: [[ Coolvibes 0.5 ]]
SendText('SH|' + IntToStr(SH) + ENTER);

(//citar a scktComp, añadir a SocketUnit... espero sea solo eso )
El inyector DLL que uso es demasiado básico (no es invasivo a otros procesos, solo se encarga de extraer y cargar la DLL en el mismo proceso). Con el logro inyectar un server .DLL del Coolvibes 0.4 que usa ScktComp y me pasa la conexión normalmente, por el tamaño si tienen razon, queda más pesado pues el inyector guarda el .DLL como stub, pero el resto de funcionalidades no se pierden.
Podria entonces convertir el server actual y usar SocketUnit, o añadirle las nuevas funciones programadas a un server de la version 0.5. Igual el cliente va a escuchar ambos servers y más adelante podramos reparar lo que quede roto.

Mi sueño seria hacer un builder para el server como el del spynet RAT, claro, fumo mucho y duermo poco...
 #30370  por Unknown
 28 Oct 2008, 01:37
Hola de nuevo, mencionas que Dado que el código del DllInjection es de Aphex entonces debe usarse el SocketUnit también de Aphex para que funcione. Esto no es así. Simplemente para que funcione el Dll Injection NO deben usarse componentes VCL tal como lo es el SocketUnit, podría usarse cualquier otra Unit de Sockets no basada en VCL y el Dll Injection funcionaría igual de perfecto. Por otro lado al ver tu comentario me confundí un poco. Mencionas que debes mirar más de cerca el 0.5 para comprender el código y poder agregar las funcionalidades, es decir que has estado trabajando sobre la 0.4? en caso de ser así no me suena muy bien...

Por otro lado mencionas que el inyector que usas no es invasivo a otros procesos sino que el stub extrae el Dll y lo carga en el mismo proceso... Esto no es Inyección, es usar plugins o algo parecido. Según estoy viendo con esta nueva versión se está desechando todo lo logrado en la 0.5. nuevamente no me parece muy bien, ya que significaría que todo el empeño puesto en la versión 0.5 y las funcionalidades implementadas se irían por el caño. Si observas las versiones anteriores todas han sido incrementales, es decir, se toma lo que existe y se agrega y mejora, no se retrocede.

Cualquier duda estoy a la orden, sólo que si trabajas sobre la 0.4 el proyecto se dividiría en dos, ya que tu nueva versión no sería la 0.6, sería una nueva rama sobre la 0.4 y cualquier otra versión que salga basada en la 0.5 sería una nueva rama de la 0.5, lo cuál como verás traería bastante desorden al proyecto. Reitero que sin ningún problema se puede implementar todo lo que has mencionado en este thread sobre la 0.5.

Saludos,
Unknown.
 #30384  por status.0
 28 Oct 2008, 03:17
Es todo un honor para mi que un veterano en el proyecto como vos Unknown me de orientación, asi que maestro, estos son los nuevos UNITs que tiene el server. Ya acabe de adaptarlas al server del Coolvibes 0.5 y todo funciona perfecto (inyección por ambos metodos tambien), salvo algunas cosas minimas.
+ Screencapture&webcam: En el server 0.5 estan //comentadas sus funciones asi que supongo que habra que migrarlas al SocketUnit para que funcionen.
+ Servicios (Falla en Vista): Pues no es un fallo sino una politica de seguridad de Vista dar acceso a los servicios solo al administrador, pero seria muy bueno ingeniarse alguna forma para que funcione.

---------------Cambios a Units del nuevo Server ------------------
Modificadas:
- UnitSystemInfo: Se le añadio funciones para extraer información de red y recursos compartidos.
- UnitInstalacion: Se volvi a añadir la funcion 'desinstalar' momentaneamente para poder hacer testeos rapidos, se puede hacer esta unit menos detectada para volverla a añadir ofuzcandola.

Añadidas
+ msn, MessengerPrivate_TLB, MessengerAPI_TLB, DispImpl_TLB:
En estas units se maneja la interacción con msn (Obtener lista de contactos, obtener estado, desconectar). Es inestable aun, funciona en Vista pero en XP o en plataformas con menos rendimiento me salta un error por falta de memoria (etapa experimental con ActiveX).
+ activex: Se utiliza para llamar un evento ActiveX y ejecutar la interacción con MSN.
+ CryptApi: Esta unit es usada para decodificar las passwords encontradas de MSN y Firefox.
+ DownFileUnit: Maneja las descargas de archivos simultaneas en los comandos broadcast.
+ Winsys: De ella uso un procedimiento para lanzar páginas en los comandos broadcast.
-------------------------------------------------

Quisiera entonces, ahora pensando en un futuro, aprender a hacer un RAT que se maneje por plugins.
¿Te parece?, me suena mucho la idea, ya que si le seguimos añadiendo cosas al server va a quedar más pesado y más inestable, mientras que con plugins no nos preocupariamos por tamaño pues se subirian los archivos del cliente al server.
Ahora que Thor volvio todos parecemos más inteligentes

EDIT: Una duda que me surgio (11:39PM). ¿Seria bueno o malo ubicar todas las funciones del server en una sola UNIT? ¿Se hace por llevar un orden, o por alguna razon especial a la hora de ejecutarse?. Voy a tratar de borrar basura de mis units para bajarle peso, o unirlas en una sola.
 #30394  por Unknown
 28 Oct 2008, 12:36
status.0 escribió:Es todo un honor para mi que un veterano en el proyecto como vos Unknown me de orientación, asi que maestro, estos son los nuevos UNITs que tiene el server. Ya acabe de adaptarlas al server del Coolvibes 0.5 y todo funciona perfecto (inyección por ambos metodos tambien), salvo algunas cosas minimas.
+ Screencapture&webcam: En el server 0.5 estan //comentadas sus funciones asi que supongo que habra que migrarlas al SocketUnit para que funcionen.
+ Servicios (Falla en Vista): Pues no es un fallo sino una politica de seguridad de Vista dar acceso a los servicios solo al administrador, pero seria muy bueno ingeniarse alguna forma para que funcione.

---------------Cambios a Units del nuevo Server ------------------
Modificadas:
- UnitSystemInfo: Se le añadio funciones para extraer información de red y recursos compartidos.
- UnitInstalacion: Se volvi a añadir la funcion 'desinstalar' momentaneamente para poder hacer testeos rapidos, se puede hacer esta unit menos detectada para volverla a añadir ofuzcandola.

Añadidas
+ msn, MessengerPrivate_TLB, MessengerAPI_TLB, DispImpl_TLB:
En estas units se maneja la interacción con msn (Obtener lista de contactos, obtener estado, desconectar). Es inestable aun, funciona en Vista pero en XP o en plataformas con menos rendimiento me salta un error por falta de memoria (etapa experimental con ActiveX).
+ activex: Se utiliza para llamar un evento ActiveX y ejecutar la interacción con MSN.
+ CryptApi: Esta unit es usada para decodificar las passwords encontradas de MSN y Firefox.
+ DownFileUnit: Maneja las descargas de archivos simultaneas en los comandos broadcast.
+ Winsys: De ella uso un procedimiento para lanzar páginas en los comandos broadcast.
-------------------------------------------------

Quisiera entonces, ahora pensando en un futuro, aprender a hacer un RAT que se maneje por plugins.
¿Te parece?, me suena mucho la idea, ya que si le seguimos añadiendo cosas al server va a quedar más pesado y más inestable, mientras que con plugins no nos preocupariamos por tamaño pues se subirian los archivos del cliente al server.
Ahora que Thor volvio todos parecemos más inteligentes

EDIT: Una duda que me surgio (11:39PM). ¿Seria bueno o malo ubicar todas las funciones del server en una sola UNIT? ¿Se hace por llevar un orden, o por alguna razon especial a la hora de ejecutarse?. Voy a tratar de borrar basura de mis units para bajarle peso, o unirlas en una sola.
Hola, no entiendo por qué no funciona lo de screen capture y webcam, ya que si la transferencia de otros archivos funciona correctamente, esta es casi idéntica. En todo caso debe ser un error de programación. Cuando liberes tu versión me encargaré de echarle un vistazo. Respecto a los plugins, la 0.5 ya tiene plugins, fíjate la forma de hacer capturas de pantalla y webcam, cargo dinámicamente un dll y ejecuto la función. Ahora que hago este comentario me viene a la mente: ¿No será este el motivo por el cuál no te funciona el screen capture y webcam? Te recuerdo que debes tener el jpg_plugin (incluido en la versión 0.5 con código fuente y todo) en el directorio %SYSDIR% (usualmente c:\windows\system32). Estoy casi 100% seguro de que este es tu problema.

Saludos,
Unknown.
 #30397  por Thor
 28 Oct 2008, 15:02
Hacer un sistema de plugins genérico creo que no es muy complicado.

Por un lado desde el cliente se enviarían las dll's con nuevas funcionalidades al server, este las guarda y recuerda cuales tiene disponibles.
Código: Seleccionar todo
String[] plugins;
Después el cliente envía un comando:
Código: Seleccionar todo
PluginsParaFirefox.dll,funcionintena,parametro1
Al mas puro estilo rundll32, el server se cerciona de que dispone de esa dll, la carga e invoca la función.

Lo mas complicado sería que de algún modo habría que "ampliar" la funcionalidad del cliente para poder enviar estos nuevos comandos.

Me acuerdo del tequila bandita, que tenia 2 dll's para añadir screenshots al troyano. Una era para el server y la otra era para que el cliente mostrara una pestaña nueva "Screenshot" con la interfaz, botones y tal.

Lo malo de usar plugins es que costará el doble indetectabilizar una versión :P Detectarán el server y los plugins. Aunque si el server los cargaría directamente en memoria sin pasar por disco...ni idea.

¿Que os parece empezar a subir el proyecto a algún sitio como sourceforge?
 #30403  por DSR!
 28 Oct 2008, 17:21
podrian pasar varias cosas, una es que se depure el proyecto y sega avanzando y otra que un monton de personas empiezen a tomar codigos del cool para hacer troyanos de codigo cerrado como hicieron los chinos.
la gran "darkmoon" diria para citar un ejemplo.
 #30426  por status.0
 28 Oct 2008, 22:28
Espero termine a tiempo todos los detalles nuevos que resultaron de la correción del server. Logre migrar las nuevas funciones al server 0.5 y adaptarlas al cliente, el screencapture ya funciona (gracias Unknown), el cam capture no lo pude testear aun por falta de webcam.

Ultima funcion Añadida:
[+] Extractor de passwords y autocomplete forms para Internet Explorer 7.
Imagen
Los autocompletes buscan texto que halla sido enviado a forms con texto por defecto (ej: username, mail, q, etc), si tienen un buen listado de forms comunes me serviria.

Pendientes: Si me alcanza el tiempo me gustaria añadir este code como complemento al process y windows manager.
* [ Debe registrarse para ver este enlace ]: en procesos muestra la prioridad del proceso, en ventanas muestre el estado y permite hacer refresh a las ventanas ocultas del sistema para listarlas.
-----------------
Mi interes es aprender del codigo, luego liberarlo.
[Pesca deportiva ]