Y fue usado de forma maligna. Gran sorpresa.
En un semestre X de una carrera X en una institución X de educación, un alumno de INACAP instalo un virus de código abierto llamado Borocito en los computadores de laboratorio del 4to y 5to piso.
Borocito es un virus de código abierto, o así lo pinta el repositorio de este alojado en GitHub por el misterioso usuario llamado Zhenboro, o Guillermo, quien vive en Concepción, Chile.
Desarrollador de Borocito, un virus que es algo peculiar, es de código abierto (gratis), tiene complementos (gratuitos) y es muy fácil de usar. Fue este software malintencionado encontrado en varios equipos de los laboratorios de INACAP Santiago Sur.
El inicio
Un día yo, Crizacio. Estaba en espera para una clase en la sala de computación del 5.º piso. Y un computador llamó mi atención. Tenía un programa en ejecución. Esto era extraño, en la mañana era la primera clase, y en la noche los computadores son apagados y reiniciados.

Cuando el profesor arribó, lo primero que hice fue quedarme con aquel equipo. Luego abrí el administrador de tareas para ver la carpeta en donde se alojaba el ejecutable. La ruta fue:
C:\Users\alumnossur\AppData\Local\Microsoft\Borocito
Luego lo siguiente fue crear un comprimido de esta carpeta que pesaba 1 GB y llevármela para un análisis.
Una vez en mi casita uwu, me puse a analizar la carpeta y buscar algo de información en internet. Lo primero que encontré fue el proyecto en sí, alojado en GitHub por Zhenboro. Con ello investigué sobre este sujeto, y me percaté de que tenía un canal de YouTube y hacía videos de cracking de programas en internet y en uno de estos videos mencionaba algo llamado CWS, que si te pones a investigar, te darás cuenta de que es la base en la que Borocito está desarrollado.
Luego comencé con el programa principal cuyo nombre estaba en la carpeta. Borocito.exe
Está desarrollado en .NET con el lenguaje Visual Basic .NET. Y el código está ahí, completo en el repositorio, así que es fácil saber cómo se comporta. Si no, puedes simplemente usar dnSpy para hacer una de-compilación completa del software. Tal como aprendí con los videos de este sujeto en YouTube.
Ahora voy con lo que no está implícitamente. El virus respondía al servidor que fue identificado como safedomainfrominternet.atwebpages.com. Dominio el cual ya no está disponible. Por lo que toda instancia ya quedó completamente obsoleta.
Pero en aquel entonces sí funcionaba, y como había leído el README.md del repositorio, sabía qué consultas hacer. Luego descargué todo lo que pude de aquel servidor. Y así concluí con algunas cosas:
- La instancia más longeva tenía el UID Kja6pImQ0iruaK8w. Iniciada el 4 de abril del 2022 y terminada el 22 de enero del 2023.
- El dominio le pertenecía a la empresa AwardSpace.
- Se habían tomado pantallazos, registros de teclas y fotografías mediante la webcam.
Esto cada vez se ponía más oscuro. Entre los archivos de este equipo se encontraban fotografías de alumnos que yo conocía, y registros de teclas que contenían correos y contraseñas.
Como se puede observar, los registros de teclas son fácilmente interpretados:
INACAO{BACK}P{OEMPERIOD}CL{RETURN}
INACAP {SPACE} {DOWN}{DOWN}{RETURN}
{NUMPAD0}{NUMPAD0}{NUMPAD0}{NUMPAD0}{NUMPAD2}{NUMPAD6}{NUMPAD5}{NUMPAD0}{SUBTRACT}{NUMPAD5}{TAB}{RSHIFTKEY}PEXOXO{NUMPAD1}{NUMPAD9}{NUMPAD9}{NUMPAD9}{DECIMAL}{RETURN}
Obviamente el RUT esta censurado.
Nos está dando:
- Escribe inacap.cl y presiona enter. Se dirige al sitio web de INACAP para iniciar sesión.
- Luego ingresa sus credenciales, las cuales son captadas por este registrador, seguramente con broKiloger.
00002650-5 <- RUT
Pexoxo1999. <- Contraseña
Y los pantallazos del escritorio.

Y fotografías mediante la webcam.

Yaaa ¿Quién fue?
Ni idea.
Se sabe que un usuario de Discord llamado Jona publicó un link a un sitio en donde estaban todas las contraseñas recopiladas, con RUT, correo y las contraseñas de más de 50 alumnos. Ignoro si este usuario es el origen de esta filtración o solo quiso ayudar a los demás difundiéndolo.
Luego de esta filtración, INACAP reaccionó:
- Los computadores no guardan su estado anterior: Cada vez que apagas o reinicias un computador, todo lo de la sesión anterior es eliminado, y el sistema es restablecido a una imagen predeterminada.
- Las contraseñas vencen: Ahora cada cierto tiempo debes cambiar tu contraseña (90 días).
- Correos: Se enviaron correos recomendando buenas prácticas de seguridad, pero no mencionaron este incidente (seguro porque queda feo).
Así que, efectivamente, quien haya sido el culpable nos ha condenado a equipos que no tienen el software necesario, y que los de soporte demoran meses en instalarlos.
Antes tenías el software necesario porque ya estaba instalado. Un alumno ya había estado ahí, y no tenías que perder el tiempo instalando y preparando todo desde cero.
Lo de las contraseñas está bien, pero sigue siendo tedioso. Además, la intranet de INACAP no utiliza un segundo factor de autentificación. Lo que pudiese ser más cómodo y de hecho más seguro.
¿Cómo funcionaba?
Borocito es una obra maestra, según yo, se preocupa de varios factores. Analizando el código concluí en:
- Evita usar sockets: La comunicación TCP/IP es un «hell nah» a la hora de monitorear la red. Es una alerta que pondrá en sospecha el software que lo realice, más si el servidor es desconocido.
También hay que tener en cuenta que una conexión socket requiere de un equipo, y en Chile estamos todos detrás de un CG-NAT, por lo que no tenemos dirección IP pública como tal. - Usa un sistema de comunicación conocido: Borocito utiliza peticiones HTTPS tipo REST API:
- El cliente (el malware) sabe de antemano a qué endpoints debe enviar peticiones según lo que el malware realiza. Por ejemplo: Si el cliente malware desea enviar telemetría, se dirige al endpoint Telemetry/tlmRefresh.php y el cuerpo va en texto plano.
- No usa permisos de administrador: Borocito al iniciar (sé cuál sea el contexto), no requiere de permisos de administrador, por lo que jamás verás el UAC de Windows aparecer para darle permisos de ejecución.
- Tiene aplicaciones por separado: Borocito tiene en total tres ejecutables que cumplen diversas funciones:
- Updater: Se encarga de actualizar el binario Borocito.exe, descarga las actualizaciones, descomprime y reinicia Borocito.
- Extractor: Cuando quieres infectar un equipo, es este el ejecutable que inicias. Básicamente, se encarga de instalar Borocito y luego lo inicia.
- Borocito: Es el malware con todas sus payloads.
- Tiene complementos poderosos: Esto lo encontré algo brutalmente genial. Borocito tiene su propio administrador de paquetes, por lo que podrías crear un complemento y usarlo fácilmente con Borocito a través del complemento boro-get. Algunos de estos complementos listos para usar son:
- broArbitra: Permite código arbitrario independiente de Borocito. Permite más que nada agregar payloads personalizadas.
- broEstoraje: Permite administrar archivos y carpetas, puedes comprimir archivos y enviarlos al servidor para luego descargarlos, es muy fácil de usar.
- broKiloger: Permite registrar teclas, usa un hook a la API de Windows.
- broReedit: Permite una administración del Registro de Windows.
- broRescue: Si la instancia de Borocito es cerrada, este complemento puede reiniciarlo y mantenerlo siempre vivo.
- broScrincam: Este es peligroso, puedes grabar la pantalla, grabar la webcam, tomar fotos con la webcam, grabar y/o TRANSMITIR audio (red local) y tomar pantallazos.
- Todos requieren de boro-get para su instalación y de boro-hear para la comunicación.
- Los componentes pueden ser separados del servidor principal: Los archivos de configuración y el funcionamiento interno de boro-get y todos los complementos permiten descentralizar los componentes. Puedes tener tu repositorio separado del servidor principal.
Este es un archivo de configuración de un componente. Reside en el servidor y es usado por boro-get para obtener información sobre un componente. En este caso, de broKiloger.
Nótese que el binario tiene la extensión .cph. En realidad esto es porque seguramente el hosting gratuito no permite subir archivos comprimidos como .zip.
El funcionamiento de Borocito es relativamente sencillo, digo relativamente por qué cuesta entender algunas cosas:
- Se ejecuta el Extractor.exe
- El Extractor.exe comienza el proceso de instalación, primero descomprime un binario que tiene inyectado en sí mismo.
- Estos archivos descomprimidos son movidos a la carpeta de instalación de Borocito.
- Luego de unos segundos inicia el Updater, este se encarga de buscar actualizaciones en el servidor que previamente el Extractor indico en el Registro de Windows. Por lo que el Updater y Borocito ya sabrán de antemano a qué servidor obedecer.
- Luego de que el Updater realice sus tareas de buscar y actualizar, inicia a Borocito.exe.
Estos son los pasos resumidos, hay algunas cosas omitidas, pero es la esencia del cómo funciona. El proceso es totalmente silencioso.
Borocito se reporta al servidor y luego comienza a enviar peticiones para que el servidor levante los archivos necesarios para su funcionamiento. Esto es totalmente automático.
Este es un archivo de reporte. El primer archivo que el servidor recibe del cliente infectado.
Los pasos para infectar son:
- Tener un servidor compatible con PHP: Un shared-hosting basta para hospedar el Server-Side de Borocito. De hecho, el servidor que estaba hospedado en AwardSpace era gratuito.
- Debías configurar Borocito CMD (el panel de control para Windows) indicándole el servidor y las credenciales FTP para la conexión. Luego de eso en el panel te dirigías a la pestaña Inject, en donde se indicaba la URL del servidor y luego indicabas el binario Extractor.exe para infectar los datos en él.
- Luego era cosa de con el ejecutable Extractor generado por el panel, te digirieras a un equipo y lo ejecutaras. Eso era todo.
Este es un archivo de comando. Aquí se pueden observar tres líneas para comandos por separado, la tercera línea actúa como comando persistente.
La sección RESPONSE es en donde la respuesta del cliente infectado se almacena.
Este fue un evento que llamṕ mucho mi atención, es algo que aparece en las películas o series de hackers. ¿Cuál era el objetivo de esto?, ¿Quién o quiénes eran los encargados de esta Botnet?
Jamás lo sabremos. Podría decirse que su objetivo puede haber sido completado. El solo hecho de poner un programa con una mona china pidiendo información bancaria podría hacerte pensar que ya habían cumplido su misión, y que ahora solo estaban divirtiéndose, o llamando la atención para algo quizás más grande.
Quiero agradecer a Zhenboro, me contacté con él mediante Discord para realizar este análisis en profundidad, aprender Borocito, y así poder redactar esta entrada. Es una persona muy chill y le agradezco la disponibilidad y paciencia que tuvo para ayudarme.