> For the complete documentation index, see [llms.txt](https://rodgar.gitbook.io/rodgar/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rodgar.gitbook.io/rodgar/othe/owasp-top-10/log-poisoning-lfi-greater-than-rce.md).

# Log Poisoning (LFI -> RCE)

El **Log Poisoning** es una técnica de ataque en la que un atacante **manipula** los **archivos de registro** (**logs**) de una aplicación web para lograr un resultado malintencionado. Esta técnica puede ser utilizada en conjunto con una vulnerabilidad **LFI** para lograr una **ejecución remota de comandos** en el servidor.

Como ejemplos para esta clase, trataremos de envenenar los recursos ‘**auth.log**‘ de **SSH** y ‘**access.log**‘ de **Apache**, comenzando mediante la explotación de una vulnerabilidad LFI primeramente para acceder a estos archivos de registro. Una vez hayamos logrado acceder a estos archivos, veremos cómo manipularlos para incluir código malicioso.

En el caso de los logs de SSH, el atacante puede inyectar código PHP en el campo de **usuario** durante el proceso de autenticación. Esto permite que el código se registre en el log ‘**auth.log**‘ de SSH y sea interpretado en el momento en el que el archivo de registro sea leído. De esta manera, el atacante puede lograr una ejecución remota de comandos en el servidor.

<figure><img src="/files/iobTMwnI5VG5Ey5lTAzY" alt=""><figcaption></figcaption></figure>

Bueno empezamos si contamos con permisos de lectura y como atacante podemos ver el access.log de apache podemos envenenar los logs y ganar acceso al sistma.

<figure><img src="/files/ibwNbZ9BMtHdoB5uwacd" alt=""><figcaption></figcaption></figure>

Vamos a probar todo lo tengo montado en un contenedor en local por eso dice localhost.

Bueno ahora que ya tenemos permisos de lectura a los logs de apache envenenamos esos logs usando curl el envenenamiento ocurre en el User-Agent, donde aca estamos enviando un whoami haber si lo interpreta.

<figure><img src="/files/9bRO0n4in5To0V2qT5p3" alt=""><figcaption></figcaption></figure>

Si recargamos los logs de apache observamos que las dos peticiones nos la interpreta y se nos muestra ques somo www-data en las dos que hemos enviado.

<mark style="color:red;">**Ahora como ganariamos acceso aprovechandonos de esto**</mark>

<figure><img src="/files/cTGD8ZvZNSwdeDk7cufv" alt=""><figcaption></figcaption></figure>

Bueno lo mismo enviamos una peticion pero en vez de whoami enviamos que queremos controlar con el parametro cmd que comando se ejecute a nivel de sistema.

<figure><img src="/files/LrfmjJP3HROrsCmsZ9rJ" alt=""><figcaption></figcaption></figure>

Ya teniendo una cmd mas o menos interactiva podemos ejecutar casi cualquien comando aca vemos que si le paso id nos dice en que grupos esta www-data.&#x20;

<figure><img src="/files/z3BWryEt499FOJpT6oBE" alt=""><figcaption></figcaption></figure>

Ahora viene lo chido ganar acceso al sistema, al parametro cmd le decimos que queremos enviarnos una revershell a nuestro equipo de atacante.&#x20;

<figure><img src="/files/VTi1KuEa5aj6km2FdPdm" alt=""><figcaption></figcaption></figure>

Estando en escucha con Netcat observamos que ganamos acceso al sistema como el usuario www-data.

Y bueno asi se explota un Log Poisoning.
