Category: Technical
unrealircd hacked =(
Hace un par de días descubrí en mi servidor de IRC unos archivos “raros” en el /tmp, que obviamente yo no había generado:
-rw------- 1 ircd ircd 17251 Jul 8 09:10 robot.txt
-rw------- 1 ircd ircd 17251 Jul 8 09:10 robot.txt.1
El contenido de estos archivos era un script.
La explicación de mas o menos que es lo que hace dicho script, la pueden ver en este link
En definitiva, unrealircd reporto hace poco (el 12 de junio), en su foro el problema. Al parecer, alguien cambio el .tar.gz en los mirrors de unrealircd por uno que contenía un backdoor (esto paso en Noviembre 2009), el cual permitía a cualquier persona ejecutar cualquier comando como el usuario con el corría el ircd (esos nos sigue enseñando a todos que no hay que correr servicios como root). Así que alguien, muy vivo, exploto esta falla en nuestro IRC (irc.xterm.com.ar), pero al parecer mucha maldad no hizo.
Si tu unrealircd esta comprometido o no, se puede probar de estas 2 formas:
Verificar el checksum md5 si todavia tienen el .tar.gz:
(MALA) es: 752e46f2d873c1679fa99de3f52a274d
Versión Oficial (BUENA) es: 7b741e94e867c0a7370553fd01506c66
La otra forma es pararse en el directorio donde lo compilamos y correr:
grep DEBUG3_DOLOG_SYSTEM include/struct.h
Si, el resultado son 2 lineas entonces tenemos la versión mala, si el resultado es nada entonces es la buena.
La solución es re-descargar el unrealircd y validar que sea el correcto por GPG o MD5/SHA1.
Deberé seguir confiando en unrealircd? o deberíamos mudarnos a otro?
English:
Some days ago I found in my IRC server, a couple of “weird” files in the /tmp directory, that obviously I did not create.
-rw------- 1 ircd ircd 17251 Jul 8 09:10 robot.txt
-rw------- 1 ircd ircd 17251 Jul 8 09:10 robot.txt.1
The content of these files was a malicious script.
The explanation about what does this script does can be reached at this link
unrealircd reported some days ago (June 12) in their forum the problem. Apparently someone changed the .tar.gz package in their mirrors for one that contained a backdoor (this happened in November 2009). This backdoor allowed any person to run any command with the privileges of the user running the service (this is still remember us that we must not run services as root) .
Someone exploited this bug in our IRC (irc.xterm.com.ar), but apparently nothing bad happened for us.
If you need to check if your unrealircd is compromised or not, you can try this with one of these two ways:
Verifying the MD5 checksum of the .tar.gz package:
(BAD) is: 752e46f2d873c1679fa99de3f52a274d
Official version (GOOD) is: 7b741e94e867c0a7370553fd01506c66
The other way, is change to the directory where we compiled the source code and then run:
grep DEBUG3_DOLOG_SYSTEM include/struct.h
If it outputs 2 lines, then you’re hacked.
if it outputs nothing, then you’re good.
The solution is re-download unrealircd and validate that it’s the good package by checking GPG or MD5/SHA1 checksum
May I continue using unrealircd? or do I need to move to a new one?
Instalando fuentes de Microsoft en Fedora 13
Estos son los pasos que hay que seguir para instalar las fuentes de Microsoft en Fedora 13 para usar con OpenOffice:
Como root instalamos las dependencias:
# yum -y install rpm-build cabextract ttmkfdir xorg-x11-xfs
# yum install http://dl.atrpms.net/f13-x86_64/atrpms/stable/chkfontpath-1.10.1-2.fc13.x86_64.rpm --nogpgcheck
Como usuario normal armamos el rpm con las fuentes:
mkdir -p $HOME/rpmbuild/SPECS
cd $HOME/rpmbuild/SPECS
wget http://pfrields.fedorapeople.org/packages/SPECS/msttcorefonts-2.0-1.1.spec
rpmbuild -bb msttcorefonts-2.0-1.1.spec
Como root instalamos el rpm:
rpm -ivh $HOME/rpmbuild/RPMS/noarch/msttcorefonts-2.0-1.1.noarch.rpm
Luego iniciar OpenOffice y ya deberíamos ser capaces de utilizar Arial, Times New Roman, etc.
English
These are the required step to install Microsoft fonts in Fedora 13 for OpenOffice:
We would need to install all the required dependencies, as root:
# yum -y install rpm-build cabextract ttmkfdir xorg-x11-xfs
# yum install http://dl.atrpms.net/f13-x86_64/atrpms/stable/chkfontpath-1.10.1-2.fc13.x86_64.rpm --nogpgcheck
We make the rpm package (as a normal user):
mkdir -p $HOME/rpmbuild/SPECS
cd $HOME/rpmbuild/SPECS
wget http://pfrields.fedorapeople.org/packages/SPECS/msttcorefonts-2.0-1.1.spec
rpmbuild -bb msttcorefonts-2.0-1.1.spec
Then, as root again, we should install the rpm:
rpm -ivh $HOME/rpmbuild/RPMS/noarch/msttcorefonts-2.0-1.1.noarch.rpm
Then we launch OpenOffice and we would be able to use Arial, Times New Roman, etc.
“checksum failure downloading vmlinuz” actualizando con preupgragre/while updating with preupgrade
Español
Actualizando a Fedora 13 con preupgrade me encontré con varios issues. El primero, que no parece estar muy documentado, es que mientras descagarba la información de la release, obtenía un error que me decía que había un problema en el mirror.
Iniciando preupgrade en una terminal, pude ver que este era el error:
checksum failure downloading vmlinuz
Así que definitivamente si había un problema en el mirror, intente varias veces obteniendo el mismo error. Decidí consultar en #fedora-qa acerca de como resolver este problema.
Y la solución es esta:
wget http://mirrors.fedoraproject.org/releases.txt
editar el archivo releases.txt comentado mirrorlist y descomentado baseurl, configurando nosotros la URL del mirror que elegimos o la URL por defecto de download.fedora.redhat.com.
Luego ejecutar preupgrade en el mismo $PWD en el que se encuentra el archivo releases.txt modificado
Otro problema que tuve fue el reportado en BZ 573451
Todavía estoy actualizando y espero que termine exitosamente.
“delete: it’ll only work if you blog about it and tell others how to do it! :)”
English
Updating to Fedora 13 with preupgrade I faced some issues. The first one, which apparently is not documented, is that while downloading release info, I got an error message telling me that there was a problem with the mirror.
running preupgrade in a terminal, I saw the following error:
checksum failure downloading vmlinuz
There was definitely a problem with the mirror. I tried several times getting the same error, so I decided to ask in #fedora-qa about it.
And this is the fix:
wget http://mirrors.fedoraproject.org/releases.txt
edit releases.txt, comment mirrorlist and uncomment baseurl, setting the URL of the mirror that we choose, or leaving the default URL download.fedora.redhat.com.
Then run preupgrade with releases.txt in our $PWD
Another issue that I had was reported in BZ 573451
I’m stilling updating and I hope it ends successfully.
“delete: it’ll only work if you blog about it and tell others how to do it! :)”
Huawei E1692/E1756 para Personal en Fedora 12
Esta pequeña guiá muestra como utilizar el Modem Huawei E1692/E1756 para Personal, en Fedora 12.
Como este modem también es un pendrive tenemos que hacer que el dispositivo sea detectado como un modem, para eso instalamos usb_modeswitch.
yum install usb_modeswitch
luego debemos agregar al final del archivo /etc/usb_modeswitch.conf, las siguientes lineas:
gedit /etc/usb_modeswitch.conf
###############################
# Huawei E1692/E1756
DefaultVendor= 0x12d1
DefaultProduct= 0x1446
TargetVendor= 0x12d1
TargetProduct= 0x140c
MessageContent="55534243000000000000000000000011060000000000000000000000000000"
CheckSuccess=5
###########################
Debemos agregar a udev la regla para ejecutar usb_modeswitch cuando el modem es detectado
gedit /etc/udev/rules.d/15-hauwei.rules
##
SUBSYSTEM=="block",
ACTION=="add",
SYSFS{idVendor}=="12d1",
SYSFS{idProduct}=="1446",
OPTIONS="ignore_device"
SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/usr/bin/usb_modeswitch"
##
Una vez terminado este paso podemos conectar nuestro modem y empezar a configurarlo en NetworkManager.
WordPress vs b2evolution
Después de varias tardes pude migrar mi blog de b2evolution a WordPress, cada cual tiene sus pros y sus contras a mi forma de pensar.
Por un lado lo que mas extraño de b2evolution es que el motor de estadísticas (search’s,referrers, etc.) es muchísimo mas completo que el de WP, y también la herramienta de diagnostico de Seguridad (php y web server). Estas 2 herramientas se instalan con plugins en WP, cuando en b2evolution ya vienen incluidas.
Por otro lado encontré muchos mas pros en WP. Lo fundamental es que actualmente WordPress tiene una comunidad en internet muchísimo mayor a la que b2evolution tiene, por ende, podemos encontrar machismos mas widgets, themes y plugins; posee también mejor conectividad con las API’s de google y twitter, y se puede integrar de mejor manera con redes sociales tales como Linkedin o Facebook. El look&feel del dashboard esta mucho mas ordenado y es también mas dinámico al integrar AJAX.
Veremos que sucede con estos 2 proyectos en el futuro, esta es mi opinión hoy, pero quizás no sea la misma en unos meses cuando b2evolution 4 y WordPress 3 vean la luz. Espero no tener que migrar todo a b2evolution de vuelta. =P
World Community Grid un granito de arena para la lucha contra algunas de las enfermedades mas importantes del mundo
World Comunity Grid es un proyecto basado en BOINC, un middleware Open Source para voluntarios en procesamiento paralelo de información. El objetivo del proyecto es usar los ciclos de CPU de los procesadores de computadoras hogareñas, cuando estas están descansando, para procesar pequeños paquetes de información. Estos paquetes son descargados de un servidor central, y luego de ser procesados automáticamente son subidos de nuevo a WCG, de esta manera se puede lograr un procesamiento paralelo superior al de una super computadora.
El objetivo de World Comunity Grid es el de estudiar principalmente la estructura de enfermedades y de otros temas que benefician a la humanidad entre ellas:
- Descubrir drogas contra el Dengue
- Ayudar a curar la distrofia muscular
- Luchar contra el cáncer de la niñez
- Arroz nutricional para el mundo
- Ayudar a combatir el cáncer.
- Luchar contra el SIDA
Este proyecto ya tuvo grandes logros que se pueden ver en este sitio web.
pack de idioma castellano utf-8 corregido para b2evolution
Me tome un rato para corregir el pack de idioma castellano para b2evolution, tenía un problema para tomar los acentos en el tema, por ejemplo podíamos encontrar algo así como “CategorÃas” en vez de “Categorías”, el problema se solucionaba según leí en el foro de b2evolution remplazando en el archivo _global.php los siguientes caracteres:
á => á
é => é
í => í
ó => ó
ú => ú
ü => ü
ñ => ñ
Á => Á
É => É
Í => Í
Ó => Ó
Ú => Ú
Ü => Ü
Ñ => Ñ
¡(admiración) => ¡
¿ => ¿
" => "
Después de modificarlo lo comprimí, pueden descargalo aquí.
Como configurar placa capturadora kozumi KTV-01C (con chip bt878 rev11)
Me llevo un par de días asi que lo comparto con ustedes, ya que le puede beneficiar a alguien mas
En este caso yo lo configure con gentoo 2008, quizás haya distribuciones, en las que les sea aun mas fácil configurar este dispositivo.
La placa en cuestión es:
04:09.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
04:09.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
Que funciona con el modulo bt878
Device Drivers ---]
[M] Video For Linux
[*] Enable Video For Linux API 1 compatible Layer
[*] Video capture adapters ---]
[M] BT848 Video For Linux
[*] DVB/ATSC Support for bt878 based TV cards
make && make modules_install
Editamos /etc/modprobe.conf o /etc/modprobe.d/bttv y agregamos los datos del modulo:
alias char-major-81 videodev
alias char-major-81-0 bttv
options bttv pll=1 card=120 radio=1 tuner=38 remote=1 bttv_verbose=1 gbuffers=4
options ir_common debug=1
Ahora podemos probar con:
modprobe bttv
modprobe tuner
Podemos verificar que los modulos esten arriba:
# dmesg | grep bttv
bttv: driver version 0.9.17 loaded
bttv: using 4 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 0000:04:09.0, irq: 17, latency: 32, mmio: 0xfdaff000
bttv0: using: Conceptronic CONTVFMi [card=120,insmod option]
bttv0: gpio: en=00000000, out=00000000 in=007fc0ff [init]
bttv0: tuner type=38
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: registered device radio0
bttv0: PLL: 28636363 =] 35468950 .. ok
input: bttv IR (card=120) as /class/input/input4
bttv0: PLL can sleep, using XTAL (28636363).
# dmesg | grep tuner
bttv0: tuner type=38
tuner' 0-0060: chip found @ 0xc0 (bt878 #0 [sw])
tuner-simple 0-0060: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3))
Instalamos tvtime:
emerge tvtime
configuramos la norma PAl-Nc para nuestro usuario:
$ tvtime-configure -n PAL-Nc
$ tvtime-scanner
Y si todo salio bien, deberíamos ver una salida como esta:
Scanning using TV standard PAL-NC.
Scanning from 44.00 MHz to 958.00 MHz.
Found a channel at 54.50 MHz (52.50 - 56.25 MHz), adding to channel list.
Found a channel at 66.50 MHz (64.25 - 68.50 MHz), adding to channel list.
Checking 79.00 MHz: - No signal
Por ultimo agregamos a /etc/modules.autoload.d/kernel-2.6 tuner:
echo "tuner" ]] /etc/modules.autoload.d/kernel-2.6
Y ya esta, para configurar el control remoto, hay que editar el mapeo de las teclas dentro del modulo del kernel compilado (haga una copia de seguridad de este antes de editar el modulo):
editamos
$source/drivers/media/common/ir-keymaps.c:
Y donde esta definido IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE]:
borramos todas las keys y lo dejamos asi:
IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
[ 0x00 ] = KEY_0,
[ 0x01 ] = KEY_1,
[ 0x02 ] = KEY_2,
[ 0x03 ] = KEY_3,
[ 0x04 ] = KEY_4,
[ 0x05 ] = KEY_5,
[ 0x06 ] = KEY_6,
[ 0x07 ] = KEY_7,
[ 0x08 ] = KEY_8,
[ 0x09 ] = KEY_9,
[ 0x1c ] = KEY_RADIO, /* FM Radio */
[ 0x0a ] = KEY_BACKSPACE, /* Recall */
[ 0x12 ] = KEY_ESC, /* POWER */
[ 0x18 ] = KEY_LEFT, /* VOL- */
[ 0x0c ] = KEY_RIGHT, /* VOL+ */
[ 0x16 ] = KEY_ENTER, /* OK */
[ 0x17 ] = KEY_D, /* Plus */
[ 0x10 ] = KEY_F, /* Mode */
[ 0x0b ] = KEY_UP, /* CH+ */
[ 0x0b ] = KEY_UP, /* CH+ */
[ 0x15 ] = KEY_DOWN, /* CH- */
[ 0x14 ] = KEY_H, /* OSD */
[ 0x13 ] = KEY_MUTE, /* Mute */
[ 0x0f ] = KEY_BACKSPACE, /* Prev */
[ 0x0e ] = KEY_STOP, /* Stop */
[ 0x1f ] = KEY_PLAY, /* Play */
[ 0x1e ] = KEY_PAUSE, /* Pause */
[ 0x1d ] = KEY_RECORD, /* Record */
[ 0x1a ] = KEY_F7, /* Next */
[ 0x0f ] = KEY_A, /* */
[ 0x1b ] = KEY_F5, /* Time Shift */
[ 0x19 ] = KEY_S, /* Snapshot */
[ 0x0f ] = KEY_F6, /* Prev */
[ 0x0d ] = KEY_E, /* Stereo */
[ 0x11 ] = KEY_I /* Source */
};
EXPORT_SYMBOL_GPL(ir_codes_pixelview);
luego en la raiz del kernel ejecutamos nuevamente:
make && make modules_install y listo.
Eso fue todo.
Ya pueden usar su placa con cualquier programa de captura de video, pueden usar Tvtime, ya que sabemos que detecto los canales.
D.
Un poco de ayuda de:
haciendo que nuestra pc hable con espeakc
espeak es un software sintetizador de voz con el podemos hacer cosas muy interesantes, para instalarlo en fedora tendremos que ejecutar:
yum install espeak
Una vez instalado podemos hacer cosas divertidas como contar botellas de cerveza:
echo {1..199}" bottles of beer on the wall, cold bottle of beer, take one down, pass it around, one less bottle of beer on the wall,, " | espeak -v english -s 140
Contar elefantes:
echo {1..199}" elefantes se balanceaban sobre la tela de una araña, como veían que rustían fueron a buscar a otro elefante,, " | espeak -v spanish -s 140
Nos lea una frase de la fortuna:
fortune | espeak -v english -s 140
Podemos hacer por ejemplo que espeak nos lea los logs:
tail -f -n1 /var/log/messages | espeak -v english -s 150
También jugando con awk, podemos por ejemplo filtrar el log de irssi, para que espeak interprete todas las lineas que alguien en el IRC escribe:
tail -n 1 -f #channel.log | awk -F '>' '/nick_a_interpretar>/{print $2 | "tee file"}' &
tail -f -n1 file | espeak -v spanish
basándose en estos ejemplos hay un gran numero de cosas que se pueden hacer. Enjoy!