Página 19 de 51

Tip: Mantener sesiones ssh activas con autossh

autossh (1) – monitor and restart ssh sessions

Esta herramienta es muy util cuando queremos mantener las sesiones activas y mantener los tuneles que hemos hecho con ssh. En simples palabras lo que hace este programita es monitorear la sesión y cuando se pierde la conexion, vuelve a conectarse.
Lo ideal es trabajar con llaves públicas/privadas para autenticarse con el servidor, para que al intentar restablecer la conexion no pida la contraseña. Le pasamos a “autossh” los mismos parámetros que a ssh, por ejemplo:
autossh -L5022:10.0.0.11:22 -L5023:10.0.0.15:22 -L5024:10.0.0.20:22 10.0.0.1
Para hacer un bind de puertos locales a distintas maquinas remotas. O
autossh -R2200:localhost:22 example.com
Para hacer bind de puertos remotos hacia nuestra maquina local.

Link: https://www.harding.motd.ca/autossh/

[PoC] Cifrado del historial de bash (.bash_history)

El otro día, en mis momentos de ocio, se me ocurrio buscar una forma de cifrar el historial de comandos que guarda bash. Hay servidores que sólo tenemos -o hemos ganado- acceso como usuarios, y no nos gusta que el administrador (root) vea lo que hacemos o los comandos que hemos ejecutado. Existen varias formas de ir contra eso, por ejemplo eliminar el bash_history o bien editarlo cada vez que hacemos algo que no queremos que sepan. Esta forma es un poco mas rebuscada y busca cifrar mediante GPG el historial, de manera tal que el root no podrá leer lo que dice el archivo.

La logica es bastante simple:

  1. Cuando ingresamos (login) a nuestra cuenta desciframos el bash history usando nuestra clave privada
  2. Cuando salimos (logout) ciframos el archivo con nuestra clave publica.

Para lograrlo vamos a necesitar tener una clave gpg y configurar el comportamiento del login y logout con unos scripts que les mostraré a continuación.

Seguir leyendo

Tethering con un BlackBerry 8520 en Archlinux via bluetooth

Si bien lo probé con Archlinux, tambien hay evidencias que funciona en Debian aunque, independiente de la distribución, debería funcionar para cualquiera. Tambien debería funcionar con cualquier celular que soporte “Dial Up“.
Debemos tener instaladas las herramientas de bluetooth: bluez-utils bluez-libs dbus wvdial

Primero, debemos poner el bluetooth del teléfono en modo escucha y escanearlo con nuestro disponisitivo, para ver si soporte el modo.

[root@balcebu zerial]# hcitool scan
Scanning ...
F4:0B:93:DB:90:FF BlackBerry 8520
[root@balcebu zerial]#

Y vemos si soporta el modo Dial Up

root@balcebu zerial]# sdptool browse F4:0B:93:DB:90:FF
Browsing F4:0B:93:DB:90:FF ...
[...]
Service Name: Dialup Networking
Service RecHandle: 0x10000
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
[...]

En este caso soporta, en el canal 1.

Seguir leyendo

0-day: SQL Injection en sitio web de Joomla

La vulnerabilidad afecta al sitio web “J!People: Network with Friends” de Joomla.org.

El error se produce en el archivo events.html al no filtrar la variable “groupid”, pudiendo generar un error que nos mostrará información relevante para poder hacer la inyección de código SQL.

URL original: https://people.joomla.org/events.html?groupid=44
Inyección SQL: https://people.joomla.org/events.html?groupid=1%20or%201=0%20union%20select%20all%201,2,3,4,5,6,7;%20–


No descarto que esta vulnerabilidad sea parte de una extensión, plugin o módulo y que pueda afectar a otros sitios que lo implementen.

EDITADO: (29/diciembre/2010) Joomla corrige la vulnerabilidad

Multiples vulnerabilidades en sitio web de Terra

Vulnerabilidades del tipo XSS, SQL Injection y Full Path Disclosure tiene el sitio web de Terra Networks Chile, estas vulnerabilidades las encontré el Sábado 25 de Diciembre y reportada el 27.

Las URL vulnerables corresponden al buscador de terra: buscador.terra.cl; al sitio de “seguridad”: seguridad.terra.cl; sitio web mobil:m.terra.cl; sitio web principal:www.terra.cl;y un sub-portal: acaballo.terra.cl

Timeline
* 25/Diciembre/2010: Se encuentran las vulnerabilidades.
* 27/Diciembre/2010: Se reportan.
* 28/Diciembre/2010: No se obtiene respuesta. Se publican.

Seguir leyendo

[Tip] AND (&&) y OR (||) en bash

Parece algo muy simple, pero estoy seguro que muchos no lo saben: Usar los operadores lógicos && y || al momento de crear scripts o ejecutar comandos en bash.
Podemos condicionar la ejecución de un comando en función de otro; por ejemplo, si falla el primer comando, entonces no ejecuto el segundo, o bien, si no se ejecuta el primero entonces ejecuto el segundo, dependiendo de lo que necesitemos.
Ejemplos:

Ejecutar el comando2 solo si se ejecuta el comando1:
$ comando1 && comando2

Ejecutar el comando2 solo si no se ejecuta el primero
$ comando1 || comando2

Sería así:
[zerial@balcebu ~]$ comando1 || echo "Como comando1 no existe, entonces ejecuto el echo"
bash: comando1: command not found
Como comando1 no existe, entonces ejecuto el echo
[zerial@balcebu ~]$ echo "El primer echo se ejecuta, pero el segnudo no" || echo "Como comando1 no existe, entonces ejecuto el echo"
El primer echo se ejecuta, pero el segnudo no
[zerial@balcebu ~]$

Es muy útil cuando queremos programar scripts para ejecutar tareas condicionadas a otros comandos.