Empathy no conecta a MSN.

Muchos de vosotros quizás no conozcais clientes de la red de msn messenger más lejos que aMSN…

aMSN en realidad funciona muy bien, pero no tanto cuando tienes una lista de contactos bastante extensa. El consumo de cpu sube por las nuves y si se trata de un ordenador portatil (funcionando con bateria) esto conlleva a que la bateria no durará mucho tiempo.

Mi uso con msn messenger es más bien básico, solamente escribir, algun emoticono que otro, y poco más. He estado buscando alternativas aMSN y he encontrado Empathy.

Empathy es un proyecto para crear un cliente de mensajeria maduro y funcional y lo estan consiguiendo.

Asi que, quisé instalarlo con mi gentoo, y lo hicé simplemente con un:

emerge empathy

Una vez terminada la compilación abrí empathy y cree mi cuenta. Pero una vez estaba todo configurado, que lástima empathy no conectaba..

Aparecia el siguiente mensaje: ` no se especifico ninguna razon `

La solución la encontré indagando por internet y es sencilla, solamente debemos cambiar una linea.

Si utilizas gentoo haz lo siguiente:

gedit /usr/lib/python2.6/site-packages/papyon/service/description/SingleSignOn/RequestMultipleSecurityTokens.py

si utilizas ubuntu lo siguiente:

sudo gedit /usr/share/pyshared/papyon/service/description/SingleSignOn/RequestMultipleSecurityToken.py

y cambiamos la linea:

1. CONTACTS = («contacts.msn.com», «?fs=1&id=24000&kv=7&rn=93S9SWWw&tw=0&ver=2.1.6000.1»)

por esta otra:

CONTACTS = («contacts.msn.com», «MBI»)

Cerramos empathy completamente, introducimos en consola:

killall empathy

Ahora ya podremos conectarnos sin problemas a nuestra cuenta de msn messenger.

Disfruten de empathy!

Un saludo.

Fuentes: http://www.isnull.com.ar/2010/11/solved-ubuntu-1010-empathy-not.html

Share

Intento Hack Asterisk. Fuerza Bruta contra Asterisk

Hoy me encontraba navegando tranquilamente y monitorizando todos los servidores propios, cuando de repente en la consola de asterisk me aparece lo siguiente:

[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5465″<sip:5465@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5466″<sip:5466@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5467″<sip:5467@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5468″<sip:5468@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»44114411″<sip:44114411@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5469″<sip:5469@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5470″<sip:5470@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»44124412″<sip:44124412@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5471″<sip:5471@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5472″<sip:5472@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5473″<sip:5473@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»44134413″<sip:44134413@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5474″<sip:5474@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5475″<sip:5475@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5476″<sip:5476@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»44144414″<sip:44144414@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5477″<sip:5477@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5478″<sip:5478@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5479″<sip:5479@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5480″<sip:5480@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5481″<sip:5481@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5482″<sip:5482@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5483″<sip:5483@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5484″<sip:5484@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5485″<sip:5485@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5486″<sip:5486@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5487″<sip:5487@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5488″<sip:5488@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5489″<sip:5489@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5490″<sip:5490@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5491″<sip:5491@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5492″<sip:5492@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5493″<sip:5493@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5494″<sip:5494@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5495″<sip:5495@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found

Es obvio que estan atacando a nuestro asterisk con un ataque Brute Force (Fuerza bruta).
Seguro que no es ningúna persona fisica si no cualquier máquina comprometida con software instalado para tal fin
(Encontrar máquinas con asterisk y realizár ataques de fuerza bruta).
Con la cual pueden intentar millones de combinaciones para autentificarse en nuestro Asterisk.

La ip que generaba esto era la: 139.153.12.78 y según he podido averiguar es de una universidad de UK la cual tiene asignado un rango de ips que es el siguiente:

139.153.0.0/16

La solución fué sencilla, para este tema, Iptables como no 😛

iptables -t filter -A INPUT -s 139.153.0.0/16 -j DROP

Todo el tráfico que venga de ese rango, lo dropeará.

Ya he informado a la gente que administra dicha red y se han puesto manos a la obra para solventar el problema.

Saludos.

Share

Asterisk. Audio en un solo sentido llamadas entrantes. Incoming Calls

Hola.

Sigo con mi implementación de asterisk en gentoo y vengo a contar como solucionar un problemita con este…

Actualmente estoy saliendo a la Red Telefonica Básica (RTB), red de telefonia de toda la vida, por un proveedor voip.
Para enrutar llamadas por este, no hubo más problemas. Registrar nuestro asterisk con el proveedor, añadir un canal para este en sip.conf y crear un dialplan para sacar llamadas por ahi y FIN.

El problema no era ese, el problema era al intentar recibir llamadas. Tengo varios numeros DID asignados a varias extensiones de mi asterisk con lo cual es fundamental que puedan entrar llamadas, y estas lo hacian, pero solo tenia audio en 1 sentido (de dentro hacia fuera), el usuario que me llamaba yo no lo podia escuchar, el a mi perfectamente…

*Problema de NAT no era, ya que estaba trabajando fuera de un entorno con NAT
**por lo menos por mi parte, parece ser que por la del operador de números DID no

Lo primero que hice en este caso fué entrar a la consola de asterik:

asterisk -r

Y hacer un debug del protocolo RTP para ver que es lo que estaba pasando con los paquetes….

rtp set debug on

He aqui el resultado:

Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014191, ts 392580221, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026450, ts 392580216, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014192, ts 392580381, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026451, ts 392580376, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014193, ts 392580541, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026452, ts 392580536, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014194, ts 392580701, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026453, ts 392580696, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014195, ts 392580861, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026454, ts 392580856, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014196, ts 392581021, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026455, ts 392581016, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014197, ts 392581181, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026456, ts 392581176, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014198, ts 392581341, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026457, ts 392581336, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014199, ts 392581501, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026458, ts 392581496, len 000160)
Got  RTP packet from    192.168.10.15:16406 (type 08, seq 014200, ts 392581661, len 000160)
Sent RTP packet to      46.19.209.78:17962 (type 08, seq 026459, ts 392581656, len 000160)

Me pusé a leer de cabo a rabo el fichero sip.conf que trae asterisk de ejemplo y me encuentro con:

;directmedia=yes                ; Asterisk by default tries to redirect the
; RTP media stream to go directly from
; the caller to the callee.  Some devices do not
; support this (especially if one of them is behind a NAT).
; The default setting is YES. If you have all clients
; behind a NAT, or for some other reason want Asterisk to
; stay in the audio path, you may want to turn this off.

Nos dice que asterisk querrá establecer una conexión DIRECTA con el usuario que llama y el usuario que contesta a la llamada. Esto no es soportable por algunos dispositivos,especialmente si estan detrás de NAT…….. Esta opción es interesante cuando nos encontramos en un entorno LAN sin dispositivos NAT por enmedio, ya que la comunicación se hará directamente entre los 2 interlocutores. Si hay dispositivos NAT por enmedio es MUY recomendable desactivar dicha opción. (por defecto directmedia esta en YES)

Ahi tenia la respuesta…directmedia estaba en yes por defecto…. fuí al fichero sip.conf y añadí:

[general]
directmedia=off

Reinicio asterisk con:

asterisk -r
core restart now

……..Realizo la llamada desde el exterior, descuelgo el telefono que suena y olalalal!!!!! funcióna el audio en 2 sentidos..
Si ahora hacemos un: debug de rtp observamos lo siguiente….

Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)
Sent RTP P2P packet to 46.19.209.76:19818 (type 08, len 000160)
Sent RTP P2P packet to 192.168.10.15:16410 (type 08, len 000160)

Esto es todo por hoy, espero que mis cabezazos contra la pared impidan que otros se los de por esto jeje.

Un saludo.

Share

[Asterisk] No se registran los usuarios SIP

Hola.

Ayer publiqué una receta para instalar asterisk en gentoo de un plumazo, ya que me tope con la instalación de asterisk en un pc gentoo.

Horas más tarde esto se complicó un poco y misteriosamente los clientes SIP no conectaban con asterisk :S :S :S .

Estube haciendo las pruebas con Sjphone en la misma máquina que corria Asterisk pero nada…

Lo primero que hicé fué ver si verdaderamente el daemon de asterisk estaba escuchando en el puerto 5060, que lo pude corroborar enseguida:

netstat -tupl:

4257/asterisk
udp        0      0 *:5060                  *:*

Asterisk si estaba escuchando en el puerto 5060, osea todo estaba correcto… o casi todo..

Empecé un fichero ‘sip.conf‘ y ‘extensions.conf‘ totalmente desde 0 pero tampoco era la solución….

Cuando de repente se me ocurrió teclear »dmesg» para ver los mensajes del sistema y me encuentro con esto:

[   88.492694] nf_ct_sip: dropping packetIN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=449 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=1000 DPT=5060 LEN=429 UID=0 GID=0
[   88.993099] nf_ct_sip: dropping packetIN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=449 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=1000 DPT=5060 LEN=429 UID=0 GID=0
[   89.992296] nf_ct_sip: dropping packetIN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=449 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=1000 DPT=5060 LEN=429 UID=0 GID=0
[   91.992871] nf_ct_sip: dropping packetIN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=449 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=1000 DPT=5060 LEN=429 UID=0 GID=0

Nf_sip estaba dropeando paquetes con destino al puerto 5060… Entonces supusé que ese era el problema…

LA SOLUCIÓN (1) – La sencilla

echo «blacklist nf_nat_sip» >> /etc/modprobe.d/blacklist.conf

echo «blacklist nf_conntrack_sip» >> /etc/modprobe.d/blacklist.conf

reboot

Esto lo que hará es meter en la «lista negra» blacklist, los modulos nf_nat_sip y nf_conntrack_sip para que el kernel no los carge al inicio del sistema…

Esta solución funcionaria si dichos modulos estan seleccionados en el archivo .config del kernel como modulos…

¿¿La SOLUCIÓN (2)?? – Si NO los tenemos cmo modulos (<M>)

Ir a –> /usr/src/linux

Editar el archivo: .config

Cambiar las lineas:

CONFIG_NF_CONNTRACK_SIP

CONFIG_NF_NAT_SIP

###Por estas:

# CONFIG_NF_CONNTRACK_SIP is not set

# CONFIG_NF_NAT_SIP is not set

Guardar los cambios en .config

make && make modules_install && make install

cp arch/x86/boot/bzImage /boot/NOMBREKERNEL

reboot

– – NOMBREKERNEL: se sustituye por la imagen del kernel donde apunte grub (grub.conf)


Con esto desabilitamos totalmente la carga de los modulos CONFIG_NF_CONNTRACK_SIP y CONF_NAT_SIP en el kernel y se solucionaria nuestro problema.

Un saludo y espero que sirva de ayuda.

Bye!

Share

Instalar Asterisk en Gentoo. !! De un Plumazo !!

Hola.

Hoy he tenido que realizár una instalación de asterisk sobre una pc con gentoo. Ha sido sencillo, he tenido que desenmascarar todo lo relacionado con asterisk y emerger asterisk.

Para los más perezosos se lo dejo a golpe de copy & paste 😛

emerge –sync
echo «net-misc/asterisk ~x86» >> /etc/portage/package.keywords
echo «net-misc/asterisk-addons ~x86» >> /etc/portage/package.keywords
echo «net-misc/asterisk-core-sounds ~x86» >> /etc/portage/package.keywords
echo «net-misc/asterisk-extra-sounds ~x86» >> /etc/portage/package.keywords
echo «net-misc/asterisk-moh-opsound ~x86» >> /etc/portage/package.keywords
echo «net-misc/asterisk-extra-sounds alaw g722 g729 ulaw wav» >> /etc/portage/package.use
echo «net-misc/asterisk-moh-opsound alaw g722 g729 ulaw wav» >> /etc/portage/package.use
echo «net-misc/asterisk-core-sounds alaw g722 g729 ulaw wav» >> /etc/portage/package.use
emerge net-misc/asterisk net-misc/asterisk-addons

Solamente…Copiar & pegar y listo!

Un saludo.

Share

[Asterisk] Asterisk. Peer, User y Friend. Apuntes

Hola.

Lo que hoy publicaré quizá le sirva de ayuda a más de uno.

Son simplemente apuntes de Asterisk para una fácil comprensión de:

User

Peer

Friend

A simple vista parece sencillo:

User: Llamada que se autentifica con nuestra PBX (Centralita).  -Llamada ENTRANTE

Friend: Llamada entrante y saliente. Un usuario de tipo ‘Friend’ podria realizár llamadas y recibir llamadas.

Peer: En principio, es una llamada SALIENTE.

Cuando la llamada hacia nosotros se realiza desde un telefono normal (PSTN normal, linea de telefono normal) y va «directo» hacia nuestro Asterisk, seria Peer, sin duda.

(*) Pero cuando la llamada proviene de algun proxy sip, bien un proveedor sip externo o un terminal IP como pueda ser un Adaptador ATA tambien entraria en la sección de llamada ‘Peer‘.

Los conceptos se podian resumir (sin tener encuenta la excepción (*) ).  En que:

– Los ‘Users‘ son los que nos llaman, y nosotros llamamos a los ‘Peers‘.  Friend seria recibir y enviar llamadas.

Como para algunos puede ser algo confuso, les explicaré mejor esto, con unos ejemplos «»»gráficos»»»».

ejemplo

Perdonar por el pequeño fallo en la imagen ‘rutamos‘, seria «ENRUTAMOS«

En resumen, una llamada saliente siempre es tipo “peer”, una
llamada entrante puede ser tipo “user”, o tipo “peer” cuando la llamada entrante procede de un proxy.

Cuando hablamos de que «provenga de un proxy» puede ser que la llamada venga de un proveedor SIP o que la llamada provenga de un terminal IP como cualquier equipo ATA. (observar ejemplo)

Ojalá les sirva.

Un saludo.

Share

Tormentas Broadcast (ARP Storm). Descubriendo el pc infectado

Hola.

En este articulo les enseñaré como descubrir el dispositivo que tantas peticiones  broadcast esta generando y tanto dolor de cabeza nos esta creando.

No vamos a utilizar ningún software milagroso ni nada excepciónal, nos valdremos de nuestro entorno bash, tcpdump y algo de ingenio con bash scripting…..

1 – Nuestro primer objetivo es ver el tráfico arp de nuestra red con tcpdump…
Sigue leyendo

Share

Tuneles: Conexiones INseguras convertidas en seguras

Hola. Esta vez vengo con un paper que a muchos les podra servir de útlidad. Vamos a hablar de los tuneles.

La definición & comprensión, al principio puede ser algo complicado, con lo que intentaré ser lo más claro posible.

¿Que es un Túnel?

Un tunel en la informática tiene el mismo significado que un túnel en nuestro lenguaje humano. Se trata de transportar un protocolo dentro de otro, y es lo que vamos a hacer a continuación.

No me quedo muy claro…

Vamos con un ejemplo entonces.

Imagina que la gente viaja en coche por un tramo, y este tiene gran porcentaje de accidentes con coche.

Por otro lado tenemos el tren por ejemplo que es mucho más seguro y los accidentes por este medio de transporte han sido muchisimos menos, con lo que es más seguro.

¿Que se haria si quisieramos bajar ese porcentaje de accidentes en ese tramo?

Lógicamente, meteriamos el coche dentro del tren y este, pasaria el tramo que es tan peligroso para el coche. Con esto  hemos creado un «tunel», hemos metido el coche dentro del tren para utilizar los beneficios del tren para nuestro vehiculo el coche….

Esto es exáctamente lo que vamos a hacer en este paper, utilizar ssh para obtener las grandes ventajas de su criptografia y asi que nuestras contraseñas/tráfico no viajen por la red en texto plano (totalmente legible).

Los pasos de la conexión

Los pasos que se siguen para crear un túnel son los siguientes:

– El cliente ssh (putty en este ejemplo), conecta con el servidor ssh. Este nos pide user y pass y lo introducimos.

– Una vez logeados correctamente, el serivdor ssh conecta con nuestra máquina por el puerto que hemos querido realizár el tunel.  Se realiza una conexión inversa (reverse). El servidor conecta con el cliente, y le facilita el servicio del túnel creado (en este caso Cpanel, puerto 2550).

Creando el túnel


Para crear el túnel necesitamos una ip de un servidor ssh que tengamos (en este caso 192.168.0.1).

– El puerto de que servicio queremos hacer el túnel (en este caso quiero hacerlo de un panel de control Cpanel que funciona por el puerto 2550)

– Abrir la conexión con el servidor ssh, logearnos con nuestros datos y mantener la sesión activa para que el túnel con el servidor ssh —–> nuestra máquina.   Sigan funcionando.

Manos a la obra……

Aunque parezca una tarea muy tediosa no lo és. Nosotros lo vamos a hacer con putty.

Introducimos en la ventana principal (Session), la ip y puerto de nuestro servidor ssh.

(IP: 192.168.0.1; Puerto: 22)

Connection —> SSH —> Tunnels

Buscamos el texto ‘Add new forwarded port:

Source port: (Escribimos el puerto al que nos conectaremos para abrir el servicio) (mi ejemplo 8888)

Destination: (Escribimos IP:Puerto. La ip del servidor que queremos hacer tunneling y el servicio (puerto)) ( mi ejemplo: 192.168.0.1:2550)

Pulsamos el boton Open.

Introducimos el usuario y password de nuestro servidor ssh y dejamos la sesión activa.

Ahora, como al servicio que queria acceder era un cpanel, y en Source Port hemos elejido de puerto Local 8888, lo único que tenemos que hacer es abrir una ventana de navegador y escribir:

http://192.168.0.1:8888

Con esto tendré acceso al servicio de 2550 del otro lado del túnel, pero pasando por el túnel de SSH, que convertirá la conexión en encriptada.

Un saludo.

ZaPa.

Share

Enviando ficheros con Netcat: La Navaja Suiza

Como muchos sabeis netcat se apoda «La navaja suiza» de los hackers, ya que, como muchos desconocen (yo también) permite hacer muchas más cosas de las que creemos.

Lo que vamos a hacer en este caso es transmitir un fichero con netcat, es muy sencillo.

1. EL SERVIDOR NETCAT (EL QUE ESCUCHA & RECIBE)

Lo primero que tenemos que hacer es en la máquina server (la que recibirá el fichero) dejar netcat a la escucha con el siguiente comando:

#############################
netcat -l -p 1111 > recibido.txt
##########################

Como podeis observar, dejamos netcat a la escucha en el puerto 1111.

Algunos os preguntareis «¿que significa ‘>’?»
Este caracter permite reedirecionar las salidas de los comandos a ficheros de todo nuestro sistema.
Con lo cual, con este comando lo que le decimos es que, la salida de netcat en todo momento lo guarde en el fichero recibido.txt
(Ahora aún no va a generar ningún contenido dentro de recibido.txt ya qué ningún cliente se nos ha conectado al servidor netcat)…

2. LA CONEXIÓN DEL CLIENTE.

Anteriormente hemos dejado el servidor a la «escucha» de que alguien se conecte. Pero nosotros vamos a realizár una conexión pero utilizando tuberias, es decir, «la salida de un comando la pasará a netcat y el servidor lo podrá recibir»…Manos a la obra:

################################
cat ficheroaenviar.txt | netcat IPSERVIDOR  1111
################################

Aquí utilizamos varias cosas nuevas.

– Tuberias (como he dicho anteriormente). Con cat leemos el ficheroaenviar.txt y la salida de cat (el contenido del fichero) se lo pasará a netcat.

– IPSERVIDOR – Este parámetro se debe completar para la conexión desde un cliente a un servidor netcat, si netcat no sabe la ip donde conectarse no realizará la conexión.

– Puerto – Utilizamos el puerto que definimos en el servidor, y es el (1111).

3. LEYENDO EL ARCHIVO

Si todo ha funcionado correctamente, nos dirijimos al terminal donde dejamos el servidor netcat funcionando y pulsamos ControlZ (Control y Z) para pausar la escucha de netcat.

Ahora simplemente nos queda hacer un:

#################
cat recibido.txt
#################

Y podemos observar que tenemos el contenido que creamos en el cliente con el nombre ‘ficheroaenviar.txt’.

Si aplicamos algo de ingenio a todo esto,podemos realizar transferencia de archivos de cualquier tipo,ficheros binarios y demás.

4. AGRADECIMIENTOS.

A todos los foreros de gentoo forums y en especial a Inodoro_Pererya que sin él este howto no hubiera sido posible.
Saludos para todos (;

Un saludo.
Att. ZaPa.

Share

SWAP con un Fichero ?? oh Yeah !!!

Hola a todos, que tal?

Esta vez, les vengo a explicar como poder crear un fichero para utilizarlo de memoria de intercambio (swap).

En realidad esto se hace algo «sorprendente» o «raro» de poder hacer esto en un fichero..pero..en realidad no lo és tanto, porqué en realidad, todos nuestros discos duros,lectores,o cualquier dispositivo asignados a nombres de ficheros en /dev/ para linux son todo FICHEROS, ya que en linux todos son ficheros.

Se preguntarán…¿Para que me sirve a mi esto?, esta cláro, si en tu pc vas resobrado de disco duro, no te hará falta para nada, pero si tienes linux instalado en un pc con los gigas contados de disco duro, esto te va a servir de mucho.

He de decir, que este metodo funciona un poquito más lento que una partición swap independiente pero he de decir que saca de muchos apuros…

Empecemos…

1 – Creamos un directorio para convertirlo en un directorio de intercambio (swap).

# Abrimos una terminal / konsole, nos logeamos como root, y tecleamos:

#mkdir /var/swapfile

Más tarde, crearemos el archivo swap de 512MB, con el siguiente comando:

# dd if=/dev/zero of=/var/swapfile/swapfile bs=1M count=512

2 – Ahora la marcamos como partición swap, con el comando mkswap:

# mkswap /var/swapfile/swapfile

3 – Y, finalmente, la activaremos con el comando swapon:

# swapon /var/swapfile/swapfile

4 – Si lo que hemos hecho lo queremos mantener permanentemente, tendremos que añadirlo al fichero fstab, añadiendo el siguiente contenido:

/var/swapfile/swapfile  none        swap            sw         0 0

Que lo podremos hacer directamente con el siguiente comando:

# echo «/var/swapfile/swapfile  none   swap    sw 0 0» >> /etc/fstab

Espero que les sirva de ayuda.

Saludos.

ZaPa

Este texto no habria sido posible sin la documentaicón del usuario: Eleazar Anzola de gentoo forums.

Share