Bombas fork
Versión audio
La bomba fork es una forma de ataque del tipo denegación de servicio sobre un computador que implementa la operación fork, o alguna funcionalidad equivalente mediante la cual un proceso es capaz de crear otro proceso. La bomba fork es considerado un wabbit ya que no se replica de la misma forma que los gusanos o los virus. Su efecto se basa en la suposición que el número de programas y procesos que se ejecutan simultáneamente en un ordenador tiene un límite.
Una bomba fork funciona creando una gran cantidad de procesos muy rápidamente con el objetivo de saturar el espacio disponible en la lista de procesos mantenida por el sistema operativo del computador. Si la tabla de procesos se llega a saturar, entonces no se pueden iniciar nuevos programas hasta que no se cierre alguno. En el caso que esto suceda, es muy poco probable que se pueda iniciar un programa útil ya que los procesos de la bomba estarán esperando para poder crear nuevos procesos a la primera oportunidad que se les conceda.
Las bombas fork no sólo ocupan espacio dentro de la lista de procesos, también consumen tiempo de proceso y memoria de la máquina donde se ejecutan. Como resultado de esto, los ordenadores se vuelven lentos e incluso se pueden volver inutilizables dada la falta de memoria y la imposibilidad de aprovechar el procesador.
Entre las bombas fork más conocidas se incluye esta versión para Unix (Explicación(en inglés)):
:(){ :|:& };:
o esta para Microsoft Windows usando un archivo bat:
:s
start %0
goto s
o usando Perl:
(forking usando el intérprete Perl):
perl -e "fork while fork" &
o usando el lenguaje de programación C:
#include
int main(){
while(0==0)
fork();
}
Posibilidad de solución
Una vez una bomba fork ha sido activada de forma "satisfactoria" en un sistema, puede que no sea posible ejecutar ninguna tarea sin un reinicio del sistema, ya que la única solución es detener todos los procesos iniciados por ella. Normalmente se requiere cargar un programa adicional para "matar" procesos, lo que puede no ser posible si no hay posiciones vacías dentro de la tabla de procesos o espacio dentro de las estructuras de memoria.
Prevención
Una forma de prevenir el ataque de una bomba fork es limitar el número de procesos que un usuario puede ejecutar. Cuando un proceso intenta crear otro proceso y el propietario de dicho proceso ya posee la cantidad máxima de procesos que se le ha asignado, el intento de creación del nuevo proceso falla. El máximo número de procesos asignado a cada usuario debe ser lo suficientemente bajo para poder resistir la ejecución simultánea de una bomba fork por cada usuario y dejar libres los suficientes recursos como para poder restaurar el sistema.
Téngase en cuenta que la ejecución accidental de una bomba fork es altamente improbable en más de un usuario a la vez.
Para limitar el número de procesos máximos por usuario en GNU/Linux hay que editar el archivo "/etc/security/limits.conf" y añadir la siguiente línea:
* hard nproc 1000
donde el número final es el límite de procesos por usuario. Un número entre 1000 i 4000 sería suficiente como para dejar recursos en la máquina para matar al proceso padre y para dejar recursos suficientes para las necesidades del usuario.
Una bomba fork no es una bomba lógica, ni tampoco un fallo del kernel, ni mucho menos se trata de algo "liberado por uno de los programadores del kernel". Tampoco es en sí mismo una vulnerabilidad (aunque sí pueda convertirse en alguna rara ocasión en un problema). De hecho en la inmensa mayoría de los casos no tiene ninguna importancia, y no pasa de ser una curiosidad. Ni siquiera cabe echar la culpa de su existencia a los responsables de tal o cual sistema operativo o distribución.
Fuentes: Wikipedia i Kriptópolis
Comandos de windows
Versión audio
Nunca viene mal aprender comandos de MSDOS, sistema operativo en el cual estaba basado Windows antiguamente (aunque se pueden seguir usando los comandos actualmente), porque, aunque Bash es tremendamente mejor y se usa en muchos más sistemas operativos, hay que saber de todo.
He aquí una lista de comandos útiles que podemos utilizar en Windows XP.
Para poder utilizarlos, debemos abrir la consola de comandos, o la ventanita de MS-DOS. En Windows XP, por ejemplo, podemos acceder a ella clickando en:
Inicio –> Ejecutar –> cmd o bien pulsando la tecla “Windows + R”
Con todos estos comandos, también podemos solicitar una ayuda, añadiendo uno de los siguiente parámetros: /? - /h a nuestra llamada.
Comandos de Archivos y sistemas de ficheros
cacls - Permite modificar los permisos de lectura y escritura en ficheros y carpetas
chkdsk - Comprueba el estado de una partición y repara los daños en caso de que encuentre alguno. Sin parámetros simplemente escanea e informa de errores. Para que además repare, añadimos el parámetro /F: chkdsk /F
cipher - Cifrado de datos en particiones NTFS
comp - Compara archivos o carpetas y muestra las diferencias existentes entre ellos
compact - Compresor de archivos. El parámetro para la compresión es /C, el parámetro para descomprimir es /U
convert - Conversor de particiones, convierte particiones FAT16 o FAT32 en particiones NTFS sin perdida de datos
defrag - Defragmentador de archivos
diskpart - Permite crear, eliminar y administrar particiones. Este programa en modo consola debemos utilizarlo con cuidado puesto que es fácil que eliminemos sin darnos cuenta todo el contenido del disco duro o de la partición activa
find y findstr - Comandos de busqueda de ficheros. findstr permite buscar cadenas de caracteres dentro de los archivos
iexpress - Asistente para crear comprimidos .CAB
openfiles - Muestra a un administrador los archivos abiertos en un sistema y permite desconectarlos si se han abierto a través de red
Comandos de Configuración e información del sistema
bootcfg - Configurador de arranque. Simplemente modfica el archivo boot.ini para indicar opciones de arranque
control userpasswords2 - Permite modificar las claves y los permisos de los diferentes usuarios, así como requerir la pulsación de control+alt+suprimir para poder iniciar sesión, haciendo el inicio de sesión más seguro
driverquery - Crea un informe sobre los dirvers instalados en el sistema. Muestra además información detallada de cada uno
dxdiag - Herramenta de diagnóstico de DirectX
gpresult - Información de las políticas de grupo aplicadas a un usuario
gpupdate - Actualizar las politicas de grupo
pagefileconfig - Configuración de la memoria virtual de Windows
prncnfg - Información sobre las impresoras instaladas
prnjobs - Información sobre los trabajos de impresión en cola
reg - Permite ver y modificar valores del registro de Windows. Opciones posibles:
reg query: consulta en el registro
reg add: añadir entrada
reg delete: eliminar entrada
reg copy: copiar clave en otro lugar del registro
reg save: guardar parte del registro
reg restore: restaura el registro
reg load: cargar valor o clave desde un archivo .reg
reg unload: descargar valor o clave
reg compare: comparar valores de registro
reg export: exportar registro a un archivo
reg import: importar registro a un archivo
sc - Administrador de servicios, podemos detenerlos, ejecutarlos, etc
sfc - Este comando permite buscar archivos del sistema dañados y recuperarlos en caso de que estén defectuosos (es necesario el CD de instalación del sistema operativo para utilizarlo). Para realizar una comprobación inmediata, deberemos ejecutar la orden sfc /scannow
systeminfo - Muestra información sobre nuestro equipo y nuestro sistema operativo: número de procesadores, tipo de sistema, actualizaciones instaladas, etc
taskkill - Permite matar procesos conociendo su nombre o su numero de proceso (PID)
Tasklist - Informe sobre los procesos ejecutados en el sistema
Comandos de Redes
arp - Muestra y permite modificar las tablas del protocolo ARP, encargado de convertir las direcciones IP de cada ordenador en direcciones MAC (dirección física única de cada tarjeta de red)
ftp - Cliente FTP en modo consola de comandos
getmac - Muestra las direcciones MAC de los adaptadores de red que tengamos instalados en el sistema
ipconfig - Muestra y permite renovar la configuración de todos los interfaces de red
nbtstat - Muestra las estadísticas y las conexiones actuales del protocolo NetBIOS sobre TCP/IP, los recursos compartidos y los recursos que son accesibles
net - Permite administrar usuarios, carpetas compartidas, servicios, etc. Para un listado completo de todas las opciones, escribir net sin ningún argumento. Para obtener ayuda sobre alguna opción en concreto, escribier net help opción
netsh - Programa en modo consola permite ver, modificar y diagnosticar la configuración de la red
netstat - Información sobre las conexiones de red de nuestro equipo
nslookup - Aplicación de red orientada a obtener información en los servidores DNS sobre un host en concreto
pathping - Muestra la ruta que sigue cada paquete para llegar a una IP determinada, el tiempo de respuesta de cada uno de los nodos por los que pasa y las estadísticas de cada uno de ellos
ping - Comando para comprobar si una máquina está en red o no
rasdial - Permite establecer o finalizar una conexión telefónica
route - Permite ver o modificar las tablas de enrutamiento de red
tracert - Informa sobre el camino que siguen los paquetes IP desde que sale de nuestra máquina hasta que llega a su destino
Comandos Miscelanea
at - Permite programar tareas para que nuestro ordenador las ejecute en una fecha o en un momento determinado
logoff - Comando para cerrar sesiones, incluso en equpos remotos
msg - Envía mensajes por la red a otros equipos
msiexec - Comando para ejecutar archivos de instalación .MSI
runas - Ejecución de programas como si fueras otro usuario
shctasks - Administrador de tareas programadas
shutdown - Comando para apagar, reiniciar el equipo. Es especialmente útil si hemos sido infectado con el virus Blaster o una de sus variantes para cancelar la cuenta atrás. Para ello, tan sólo tendremos que utilizar la sintaxis shutdown -a
Comandos de Microsoft Management Console (MMC)
Los siguientes comandos no son más que los accesos a cada sección de la MMC, que lanzarán una interfaz gráfica.
ciadv.msc - Permite configurar el servicio de indexado, que acelera las búsquedas en el disco duro
compmgmt.msc - Da acceso a la Administración de equipos, desde donde podemos configurar nuestro ordenador y acceder a otras partes de la MMC
devmgmt.msc - Administrador de dispositivos
dfrg.msc - Defragmentador de disco
diskmgmt.msc - Administrador de discos
fsmgmt.msc - Monitorización y Administración de los recursos compartidos
gpedit.msc - Políticas de grupo
lusrmgr.msc - Administración de usuarios
ntmsmgr.msc - Administración de dispositivos de almacenamiento extraibles
ntmsoprq.msc - Monitorización de las solicitudes de operador de medios extraibles
perfmon.msc - Monitor de sistema
secpol.msc - Configuración de seguridad local
services.msc - Administrador de servicios
wmimgmt.msc - Administador de WMI








