Apache es uno de los servidores web más utilizados en el mundo, en este post explicaré como compilar nuestro servidor desde su código fuente para poder ejecutar este con permisos de root, de esta manera podremos ejecutar comandos que requieran permisos de root a través del servidor web utilizando por ejemplo scripts CGI que nos permitiesen tocar la configuración de la red convirtiendo nuestro equipo en un router con un entorno web. Pero esto es posible si Apache tiene permisos especiales que no son “comunes” y por lo tanto hay que compilarlo de una forma particular.

Comencemos.

  1. Descargamos el código fuente de Apache 1.3.41.
  2. Lo descomprimimos en nuestra carpeta personal
  3. Mediante una terminal nos posicionamos en la carpeta recién extraída
  4. Y con estas tres lineas lo compilaremos y lo instalaremos

$ ./configure –prefix=ruta_de_instalación
$ make
$ make install

Debemos asegurarnos que tengamos permisos para escribir en ruta_de_instalación (ej /home/usuario/webserver) y de esta forma ya tendremos nuestro servidor web listo para ser configurado y levantado, aunque todavía resta darle permisos de root a nuestro servidor. Para ello debemos compilar el ejecutable que da arranque a nuestro servidor (httpd) nuevamente de la siguiente forma.

Nos dirigirnos a la carpeta /src que se encuentra en el código fuente que descomprimimos hace un momento y editamos el archivo Configuration y en la linea donde aparece

EXTRA_CFLAGS=

agregamos la linea

-DBIG_SECURITY_HOLE

(esa linea es premonitoria, ¿no?)

Quedando de la siguiente manera

EXTRA_CFLAGS=-DBIG_SECURITY_HOLE

Ahora, estando en la carpeta /src del código fuente descargado, y desde una terminal, ejecutamos

$ ./Configure
$ make

Estos comandos compilaran un ejecutable httpd ubicado en /src (en la carpeta del código fuente) el cual tendrá la particularidad de ejecutar apache en modo root.
Luego, debemos editar el archivo httpd.conf ubicado en /ruta_de_instalacion/conf/ en el cambiaremos las lineas

User nobody
Group no group

por

User root
Group root

Luego debemos copiar el ejecutable httpd generado antes a la carpeta “ruta_de_instalacion”, una vez allí, ejecutamos

$ sudo /ruta_de_instalacion/./httpd -f /ruta_de_instalacion/conf/httpd.conf

Y de esta manera estaremos sirviendo paginas web como root.

CUIDADO! De esta manera podríamos dar fácil acceso a personas no gratas, hagan esto bajo su propio riesgo.

Anuncios