Jesus Aneiros Sosa escribio:
> On Mon, 29 Aug 2005, Roberto Bonvallet wrote:
> > 
> >     for line in file("xaa"):
> >         if not line.find("is taked") >= 0:
> >             print line
> 
> En mi ultimo vistazo a Python habia que compilar explicitamente las RE. 
> Puaf!

El método find no recibe una RE sino un substring.  De todas maneras,
puedes usar REs sin compilarlas:

    re.match(r"\d{7,8}-[0-9k]", mi_hermoso_string)

aunque yo encuentro más legible compilarlas primero, para poder
referirse a ellas de manera más clara:

    rut = re.compile(r"\d{7,8}-[0-9k]")
    ...
    rut.match(mi_hermoso_string)

El código queda mucho más claro cuando las REs son monstruosas.  En perl
también se puede:

    $http_header = qq(EXPRESION KILOMÉTRICA PARA CALZAR HTTP);
    ...
    $mi_hermoso_string ~= /$http_header/;

Lamentablemente la mayoría prefiere salpicar el código con expresiones
regulares ilegibles.

...pero me parece que nos hemos alejado bastante del tema original.
-- 
Roberto Bonvallet
From [EMAIL PROTECTED]  Mon Aug 29 15:18:55 2005
From: [EMAIL PROTECTED] (Roberto Bonvallet)
Date: Mon Aug 29 15:18:51 2005
Subject: Eliminar linea de un archivo similar a comando GREP
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

Jesus Aneiros Sosa escribio:
> On Sun, 28 Aug 2005, Horst von Brand wrote:
> >
> > incluso mas, es simplemente el comando obvio para la tarea entre manos,
> > solo que dado de forma ligeramente inusual.
> 
> Obvio dice ud!!?? "Ud sabe" que eso no es filosofia UNIX: cada herramienta 
> para una funcion bien determinada y cada herramienta pequena y lo mas 
> simple posible.

Insisto.  A la hora de hacer una tarea sencilla, lo más corto e
inmediato es lo que vale, aunque no sea bonito ni comulgue con una u
otra filosofía.  El resto es talibanismo improductivo.

-- 
Roberto Bonvallet
From [EMAIL PROTECTED]  Mon Aug 29 15:30:32 2005
From: [EMAIL PROTECTED] (Eduardo Quiroz)
Date: Mon Aug 29 15:28:17 2005
Subject: no puedo logearme en X con FC4
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

Arturo Mardones escribió:

>On 8/29/05, Horst von Brand <[EMAIL PROTECTED]> wrote:
>  
>
>>Arturo Mardones <[EMAIL PROTECTED]> wrote:
>>
>>[...]
>>
>>    
>>
>>>Dsps de googlear mucho encontre que alguien tenia problemas con
>>>permisos del directorio tmp... revise y los mios y eran 755 con dueño
>>>root, hice un chmod ga+w /tmp -R y se soluciono... ahora lo raro es pq
>>>no tenia esos permisos el directorio tmp es raro no?
>>>      
>>>
>>Si /tmp es una particion aparte, eso puede pasar si no se monto (quedas
>>viendo los permisos del directorio "debajo", no lo montado "encima"). Eso
>>puede pasar porque fallo fsck(8) (aunque seria raro, deberia no llegar a
>>ofrecer login en tal caso), se chan~o /etc/fstab (disteclia?), root que
>>cambia permisos a tontas y locas (y a la pasada se pitea los de /tmp, y
>>quien sabe que mas) y pocas otras cosas que se me ocurren ahora. Cuidado,
>>/tmp con permisos equivocados es un riesgo de seguridad bastante serio. Los
>>permisos correctos de /tmp, /var/tmp y similares los da:
>>
>>   chown root:root /tmp
>>   chmod a=rwx,t /tmp   # para octalianos: chmod 1777 /tmp
>>
>>En todo caso, permisos raros en areas como esa me encienden todas las
>>alarmas, huele a sintoma de jaquel incompetente que se te colo a root.
>>    
>>
>
>rayos...!.... y como puedo saber si es efectivamente eso? usando el
>chroot... o algo asi q se llamaba???...
>
>
>  
>
chrootkit
From [EMAIL PROTECTED]  Mon Aug 29 16:45:49 2005
From: [EMAIL PROTECTED] (Horst von Brand)
Date: Mon Aug 29 16:43:34 2005
Subject: no puedo logearme en X con FC4 
In-Reply-To: Your message of "Mon, 29 Aug 2005 14:49:46 -0400."
        <[EMAIL PROTECTED]> 
Message-ID: <[EMAIL PROTECTED]>

Arturo Mardones <[EMAIL PROTECTED]> wrote:
> On 8/29/05, Horst von Brand <[EMAIL PROTECTED]> wrote:
> > Arturo Mardones <[EMAIL PROTECTED]> wrote:

[...]

> > En todo caso, permisos raros en areas como esa me encienden todas las
> > alarmas, huele a sintoma de jaquel incompetente que se te colo a root.

> rayos...!.... y como puedo saber si es efectivamente eso? usando el
> chroot... o algo asi q se llamaba???...

chkrootkit y similares. Busca info sobre rootkits, te espantaras de lo que
se puede hacer.

Bootear el sistema con un LiveCD como INSERT (CD "tarjeta de credito"!)
<http://www.inside-security.de/insert_en.html> y ver si hay cosas "raras":

- Archivos en /dev (si, hay; generalmente solo MAKEDEV)
- Directorios o archivos con nombres inusuales: '...', '. ', caracteres de
  control, ...
- Archivos SUID root que no corresponden (los que hay en un sistema tipico
  son como una docena, en /sbin o /usr/sbin, y tal vez /usr/bin)
- Cuentas extran~as, particularmente sin password o con UID cero
- Servicios "raros" que se levantan. En algun caso me encontre con que
  habian 2 inetd corriendo en el tarro... el 2o con un CWD en /tmp, y el
  archivo de configuracion habia sido borrado. Lo lanzaba desde un script
  legitimo en /etc/init.d/, habia agregado entre los curiosos comandos alli
  el crear la configuracion, lanzar el inetd, y borrar la  configuracion).
  /proc es tu amigo ;-)
- Lista de procesos. Notese que es muy facil ocultar el nombre real del
  ejecutable, y uno puede encontrar cosas como "nfs" o asi para hacer creer
  al administrador que es un proceso "del sistema". Pero esos generalmente
  tienen PIDs chicos...
- Desde una maquina "limpia" (LiveCD) tirar nmap o un sniffer para ver que
  trafico de red hay, contrastar con lo que la maquina misma dice via
  netstat, lsof, ...
- Si es RPMista, un "rpm -Va" puede mostrar discrepancias (si el jaquel es
  tonto, y no pichicateo la base de datos de RPM).
- Revisar los logs. Ratos sin actividad, o actividad "rara", o registros
  truncos, o fuera de orden, ... puede indicar algo.

Notese que determinar a ciencia cierta si ocurrio algo, cuando, y
exactamente que es una tarea titanica. Generalmente mas vale la pena
simplemente reinstalar de cero, /y actualizar rigurosamente antes que
nada/. Es por algo que siempre predico instalar lo que se necesita
solamente, y mantener rigurosamente al dia.

Suerte!
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513
From [EMAIL PROTECTED]  Mon Aug 29 16:51:28 2005
From: [EMAIL PROTECTED] (Horst von Brand)
Date: Mon Aug 29 16:49:14 2005
Subject: Eliminar linea de un archivo similar a comando GREP 
In-Reply-To: Your message of "Mon, 29 Aug 2005 15:07:08 -0400."
        <[EMAIL PROTECTED]> 
Message-ID: <[EMAIL PROTECTED]>

Roberto Bonvallet <[EMAIL PROTECTED]> wrote:

[...]

> El código queda mucho más claro cuando las REs son monstruosas.  En perl
> también se puede:
> 
>     $http_header = qq(EXPRESION KILOMÉTRICA PARA CALZAR HTTP);
>     ...
>     $mi_hermoso_string ~= /$http_header/;

Nope. La forma eficiente de hacer esto es:

     $http_header = qr(EXPRESION KILOMÉTRICA PARA CALZAR HTTP)o;
     ...
     $mi_hermoso_string ~= /$http_header/;

Pueden anexarse opciones adicionales al qr//.

> Lamentablemente la mayoría prefiere salpicar el código con expresiones
> regulares ilegibles.

"100 mil millones de moscas..."

> ...pero me parece que nos hemos alejado bastante del tema original.

Pero que esta entretenido, esta entretenido ;-)
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513
From [EMAIL PROTECTED]  Mon Aug 29 17:15:38 2005
From: [EMAIL PROTECTED] (Juan Carlos Inostroza)
Date: Mon Aug 29 17:13:31 2005
Subject: no puedo logearme en X con FC4
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

On Mon, 2005-08-29 at 16:45 -0400, Horst von Brand wrote:
> > rayos...!.... y como puedo saber si es efectivamente eso? usando el
> > chroot... o algo asi q se llamaba???...
> 
> chkrootkit y similares. Busca info sobre rootkits, te espantaras de lo que
> se puede hacer.

A pesar que he tenido de esas visitas en el pasado ;) hay veces que un
simple upgrade me deja la crema con los permisos de /tmp (dos distros
distintas que les pasa un problema similar, quizas es por la particion
separada)

> Bootear el sistema con un LiveCD como INSERT (CD "tarjeta de credito"!)
> <http://www.inside-security.de/insert_en.html> y ver si hay cosas "raras":

> - Servicios "raros" que se levantan. En algun caso me encontre con que
>   habian 2 inetd corriendo en el tarro... el 2o con un CWD en /tmp, y el
>   archivo de configuracion habia sido borrado. Lo lanzaba desde un script
>   legitimo en /etc/init.d/, habia agregado entre los curiosos comandos alli
>   el crear la configuracion, lanzar el inetd, y borrar la  configuracion).
>   /proc es tu amigo ;-)

Aunque si hay un LKM (como Adore o t0rn) es mas complicado detectar por
si hay procesos ocultos. Lsof pasa piola, /proc esta contaminado lo
suficiente para no saber que procesos realmente hay (aunque creo que
haciendo varios procesos y consultando de vuelta al proc es que se
detecta si anda uno de esos juguetes corriendo). 

Preferible revisar los archivos tipicos (t0rn por ejemplo
usa /usr/include/file.h, /usr/include/proc.h y /usr/include/hosts.h que
no existen en la distribucion). A pesar que el lkm los oculta al ls, no
los puede ocultar para editarlos o hacer un cat ;)

> - Lista de procesos. Notese que es muy facil ocultar el nombre real del
>   ejecutable, y uno puede encontrar cosas como "nfs" o asi para hacer creer
>   al administrador que es un proceso "del sistema". Pero esos generalmente
>   tienen PIDs chicos...

una vez que se pillo al visitante indeseable, es mas facil el ver esos
procesos y que estan haciendo. lsof da una mano. 

> - Desde una maquina "limpia" (LiveCD) tirar nmap o un sniffer para ver que
>   trafico de red hay, contrastar con lo que la maquina misma dice via
>   netstat, lsof, ...

Un nmap desde otra maquina y listo :)

> - Si es RPMista, un "rpm -Va" puede mostrar discrepancias (si el jaquel es
>   tonto, y no pichicateo la base de datos de RPM).

No muchos jaquel hacen esa gracia :)

Saludos,
-- 
Juan Carlos Inostroza
http://jci.codemonkey.cl

Responder a