HTTP

Segundo capítulo del BootCamp, el primer paso será el reading list que contiene los siguientes enlaces: TCP/IPSecureSocketsLayerNotesDuringPentest. Una vez leída la información básica para ir aprendiendo los protocolos, servicios etc.. nos ponemos manos a la obra con los ejercicios prácticos.

Prácticas:

  1. Install Apache inside your vm, change the home page of the hosted site using vim. Access this page in your browser (on the host).
  2. Change your host file to access the Linux system under the following names: vulnerable.
  3. Write an HTTP client to retrieve the home page of your site using an http library (for example net/http in ruby).
  4. Write an HTTP client to retrieve the home page of your site using a socket.
  5. Download Burp Suite (free version) and visit a website and see what requests are sent and what responses are received.

El primer paso será la instalación de Apache en nuestro sistema Ubuntu, para ello utilizaremos los siguientes comandos mediante el terminal:

apache2install.png

Con esto ya lo tendremos instalado.

Una vez instalado modificamos el archivo index.html y hacemos una web muy simple para en los proximos ejercicios poderla recuperar mediante el cliente http que crearemos. Usamos vi para editar el index.html y ponemos las etiquetas html y el contenido a nuestro antojo.

vi indexhtml.png

El segundo paso nos dice que tenemos que cambiar el host file de acceso a nuestro sistema linux para ello ejecutamos los siguientes comando en la terminal: sudo vi /etc/hosts, hacemos un ifconfig y ponemos nuestra ip local en este caso y la llamamos vulnerable, nos quedaría de la siguiente manera:

etchosts.png

El tercer paso se trata de recuperar la web que hemos creado mediante un cliente básico HTTP, el lenguaje que he utilizado es Python ya que es el que venimos trabajando.

Basicamente lo que hace este script es importar la libreria http.client, crear la variable conexion y asignarle la función HTTPconnection (lo que hace esta función es conectar a nuestra web llamada vulnerable por el puerto por defecto que es el 80). Posteriormente realiza el request solicitando por el metodo GET que nos entregue el index.html, asignando la función getresponse a la variable response, para mostrarla por pantalla. Para mas info os dejo este enlace que es con el que yo saqué el cliente pythonHttpCliente.

httpclientpy.png

Probamos el cliente:

probandohttclient.png

El cuarto paso es más de lo mismo pero ahora nos pide hacerlo mediante sockets, simplemente hay que adaptar la terminología y conectar a nuestra página web para mostrarla por pantalla, este es el enlace con el cual hice el cliente pythonHttpSocket.

httpsocketpy.pngProbamos el cliente:

probandohttpsocket.png

El quinto y último paso es descagarse Burpsuite de su página web e instalarlo no tiene ningún misterio, configurar el proxy de nuestro navegador y jugar un rato con el programa para ver las peticiones GET, POST, las cabeceras de las distintas páginas web que estamos visitando para ir aplicando la teoría del primer capítulo del BootCamp.

Y hasta aquí la segunda entrega, nos vemos en la siguiente!.