Túnel SSH inverso

El escenario es el siguiente. Tenemos un equipo remoto C detrás de un cortafuegos, router o similar, que no podemos configurar y no permite conexiones entrantes, de tal manera que el equipo es inaccesible desde el exterior de la red en la que está. Otro equipo A, el nuestro, también está detrás de un cortafuegos, en otra red, que tampoco podemos configurar y tampoco permite conexiones entrantes. La buena noticia es que tenemos un servidor remoto B en otra red diferente al que sí tenemos acceso por SSH desde el equipo remoto C y desde el nuestro (el A). Tanto el equipo remoto C como el servidor B tienen un servidor SSH corriendo. ...

September 30, 2011 · 2 min · 409 palabras · Nacho Cano

Imagen a través de SSH

Si tenemos acceso por SSH a otro ordenador, ambos con entorno gráfico, podemos redirigir la pantalla, el teclado y el ratón en ambos sentidos, es decir, podemos conseguir cosas como: » aplicaciones remotas que se muestren en nuestro equipo » aplicaciones remotas que se muestren en el equipo remoto » aplicaciones locales que se muestren en el equipo remoto » recibir una captura de pantalla del equipo remoto » [enviar una captura de pantalla de nuestro equipo al equipo ...

September 28, 2011 · 5 min · 857 palabras · Nacho Cano

Descargar archivos de Megaupload desde el terminal con plowshare

plowshare es una herramienta diseñada para descargar y subir ficheros a los sitios de intercambio de ficheros más populares. También se pueden administrar directorios remotos y borrar enlaces. Instalación Primero, instalamos las dependencias: $ sudo aptitude install curl recode imagemagick tesseract-ocr-eng spidermonkey-bin rhino perlmagick aview Podemos descargar el código fuente desde el repositorio Git, en un tarball o en un paquete .deb: $ wget https://plowshare.googlecode.com/files/plowshare_1%7Egit20110914-1_all.deb $ sudo dpkg -i plowshare_1~git20110914-1_all.deb Descargando Para descargar un enlace de Megaupload, por ejemplo, escribimos: ...

September 18, 2011 · 2 min · 291 palabras · Nacho Cano

fwknop: Single Packet Authorization y port knocking

fwknop implementa un esquema de autorización llamado Single Packet Authorization (SPA). Mediante SPA necesita un único paquete cifrado para abrir puertos en el cortafuegos o llevar a cabo acciones en el sistema. Se utiliza en conjunción con un cortafuegos que impide la conexión a los puertos de los servicios que queremos proteger. De esta forma, se logra una capa extra de seguridad, ya que los hace permanecer invisibles, descartando silenciosamente los paquetes que llegan a dicho puerto. Para poder tener acceso a los servicios protegidos, la parte servidor de fwknop esnifa pasivamente los paquetes que llegan al servidor usando libpcap y, en caso de recibir de parte del cliente de fwknop un paquete cifrado válido que no ha sido recibido antes, se permite el acceso a través del cortafuegos. ...

September 18, 2011 · 8 min · 1506 palabras · Nacho Cano

HTTP Strict Transport Security

HTTP Strict Transport Security (HSTS) es un mecanismo de seguridad web donde el servidor exige que las conexiones se realicen únicamente mediante conexiones seguras. El servidor informa de esta política de seguridad utilizando la cabecera Strict-Transport-Security, en donde se especifica el periodo durante el cual las conexiones seguras son obligatorias. Si una web proporciona acceso seguro (HTTPS) pero accedemos de forma no segura (HTTP) podría suceder que nos redirija a la versión segura, sin embargo, ya se había iniciado una conversación sin cifrar. Este comportamiento puede ser explotado por un ataque Man-In-The-Middle. ...

September 11, 2011 · 2 min · 270 palabras · Nacho Cano

Últimos paquetes instalados

En el fichero /var/log/dpkg.log se registran las operaciones sobre los paquetes que tenemos en el sistema: instalaciones, actualizaciones, eliminaciones, etc. Para obtener una lista de los últimos paquetes instalados ejecutamos: $ cat /var/log/dpkg.log* | grep " install " | sort ... 2011-08-24 12:11:04 install linux-image-2.6.38-11-generic-pae < ninguna> 2.6.38-11.48 2011-08-24 12:11:27 install linux-headers-2.6.38-11 < ninguna> 2.6.38-11.48 2011-08-24 12:11:33 install linux-headers-2.6.38-11-generic-pae < ninguna> 2.6.38-11.48 2011-08-26 18:25:40 install libcgal5 < ninguna> 3.6.1-2ubuntu2 2011-08-26 18:25:41 install libopencsg1 < ninguna> 1.3.1-4 2011-08-26 18:25:42 install openscad < ninguna> 2011.06-1+natty1

August 27, 2011 · 1 min · 83 palabras · Nacho Cano

Evitando el hotlinking

Si tenemos una página web que contiene imágenes, tarde o temprano, alguien terminará mostrándolas en otro sitio, enlazándolas directamente y utilizando nuestro ancho de banda. Vamos, lo que se conoce como hotlinking. La siguiente técnica se basa en el valor de la variable HTTP_REFERER, la cual es opcional, por lo que podría ser posible saltársela. Sin embargo, la mayoría de las veces impedirá el hotlinking. Como contrapartida, si alguien pone un enlace a una imagen, un usuario no podrá verla pulsando en el enlace, ya que el navegador incluirá como referer una URL externa y será bloqueada por el sistema. ...

August 16, 2011 · 3 min · 471 palabras · Nacho Cano

SSH over HTTP-Proxy

A veces, queremos poder navegar o chatear por Internet pero no queremos que nadie pueda conocer, ni bloquear, las páginas que visitamos o espiar nuestras conversaciones, bien porque porque estamos en el trabajo, la universidad o en una red abierta. En la red a la que estamos conectados puede que utilicen un proxy para controlar y bloquear servicios. Este bloqueo podría ser por puerto o por protocolo. Es posible que bloqueen algunas URLs, o IPs, pero seguramente tenemos acceso a la web, es decir, los puertos 80 y 443. Crearemos un túnel seguro para poder navegar seguros y evitar estas restricciones. Eso sí, puede que aparezca en algún log que nos hemos conectado a nuestra máquina remota. ...

August 15, 2011 · 5 min · 950 palabras · Nacho Cano

Obteniendo la IP pública, la IP privada y la dirección MAC en Bash

En los scripts que escribimos, a menudo, es necesario conocer la IP pública de nuestra red, o la IP privada y la dirección MAC de una interfaz de red. Con el comando ifconfig podemos conocer la información de las interfaces de red: $ ifconfig eth0 Link encap:Ethernet direcciónHW 00:11:22:33:44:55 Direc. inet:192.168.0.30 Difus.:192.168.0.255 Másc:255.255.255.0 Dirección inet6: fe80::203:dff:fe3c:f419/64 Alcance:Enlace ACTIVO DIFUSI–N FUNCIONANDO MULTICAST MTU:1500 Métrica:1 Paquetes RX:1627 errores:0 perdidos:0 overruns:0 frame:0 Paquetes TX:1067 errores:0 perdidos:0 overruns:0 carrier:0 colisiones:0 long.colaTX:1000 Bytes RX:560137 (560.1 KB) TX bytes:235094 (235.0 KB) Interrupción:19 Dirección base: 0xc800 eth1 Link encap:Ethernet direcciónHW 00:11:22:33:44:66 DIFUSI–N MULTICAST MTU:1500 Métrica:1 Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0 Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0 colisiones:0 long.colaTX:1000 Bytes RX:0 (0.0 B) TX bytes:0 (0.0 B) Interrupción:21 Dirección base: 0x8000 Memoria:ffcfe000-ffcfefff lo Link encap:Bucle local Direc. inet:127.0.0.1 Másc:255.0.0.0 Dirección inet6: ::1/128 Alcance:Anfitrión ACTIVO BUCLE FUNCIONANDO MTU:16436 Métrica:1 Paquetes RX:3299 errores:0 perdidos:0 overruns:0 frame:0 Paquetes TX:3299 errores:0 perdidos:0 overruns:0 carrier:0 colisiones:0 long.colaTX:0 Bytes RX:355696 (355.6 KB) TX bytes:355696 (355.6 KB) Sin embargo, si queremos utilizar el dato en concreto—la IP privada o la dirección MAC—, necesitaremos trabajar un poco la salida que muestra ifconfig. ...

August 14, 2011 · 5 min · 1051 palabras · Nacho Cano

Utilizar SSH para establecer un servidor proxy SOCKS

Un proxy SOCKS es un servidor que permite el acceso, normalmente, a través de un cortafuegos. Podemos utilizar SSH para crear un proxy SOCKSv5 en local, de tal manera que si configuramos una aplicación para que se conecte a través de este proxy, todo el tráfico vaya a través del canal seguro creado por SSH, y sea como si la conexión con dicha aplicación se hiciera en la máquina remota a la cual nos hemos conectado por SSH. Además, podemos utilizarlo con varias aplicaciones y diferentes protocolos. ...

August 12, 2011 · 5 min · 1038 palabras · Nacho Cano