Todos sabran que en Debian desde etch se puede usar apt via ssl, y
adicional desde wheeze se puede usar repositorios con paquetes firmados
con gpg en todos los archivos y no solo en el dsc/changelog, bueno hoy
hay uan vulnerabilidad que afecta toda version vieja, aunque ya resuelta rapidamente y lista en los repos.. nada de que preocupar, bravo Debian.. pero veamos como funciona....
Max Justicz Encontro una vulnerabilidad en apt que permite con la tecnica "man in the middle" (o intermediario o a una réplica de un paquete malicioso) ejecutar código arbitrario como root en una máquina que instala cualquier paquete (esto porque los scripts post-ejecucion y la instalacion siemrpe es como root). MAs abajo en este articulo se explica como se ejcuta.
Evidentemente la excelente Debian corrigio esto casi inmediatamente, sin embargo para los que tienen Wheeze (ya que no afecta a squeeze/lenny/etch) con esto se mitiga:
$ sudo apt update -o Acquire::http::AllowRedirect=false
$ sudo apt upgrade -o Acquire::http::AllowRedirect=false
Esto hace que los repositorios no permitan redirecciones (ejemplo la ip realmente es otro server en otro lado y los reencamina a ese otro lado).
Sin embargo esto impide actualizaciones, tendrá que elegir diferentes réplicas o descargar el paquete directamente si es asi.
Esto es un avance mas no
muy notable .. pero grande acerca otras distros.. recientemente se esta
discutiendo si esto aplica a alpine linux aqui el irc log:
15:32]
<EuroDomenii> Thanks for the tips. I'm quite new to alpine.
Anyway, it's may worth the vulnerability mechanism in debian, to check
if it applies to alpine
[15:32] <@clandmeter> EuroDomenii: some insight on that sec issue you mentioned https://git.alpinelinux.org/apk-tools/commit/?id=6484ed9849f03971eb48ee1fdc21a2f128247eb1
[15:33] <mps> also, in Debian if someone add package with 'rm -rf /' in post-install you are doomed
[15:32] <@clandmeter> EuroDomenii: some insight on that sec issue you mentioned https://git.alpinelinux.org/apk-tools/commit/?id=6484ed9849f03971eb48ee1fdc21a2f128247eb1
[15:33] <mps> also, in Debian if someone add package with 'rm -rf /' in post-install you are doomed
...practicamente
dice que ahora en el apk todo paquete sera ultra revisado temporalmente
y adicional acota que si en los scripts de instalacion se agrega un
comando perjudicial, este aplicara sin problema alguno destruyendo el
sistema si no se realizan verificaciones
...la
seguridad contra esto viene de la cara de apt al firmar, proteger y
certificar el origen de lso paquetes.. por eso es que siempre se debe
usar los repos de manera firmada.. porque auqnue el servidor sea de
confianza.. si hay algun atacante con tecnicas "man in the middle"
alterara el flujo y podra hasta sustituir los request entregando
responses falsos o alterados..
COMO ES EL ASUNTO DE EJECUCION REMOTA POR APT:
Como prueba de concepto, abajo hay un video del autor original explotando el siguiente Dockerfile:
FROM debian:latest
RUN apt-get update && apt-get install -y cowsay
Cuando se obtienen datos, apt desvía los procesos de los procesos que se especializan en los distintos protocolos que se utilizarán para la transferencia de datos. El proceso padre se comunica con estos hilos/hijos a través de stdin/stdout para decirles qué descargar y dónde ponerlo en el sistema de archivos usando un protocolo que se parece un poco a HTTP.
Por ejemplo, cuando se ejecuta apt install cowsay en una máquina usando repos servidos sobre HTTP, apt desactivará /usr/lib/apt/methods/http, lo que devuelve un mensaje de capacidades que recae en devolucion de los hilos/hijos con mensajes de redireccion, el asunto resumido dice que cuando el servidor HTTP responde con una redirección, el proceso del hilo/hijo devuelve un redireccionamiento 103 en lugar de un URI 201 completado, y el proceso padre utiliza esta respuesta para averiguar qué recurso debe solicitar a continuación:
103 Redirect
URI: http://deb.debian.org/debian/pool/main/c/cowsay/cowsay_3.03+dfsg2-3_all.deb
New-URI: http://example.com/new-uri
Desafortunadamente, la URL del proceso de obtención de HTTP decodifica el encabezado de Ubicación HTTP y lo agrega ciegamente a la respuesta de Redireccionamiento 103 donde el atacante puede inyectar el nuevo hash delnuevo uri cambiado.
El proceso padre confiará en los hashes devueltos en la respuesta inyectada 201 URI completado, y los comparará con los valores del manifiesto de paquete firmado. Dado que el atacante controla los hashes reportados, puede usar esta vulnerabilidad para falsificar cualquier paquete de forma convincente.
El proceso es ilustrado en el video del autor aqui sigueinte:
..
Comentarios
Publicar un comentario