Spiga

‘ linux ’ category archive

Script bash – busca el archivo más nuevo por directorio

September 30, 11 by admin

Este script, lo he utilizado para revisar cada cuanto tiempo se llevaba a cabo las copias de seguridad de los usuarios del sistema. El funcionamiento es bien sencillo, en un directorio madre, busca en sus subdirectorios el archivo más nuevo y lo guarda en un fichero, de esta forma podemos saber hace cuanto que no ingresa ningún nuevo archivo a una carpeta determinada.

En mi caso, tengo un segundo script que lee este fichero y en función de un tiempo determinado alerta al usuario de que debería de realizar un Backup, pero es simplemente un uso que podemos darle.


#!/bin/bash
FILE=/home/datesBackup.txt
rm $FILE
#Borro el fichero antes de comenzar
for i in `ls -l /home | gawk '{print $8}'`
do
find /home/$i -type f | xargs ls -alt | head -n 1 | gawk '{print $3, $6}' >> $FILE | grep -v 'ls:' | grep -v 'xargs:'
done
#Listo todos los directorios de /home y almaceno en la variable i
#Por cada un o de ellos busco el más nuevo y lo empipo al Fichero que antes borramos, filtrando posibles errores

Las tendencias suicidas de aptitude

August 22, 11 by admin

Ya ha dejado de sorprenderme las temibles dependencias que puede llevar consigo el software más ‘mindudi’ de un sistema Ubuntu, pero querer hacerse un Harakiri al estilo Japonés me parece demasiado.

Los siguientes paquetes se ELIMINARÃN:
evolution-documentation-es g++-4.3 gimp-help-es imagemagick-doc language-support-translations-es libadns1 libboost-python1.34.1 libmagick++1 libphonon4 libqt4-opengl libqt4-qt3support libsilcclient-1.1-3 libstdc++6-4.3-dev libzephyr4
linux-headers-2.6.28-19 linux-headers-2.6.28-19-generic menu obexd-client openoffice.org-help-es openoffice.org-l10n-es phonon phonon-backend-gstreamer qt4-qtconfig thunderbird-locale-es-ar thunderbird-locale-es-es
0 actualizados, 0 se instalarán, 25 para eliminar y 4 no actualizados.
Se liberarán 180MB después de esta operación.
¿Desea continuar [S/n]? n
Abortado.
denis@denis-logco:~$ uname -a
Linux denis-logco 2.6.28-19-generic #66-Ubuntu SMP Sat Oct 16 17:39:04 UTC 2010 i686 GNU/Linux

Configurar Nagios para que te avise por Twitter

February 16, 10 by admin

Una poyadita que se me ocurrió, muy fácil de llevar a cabo, y que puede lanzarte a convertirte en el más guay de la oficina.

1.- Te sacas una cuenta twitter, le pones una foto de una tia buenorra, para que te de menos corage cuando algún servicio tenga problemas.. twitter te dá la posibilidad de proteger tus tweets, para que solo el que tu quieras pueda seguirte.

2.- Configuras blt en tu máquina, esta aplicación en linea de comandos te permite twitear.

3.- Modificas el archivo /etc/nagios3/commands.cfg

#Twitter
define command{
command_name notify-host-by-twitter
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/bin/blt ** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **
}

define command{
command_name notify-service-by-twitter
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/local/bin/blt "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **"
}

4.- Configuras el usuario que vaya a ser notificado por twitter, por defecto en: /etc/nagios3/contacts_nagios2.cfg


service_notification_commands notify-service-by-twitter
host_notification_commands notify-host-by-twitter

5.- Reiniciar el servicio y listo. /etc/init.d/nagios3 restart

¿ 0-day en OpenSSH ?

July 08, 09 by admin

Al parecer esta siendo activamente usado un exploit contra OpenSSH, pero se desconocen los detalles de la vulnerabilidad así como el código del exploit, por lo que no podemos hablar de un 0-day ni tratar esta información como completamente verídica.

Estos son los indicios conocidos:

1)Algunos proveedores de hosting han avisado a sus clientes de la desactivación temporal del servicio SSH. Ejemplo:

“Good afternoon folks,

As of a few moments ago I was notified that there’s a new SSH 0day
exploit floating around the web and is actively being used to exploit
providers. Until further notice SSH access is being disabled on 100%
of our shared and managed dedicated servers. We will update you via
email when the restriction is lifted. My apologies for any
inconvenience but as always: Security comes first before convenience.
To our lay clients who may not comprehend what SSH is — even better,
don’t worry we’ve got everything under control and you won’t miss a
thing. Your service will continue to function as normal.

A special note to those dedicated clients who don’t have fully managed
packages: I’d highly recommend turning down SSH access immediately.
We’ll be arriving on-site later this afternoon to cleanup any issues
caused by this.”

2) En la web http://romeo.copyandpaste.info/txt/ssanz-pwned.txt se puede ver un jugoso ejemplo del, por ahora, supuesto exploit contra OpenSSH.

anti-sec:~/pwn/xpl# ./0pen0wn -h xx.xx.xx.133 -p 22

[+] 0wn0wn - anti-sec group
[+] Target: xx.xx.xx.133
[+] SSH Port: 22

[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>]

sh-3.2# export HISTFILE=/dev/null

sh-3.2# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

sh-3.2# uname -a
Linux osiris.ssanz.net 2.6.24.5-grsec-hostnoc-4.0.0-x86_64-libata #1 SMP Mon Aug 25 15:56:12 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

sh-3.2# head -n1 /etc/shadow
root:$1$t4e0hufX$UH4Q5jTj93EEAODNrSaWO/:14412:0:99999:7:::

Podemos ver que el exploit ha sido creado por el grupo ‘anti-sec’ y que la web romeo.copyandpaste.info pertenece a uno sus miembros, llama la atención las primeras lineas que aparecen en su web:

~ Fuck full-disclosure
~ Fuck the security industry
~ Keep 0days private
~ Hack everyone you can and then hack some more

Lo que hace pensar que no están entre sus intenciones publicar el contenido del exploit, pero entonces … porque hacen público un ejemplo de como ejecutarlo [...] la verdad que este tema genera bastantes suposiciones enrevesadas, esperemos a ver en que acaba todo esto, yo personalmente no me atrevo a decantarme por nada y me espero cualquier cosa.

Xsel: Manipular el portapapeles desde la consola de Linux.

November 13, 08 by admin

Esta aplicación disponible para la mayoría de las distribuciones nos permite manipular el portapapeles. Podemos por ejemplo copiar el contenido de un fichero de una manera rápida y efeciente.
xsel --clipboard < file.txt
O volcar el contenido de muestro portapapeles en cualquier archivo:
xsel --clipboard > file.txt

Xsel

getTorrent.py – script, para descarga de .torrent del RSS de Mininova y añadirlos a MLDONKEY

October 23, 08 by admin


Recientemente un amigo me paso un script para descargar Torrents de series españolas del MLDONKEY, el funcionamiento era que solicitaba el rss de series de mininova y lo parseaba para encontrar la url de dicho archivo, lo descargaba y guardaba en la carpeta que por defecto viene en el subdirectorio de mldonkey con nombre torrents/incoming. Mldonkey añade a su lista de descarga los torrent que se encuentre en esa carpeta.

Modificando su herramienta, la he convertido en un script para bajarme las series automáticamente sin necesidad de estar cada Lunes .. Martes etc… bajandome el torrent de la serie de turno y introduciendolo en MLDONKEY para subirle el torrent. El mecanismo es que seleciona del RSS el que más Seeds y Leechers tenga la formulá solo para mentes avanzadas Seeds*2+Leechers :P

El Script tiene dos modos básicos.

Manual:
[sourcecode language='Python']python getTorrent.py Dexter s03e04[/sourcecode]
Guardará en el directorio que le inquemos dentro del script como ML_PATH el torrent con mayor puntuación que de como resultado la busqueda de Dexter+s03e04, podriamos añadir todas las palabras de busqueda que queramos.

Automático:
[sourcecode language='Python']python getTorrent.py -c data.nui[/sourcecode]
contenido de data.nui:
[sourcecode language='Python']
Dexter+s03e01
Dexter+s03e02
Dexter+s03e03
Dexter+s03e04
[/sourcecode]
Ejecutamos esta orden mediante cron todos los Lunes. Primero descargará Dexter s03e01 al Lunes siguiente Dexter s03e02 y así sucesivamente hasta el final. Cierto es de que debemos de quitar el cron cuando se acabe la serie, aunque este no hará nada malo, ya que el archivo quedará vacio y no ejecutará nada.

Descargar: getTorrent.tar.gz

DotProject alert

July 28, 08 by admin

Si no conoces DotProject

Tenía la necesidad en mi empresa de crear un pequeño script que avisara a los trabajadores si habían metido sus horas en DotProject así que cree este pequeño script que chequea si el dia anterior el usuario en cuestión tiene algún log en DotProject, a este script lo llamo desde el cron todos los martes, miercoles, jueves, viernes y sábados para saber si el dia laborable anterior había introducido sus horas. Esto lo uní a un formulario donde aparecieran los usuarios de DotProject y cada uno pueda darse de alta en el sistema de alerta y de baja cuando quiera.

Sin más os dejo el codigo por si a alguien pudiera interesarle. Code

iotop, top para controlar lectura y escritura de nuestros discos.

July 26, 08 by admin


Me acabo de topar con esta herramienta desarrollada en python, calcado a nuestro top de toda la vida pero destinada aver que ocurre en nuestros espacio de discos.

Lo he instalado mediante git:

(ruta)# git clone git://repo.or.cz/iotop.git

Despues he creado un enlace simbólico a /usr/bin y listo

#sudo ln -s (ruta)/iotop/iotop.py /usr/bin/iotop

Enlace: iotop

Instalar GNS3 en Ubuntu

July 24, 08 by admin

Actualmente ando sacandome la certificación Network Security de Cisco (FNS), y bueno uno de mis primeros pasos ha sido instalarme bajo Ubuntu un entorno de emulación para productos Cisco, es la primera vez que ando usando esta herrramienta, ha si que no puedo contaros mucho, solo los pasos que he seguido para ponerlo en marcha.

sudo apt-get install dynagen python-qt4 wireshark dynamips
wget http://pfe.epitech.net/frs/download.php/818/GNS3-0.5-src.tar.bz2
tar xjvf GNS3-0.5-src.tar.bz2
cd GNS3-0.5-src
./gns3

Despues puse el path correcto para Dynamips pulsé un poco más abajo sobre Test, cargé la imagen y me funcionó perfectamente.

Sincronizar fondos de Escritorio con rsync

July 23, 08 by admin

Hoy me he dado cuenta de que en cada ordenador tengo unos fondos que me gustan que no tengo en otros, ya sabeis uno que encontrais en el trabajo y lo guardais, otro en el PC de la casa, otro en el Laptop cuando andais por ahí. Asi que hoy me he puesto y me he creado en mi casa una carpetita donde tenerlos todos y mediante rsync sincronizarlos, al servidor entro por ssh, os dejo el script con rsync y la idea.


#!/bin/bash
if [ $# -eq 1 ]; then
rsync -avz -e 'ssh -p 6622' $1/* user@00.00.00.00:/home/user/wallpaper
rsync -avz -e 'ssh -p 6622' user@00.00.00.00:/home/user/wallpaper/* $1
else
echo "Modo de empleo"
echo "---------------------------------------------"
echo "# ./syncWallpaper /ruta/de/la/carpeta/local/a/sincronizar"
fi