elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Antivirus en Batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Antivirus en Batch  (Leído 4,529 veces)
Alvarito050506

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Antivirus en Batch
« en: 24 Febrero 2019, 22:18 pm »

Hola a todos, este es mi segundo tema en el foro y el primero en la sección "Scripting".

Hace un tiempo -dos días para mi son "un tiempo"- que vengo trabajando en un cleaner o antivirus para memorias externas (pendrives, USBs, tarjetas SD, miniSD y microSD, etc.). Este pequeño programa escrito en Batch limpia y vacuna el dispositivo de almacenamiento externo, detecta si hay malware alojado en él y, si es así, realiza las acciones necesarias para eliminarlo.

Mi programa es muy simple, se ejecuta en la consola de Windows y ni siquiera posee interfaz gráfica. Pronto le agregaré una de estas, que permitirá que tenga más opciones de configuración.

A continuación les dejo el código fuente.
Código
  1. @echo off
  2. title Advanced USB Batch Antivirus
  3. color F0
  4.  
  5. echo Bienvenido a AUBA (Advanced USB Batch Antivirus).
  6. echo ADVERTENCIA: Este programa puede borrar contenido o información importante. Úselo bajo su propio riesgo.
  7.  
  8. set /p init=¿Desea continuar? [s/N]
  9. if not %init% == s (
  10. cls
  11. goto end
  12. ) else (
  13. cls
  14. )
  15.  
  16. set /p unit=Ingrese a continuación la letra de la unidad que desea analizar
  17.  
  18. echo Cambiándole los atributos a los archivos...
  19. attrib /d /s -r -h -s %unit%:\*
  20.  
  21. if exist %unit%:\*.lnk (
  22. echo Eliminando los archivos de tipo MIME application/x-ms-shortcut...
  23. del /f %unit%:\*.lnk
  24. )
  25.  
  26. if exist %unit%:\autorun.inf (
  27. echo Eliminando el archivo autorun.inf...
  28. del /f %unit%:\autorun.inf
  29. )
  30.  
  31. if exist %unit%:\Recycler.exe (
  32. echo Virus detectado: Win32:Folder/RECYCLER_BIN
  33. echo Eliminando el virus Win32:Folder/RECYCLER_BIN...
  34. del /f %unit%:\Recycler.exe
  35. )
  36.  
  37. if exist %unit%:\Desktop.ini (
  38. echo Eliminando el archivo Desktop.ini...
  39. del /f %unit%:\Desktop.ini
  40. )
  41.  
  42. if exist %unit%:\mugen.vbs (
  43. echo Virus detectado: Win32:VBS/Mugen
  44. echo Eliminando el virus Win32:VBS/Mugen...
  45. del /f %unit%:\mugen.vbs
  46. )
  47.  
  48. if exist %unit%:\eicar.* (
  49. echo Archivo de prueba detecado: DOS:Test/EICAR_Test_File
  50. echo Eliminando el archivo de prueba DOS:Test/EICAR_Test_File...
  51. del /f %unit%:\eicar.*
  52. )
  53.  
  54. if exist %unit%:\*update.vbs (
  55. echo Troyano detectado: Win32:VBS/Update_Downloader
  56. echo Eliminando el troyano Win32:VBS/Update_Downloader...
  57. del /f %unit%:\*update.vbs
  58. )
  59.  
  60. if exist %unit%:\runauto\ (
  61. echo Eliminando la carpeta runauto...
  62. rmdir /s %unit%:\runauto\
  63. )
  64.  
  65. if exist %unit%:\RECYCLER\ (
  66. echo Virus detectado: Win32:Folder/RECYCLER_BIN
  67. echo Eliminando la carpeta RECYCLER...
  68. rmdir /s %unit%:\RECYCLER\
  69. )
  70.  
  71. if exist %unit%:\Recycler\ (
  72. echo Virus detectado: Win32:Folder/RECYCLER_BIN
  73. echo Eliminando la carpeta Recycler...
  74. rmdir /s %unit%:\Recycler\
  75. )
  76.  
  77. if exist %unit%:\$RECYCLE.BIN\ (
  78. echo Virus detectado: Win32:Folder/RECYCLER_BIN
  79. echo Eliminando la papelera de reciclaje (carpeta $RECYCLE.BIN)...
  80. rmdir /s %unit%:\$RECYCLE.BIN\
  81. )
  82.  
  83. if exist %AppData%\mugen.vbs (
  84. echo Virus detectado: Win32:VBS/Mugen
  85. echo Eliminando los procesos wscript.exe y cscript.exe...
  86. taskkill /im wscript.exe /f
  87. taskkill /im cscript.exe /f
  88. echo Eliminando el virus Win32:VBS/Mugen...
  89. del /f %AppData%\mugen.vbs
  90. )
  91.  
  92. if exist %Temp%\conhost.exe (
  93. echo Gusano detectado: Win32:Folder/Conhost_PE
  94. echo Eliminando el proceso conhost.exe...
  95. taskkill /im conhost.exe /f
  96. echo Eliminando el gusano Win32:Folder/Conhost_PE...
  97. del /f %Temp%\conhost.exe
  98. echo Eliminando los archivos de tipo MIME application/x-msdownload...
  99. del /f *.exe
  100. )
  101.  
  102. if exist C:\$RECYCLE.BIN\ (
  103. echo Virus detectado: Win32:Folder/RECYCLER_BIN
  104. echo Eliminando la papelera de reciclaje (carpeta $RECYCLE.BIN)...
  105. rmdir /s C:\$RECYCLE.BIN\
  106. )
  107.  
  108. echo Escribiendo archivo autourun.inf preventivo...
  109. echo 00 > %unit%:\autorun.inf
  110. echo Cambiándole los atributos al archivo autorun.inf...
  111. attrib +h +r +s %unit%:\autorun.inf
  112.  
  113. echo Eliminando la entrada del registro HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run...
  114. reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Run /va /f
  115. echo Sobrescribiendo archivo hosts a su configuración de fábrica...
  116. echo # 127.0.0.1 localhost > C:\Windows\System32\drivers\etc\hosts
  117.  
  118. echo Limpieza completa. Considere utilizar un antivirus para asegurar su computadora y prevenir futuras infecciones.
  119. :end
  120. echo Ejecución terminada. Gracias por usar AUBA.
  121. pause>nul
  122.  

Espero comentarios, críticas y contribuciones pronto.
Gracias.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.813



Ver Perfil
Re: Antivirus en Batch
« Respuesta #1 en: 3 Marzo 2019, 05:34 am »

Espero comentarios, críticas y contribuciones pronto.

Este tipo de "limpiadores" hechos en Batch-scipt y llevados a cabo desde la completa inexperiencia y desconocimiento, nunca llevan a ninguna parte.

No se si eres consciente de que estás eliminando archivos conocidos - y que no tienen por que ser maliciosos - sin una justificación real, y llevando a cabo otras acciones por igual, con una advertencia que realmente no advierte de los peligros reales que puede ocasionar la utilización de tu script, pues para empezar modificas a tu antojo los atributos de todos los directorios y archivos, luego eliminas cualquier acceso directo (*.lnk) en el directorio raíz de la unidad especificada, además del archivo de configuración de carpeta (Desktop.ini) y el AutoRun.inf, pero lo peor de todo es que eliminas sin miramiento alguno el directorio completo de la papelera de reciclaje en la unidad C:\ ($RECYCLE.BIN), aunque al menos tal y como has especificado la sintaxis del comando rmdir este pedirá confirmación al usuario, pero ni aun así, esa "detección de virus" es falsa e innecesaria, y por si eso fuese poco además eliminas la clave de registro de configuración de inicio de programas, todo sin que nadie te haya pedido que elimines nada de eso sin una autorización previa por parte del usuario... la advertencia actual es insuficiente.

Código
  1. title Advanced USB Batch Antivirus

Llamar "Advanced" a este tipo de scripts es muy poco humilde, es más, por el mero hecho de ser un Batch-script esto ya es incalificable como "Advanced" ni sinónimos, mucho menos "Antivirus"; no es por desmerecer tu tiempo y esfuerzo invertido en el desarrollo del código, pero es la realidad y cuanto antes te des cuenta de ello, mejor será para ti y tus objetivos de programación.

Sinceramente, tu "limpiador" puede causar más perjuicios que sanar, sobre todo para quien no sepa exactamente lo que va a ser modificado y eliminado de su sistema al iniciar tu script y luego se encuentre con la sorpresa de que le has eliminado todo el contenido de la papelera de reciclaje que a lo mejor ese usuario luego quisiera restaurar, o que sus programas instalados dejan de iniciarse al inicio de Windows por que has eliminado cierta clave de registro que guarda esa configuración de programas, o ver que ciertos directorios y archivos ya no están ocultos por que tu script ha modificado sus atributos, etc. Yo no usaría este tipo de "vacunas" ni como último recurso.

No eres el primero ni serás el último que se pone a aprender programación Batch y ve como buena idea hacer este tipo de "vacunas USB" y lo postea en el foro también. Mi crítica constructiva se la dirijo a todas esas personas también...

Mi consejo (si es que lo llegas a querer): olvídate de seguir haciendo este tipo de scripts en batch, en serio, ya no es que sea innecesario reinventar la rueda, es que directamente no son de ninguna utilidad y de hecho su utilización puede resultar perjudicial según el desconocimiento de quien lo use, y al final haciendo esto solo perderás (sin saberlo) un preciado tiempo pudiendo estar haciendo otras cosas realmente útiles en lenguajes de programación de verdad.

PD: espero no haber sido demasiado duro / sincero.

Un saludo.


« Última modificación: 3 Marzo 2019, 05:46 am por Eleкtro » En línea

Alvarito050506

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: Antivirus en Batch
« Respuesta #2 en: 5 Marzo 2019, 23:10 pm »

Hola Elektro, sabés que tenés razón en cada aspecto. Y me di cuenta de lo que decís al momento de investigar un poco más a cerca del malware y la seguridad informática.

Es por lo anterior que hice SHIFT+SUPR a la carpeta contenedora del "programa" y empezé a (re)escribirlo desde cero pero en un verdadero lenguaje (C) y utilizando verdaderos métodos antivirus (expresiones regulares y algo de heurística).

Gracias por ser sincero. Saludos.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.813



Ver Perfil
Re: Antivirus en Batch
« Respuesta #3 en: 6 Marzo 2019, 04:23 am »

Estoy sorprendido, ¡me alegra escuchar tu decisión!
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.351


Ver Perfil
Re: Antivirus en Batch
« Respuesta #4 en: 7 Marzo 2019, 23:46 pm »

Opino como Elektro...

Si quieres hacer algo en script, todavía podrías... infórmate por ejemplo sobre Yara
https://yara.readthedocs.io/en/v3.8.1/
En línea

Alvarito050506

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: Antivirus en Batch
« Respuesta #5 en: 8 Marzo 2019, 20:05 pm »

Hola NEBIRE. Sí, conozco Yara y lo he considerado como una posibilidad, pero quiero crear mi propio motor (ya lo estoy haciendo, de hecho).

Es por los motivos ya mencionados que decidí reescribir el programa, en C y utilizando un motor de expresiones regulares y heurística propia.

De igual forma, gracias por el dato y por opinar.
En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 668



Ver Perfil WWW
Re: Antivirus en Batch
« Respuesta #6 en: 9 Marzo 2019, 00:28 am »

Por ahi hay un antivirus en batch muy famoso, es este ; USB File Resc

yo me encargue hace un año y medio de sacarle la fuente y la publique aquí, a los 2 días el creador ya me había reclamado xd. tube que borrarla.

al final termine por ayudarle creando un ofuzcador para batch y ofuzcamos completamente la fuente.

Pero el tema de antivirus es muy complejo, yo mismo que estoy haciendo mi propio motor antivirus  en vb.net, con varios tipos de scanners, estoy usando yara, scan md5 , scan hex , scan PE. por el momento me falta el scan con yara , ya tengo una DB. xd
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
antivirus en batch
Scripting
emerling 0 1,948 Último mensaje 4 Enero 2008, 08:54 am
por emerling
Deshabilitar antivirus en batch
Scripting
Carlos_1991 5 8,880 Último mensaje 5 Mayo 2008, 18:52 pm
por Carlos_1991
Deshabilitar antivirus en batch
Scripting
Carlos_1991 5 6,506 Último mensaje 3 Mayo 2008, 17:43 pm
por MK-Ultra
Saber Sistema Operativo y antivirus - Batch « 1 2 »
Scripting
Nilrac 15 12,532 Último mensaje 8 Octubre 2018, 16:55 pm
por Eleкtro
como crear un antivirus en batch
Dudas Generales
ispk2 1 3,971 Último mensaje 23 Agosto 2017, 23:20 pm
por **Aincrad**
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines