Presentación Virus
Omar Núñez, Oliver Infante, Sebastián Henríquez y Joel Abreu
Fundamentos de Ciberseguridad; ICS202-01
Eliezer Montaño
Lunes 16 de enero de 2023
Presentación Virus 2
Código fuente
Para la realización del virus, utilizamos una arquitectura de plugin, lo que nos permite poder tener
los diferentes módulos del virus y que estos sean ejecutados automáticamente gracias al kernel,
quien se encarga del registro y activación de los plugins.
La estructura del Kernel es la siguiente:
Como podemos ver, cada plugin es ejecutado en 2do plano, lo que hace que la ejecución de uno
no interfiera con la de otro.
[IDS] Omar Stieven Núñez Güílamo - 1101587
Presentación Virus 3
En el módulo main, creamos una instancia del kernel, a la cual le registramos cada uno de los
plugins que deseamos. Al final, le indicamos al kernel que inicie su ejecución.
La estructura de los plugins varía, pero siguen una base, la cual es la siguiente:
[IDS] Omar Stieven Núñez Güílamo - 1101587
Presentación Virus 4
Como vemos, cada plugin posee un nombre y un método run, el cual es el encargado de iniciar el
propio plugin.
Para registrar un Plugin, lo único que debemos hacer es crear una clase que herede de la clase
PluginBase, y sobrescribir el constructor (opcional), y el método run.
[IDS] Omar Stieven Núñez Güílamo - 1101587
Presentación Virus 5
Ahora bien, no es necesario tener que implementar toda la lógica dentro del método run, sino que
podemos utilizarlo para ejecutar funciones. Esto permite tener un plugin más limpio y organizado.
Como vemos en este caso, el plugin tiene varios métodos que son llamados desde el método run.
[IDS] Omar Stieven Núñez Güílamo - 1101587
Presentación Virus 6
Además, si nos fijamos, el plugin solo es ejecutado si presionamos cierta combinación de teclas,
por lo que está al pendiente de un evento.
La ejecución del script es la siguiente:
Si presionamos ctrl+c vemos como ocurre lo siguiente:
[IDS] Omar Stieven Núñez Güílamo - 1101587
Presentación Virus 7
[IDS] Omar Stieven Núñez Güílamo - 1101587