Verificar status de aliases de Apache

Hace poco hice una migración de un servidor que, entre otras cosas, tiene un Apache con numerosos aliases. Para verificar que los aliases estuvieran “arriba”, solo hace falta un poco de magia, también conocida como awk y curl:

grep Alias /ruta/a/configuracion/apache | awk '$1 !~ /#/ {print $2}' | xargs -I {} curl -sL -w "%{http_code} %{url_effective}\n" SERVIDOR.COM/{} -o /dev/null;

hattip curl

Don Beto, ya tenemos correos!

Mea culpa: en la última iteración de sergiob, se me olvidó “prender” muchas cosas, y eso incluye los correos del blog. No se preocupen, solo es una basurita en mi ojo

A todos aquellos usuarios registrados últimamente (sí, ustedes, legión de 2): por favor, envíenme un mensajito (ahí a la derecha está mi twitter) y les establezco su contraseña.

Si les interesa saber cómo se hacen esas magias, son tres pasos:

1) Instalar/configurar msmtp
2) Configurar php para utilizar msmtp para enviar correos (ambos pasos descritos aquí)
3) Configurar wordpress para enviar correos con la función mail de php (Configuración | E-mail).

De hackers, crackers y editores flojos

Andaba navegando por el twittverse cuando me encontré con una nota referente a la psique de los ‘hackers’. “Fabuloso,” pensé. “Una deconstrucción de los clichés referentes a los intrusos informáticos.” Ja. Ja. Y más ja.

La joyita más importante está a la mitad del artículo:

Las ganas de explorar son el combustible por excelencia y muchos solo quieren romper los sistemas a los que ingresan. A estos la mayoría les dice hackers, pero el término adecuado es crackers. Suelen hacer colapsar servidores, infectar computadoras, entrar a zonas restringidas y crear botnets, es decir, ‘ejércitos’ de computadores ‘zombies’, que hacen lo que ellos les ordenan, como atacar un sitio web.

Yay! Paz y buena voluntad a los hombres de eltiempo.com! Excepto que, no. En el siguiente párrafo:

El nacimiento de Anonymous, la organización de hackers que en su momento hizo colapsar páginas de la talla del FBI o de Visa y MasterCard[…]

Ex-fucking-cuse me? Buuuu al editor!!!

Ese es el maldito problema con estos artículos. Preservan conceptos erróneos, y tergiversan el significado verdadero de las palabras. Primero, que un “hacker” es un cuate que sabe utilizar herramientas para vulnerar sistemas. Nel, mil veces nel! Conozco pocos hackers en persona (el equipo completo del Giraffe Chapter califica) pero sé bien quienes *no* son hackers. “Tirar” un servidor no te hace hacker. Sacarle la contraseña de red inalámbrica al vecino tampoco. Y borreguear, menos. Lo que más me molesta, supongo, es que los verdaderos hackers ya no tienen término. “Gurú” no hace justicia: hay gurús que no producen soluciones (i.e. “hackear”). Tampoco “experto”; muchas personas utilizan la etiqueta cuando no tienen el mínimo derecho a ella, y la vasta mayoría son consultores – donde lo que menos se hace, es hackear. Cobrar, eso sí; hackear, terriblemente poco. Y, obviamente, los que verdaderamente merecen la medallita salen perdiendo – porque en el miasma de las TIC (creo que me siento sucio nomás de escribirlo) es difícil distinguir a los elementos valiosos. Bueno, a veces hasta es difícil distinguir a los competentes…

Segundo, que Anonymous es una organización. Esto es un problema ligeramente más grave, porque preservar esta concepción es precisamente el problema de aquellos que pelean contra sus ataques. Creen que hay líderes que derrocar, sistemas centrales que neutralizar, herramientas que identificar. El LOIC es *una* de muchas. Aquí unas cuantas, apenas para DDOS. Y en realidad, ninguna es una “herramienta Anonymous”; mañana sale un plugin para que sirva para XSS, y presto – otra más al arsernal. Arrestan a 7 miembros; 70 más salen de salones de clase, cubículos de oficina, etc. Apagan 3 servidores IRC; mañana publican otros 10 – incluso en otro protocolo, tal vez más seguro, tal vez menos detectable. La inercia y el conformismo de los “expertos” en seguridad es lo que preserva su fuerza.

Quieren derrotar a estos “hackers” y su “organización”? Empiecen a formarse una imagen más propia de lo que en realidad son. El grueso, script kiddies. O acarreados. O ambos. El “miembro” promedio de anonymous no es más hacker que el pajarito de Homero. Y dejen de pensar que están viviendo su propia versión de “Takedown”. Fortalezcamos nuestros sistemas; hagamos consciencia de seguridad. Invirtamos (sí, ni modo) en equipos, si no tenemos el expertise para cubrirnos. Véanlo de esta forma: Anonymous es el equivalente digital de las marchas que acongojan nuestras ciudades casi diariamente. Sí, hay marchas estúpidas. Sí, nos joden la vida a todos. “Use vías alternas” es el credo, no “atropéllenlos a todos.”

Y sí, el próximo miembro de Anonymous que me demuestre que tiene “ganas de explorar” será el primero. La mayoría ni siquiera prueba las múltiples opciones de las herramientas 🙁

Presentación del Taller, “Análisis forense de tráfico de red” (19/04/12, Centro Nuevo León)

Aquí está la presentación. Está en formato 2007 (editable) y 2003 (no editable).

El documento se comparte bajo licencia Creative Commons, en las condiciones indicadas en el link del panel derecho.

Versión 2007

Versión 2003

Además pongo el link para el sitio de los retos forenses, y las herramientas pcapcat y oftcat.

En breve pongo la resolución del problema visto en el taller, actualizando este mismo post.

Presentación del Taller, “Seguridad en Linux” (17/04/12, Centro Nuevo León)

Aquí está la presentación. Está en formato 2007 (editable) y 2003 (no editable).

El documento se comparte bajo licencia Creative Commons, en las condiciones indicadas en el link del panel derecho.

Versión 2007

Versión 2003

Registrando actividad de shell (script) *remotamente*

script es un comandito de UNIX muy útil: permite registrar toda la actividad de la consola (incluyendo salidas de comandos) en una bitácora.

Hasta ahí, nada raro; el problema es que a veces uno quisiera que esta bitácora se registrara fuera del sistema en cuestión, por cuestiones de integridad (modificar en lo más mínimo el sistema en cuestión) o comodidad (centralizar las bitácoras de actividad de un sysadmin de múltiples sistemas, por ejemplo). script exige un archivo local para escritura. Sin embargo, le podemos dar la vuelta… con pipes nombrados (FIFO):


mkfifo /ruta/al/pipe
cat /ruta/al/pipe | nc 192.0.2.1 1111 &
script -f /ruta/al/pipe

Un netcat en el equipo remoto (o un webservice, o lo que sea que reciba nuestra bitácora) y listo!

Mostrar todos los usuarios con shell y cuenta activa

awk -F ":" '$0 ~ /bash$/ {print $1}' /etc/passwd | xargs -L 1 -I {} grep {} /etc/shadow | awk -F ":" '$2 !~ /^!/ {print $1}'

– Requiere privilegios de root, obviamente.

– Sustituir “bash” por la terminal de su preferencia (o sh$ si quieren ver *todas* las terminales…)

– No he encontrado como optimizar la segunda parte a un solo comando awk, debido a que no encuentro como introducir el resultado de xargs a variable en awk. Si alguien lo puede hacer es bien recibida la mejora 🙂

Memorias de la facultad: Examen de admisión

Con el motivo de mi próxima titulación, “Memorias de la facultad” es una serie donde recuerdo mis días en la Facultad de Ingeniería de la UNAM.

Mi examen de admisión a la UNAM fue el domingo 2 de marzo de 2003, a las 8 AM. Vaya que si recuerdo bien la fecha y hora.

En México, para los que no se lo sepan, la UNAM es la mayor (y, en mi humilde opinión, la mejor) universidad del país. Por número de alumnos, es aproximadamente un 50% más grande que la segunda mayor universidad del país, el Instituto Politécnico Nacional. Por extensión territorial, es inmensa: conjuntando todas sus instalaciones excede las 700 hectáreas (es decir, el doble del tamaño de Londres, o más del triple que Mónaco) y su campus principal (300 hectáreas) es Patrimonio de la Humanidad.

Más aún: en México, entrar en la UNAM es algo especial. Cada año se ofrecen alrededor de 15,000 espacios para nuevos alumnos; y cada año, más de 150,000 alumnos buscan un lugar. Que por estadística tengas una probabilidad de 1/10 de entrar es suficientemente malo, pero la realidad es que no para todos es igual. En la última convocatoria de la Facultad de Ingeniería, para la carrera de Ingeniería en Computación aplicaron 960 personas (de las cuales “solo” 876 presentaron examen): 42 fueron seleccionados. 4.7% de probabilidad estadística. Uff…

Yo creo que en mi año eramos más estúpidos, porque cada año el ingreso depende de tu calificación, y de la calificación del top 40 (o cuanto lugares sean ofertados). Si tu calificación está entre esas mejores X, tienes lugar. Para desempates: promedio de prepa y otras particularidades de tus trámites. El punto es que el año pasado, el corte estuvo alrededor de 92 aciertos (de 120, si las cosas siguen igual); yo entré con 86. En fin, así es la vida. Niños estúpidos de hoy, no odien a uno de su clase por tener suerte de nacer 10 años antes que ustedes.

Pero… cómo llegamos a ese punto? Ah, la historia es corta pero divertida. La noche anterior, salí con mis hermanos. Hubo alcohol, desvelada, cigarros… y acabé llegando a mi casa a las 4 AM. Evidentemente cansado, y con el compromiso de ver a mis amigos a las 7 AM para irnos al examen, tuve la brillante idea de dormir una hora. Les digo que eramos más estúpidos en mi época. Total que puse la alarma, me dormí… y mi alarma pasó sin pena ni gloria, porque no escuché absolutamente nada. Siendo domingo, y mis papás teniendo el sueño muy pesado (como yo), supusieron que se me olvidó apagar la alarma para el fin de semana, y la silenciaron por mí. Obviamente, yo estaba en un sueño tan profundo que ni cuenta me dí. Y cuando desperté, ni el dinosaurio ni mi consciencia estaban ahí. Me tomó un par de segundos recordar – domingo, examen… sol, ya da el sol en la ventana! Putamadre, qué hora es??

7.45

Horror. Ensoñaciones de padres decepcionados, compañeros burlones y el eterno arrepentimiento de tomarme ese último tequila. Desperté a mi papá como loco – “Pá, pá, levántate ya, LEVÁNTATE QUE SE ME HIZO TARDE! YA NO LLEGO A MI EXAMEN!!” y, en una de las mejores actuaciones al volante que he visto en mi vida, llegamos del centro de la ciudad a Constituyentes en 15 mins. Estos fueron los sustos que le agudizaron la diabetes a mi mamá, estoy convencido. Y apenas llegamos… 8.05 AM. El de la puerta me vió medio feo (iba yo en un estado híbrido-etílico que solo puedo denominar como crupedo; ojeroso, sin bañarme y con el cabello hecho moronas), pero finalmente traía mi hojita y mi identificación, y me dejaron pasar. De reojo ví los restos de la mañana: los cordoncitos esos que utilizan en el cine y en el banco para hacer una fila, la banqueta tapizada de papelitos, virutas y vendedores cuyo stock no se acabó, pero que hicieron una buena venta. Caray, igual que cuando fuí a registrarme para el examen… ahí vendían los lápices a 10 pesos! Jajaj… a…. umm….

Fuck. No traigo lápiz.

Llegué a mi salón asignado y (muy afortunadamente) me encontré a un amigo de mi prepa. Al llegar repetí el proceso de la mirada del vigilante de la puerta multiplicado por 40: los presentes aspirantes y la encargada de brindarnos las instrucciones para resolver el examen. Ignorando completamente las mismas instrucciones que escuche 40 veces en los cursitos que nos dieron en la prepa para preparnos (“…recuerden llenar completamente el círculo correspondiente a su selección. En la primera página encontrarán ejemplos de formas correctas e incorrectas de llenarlos…”) volteé con mi amigo (“tienes un lápiz que me prestes?”) y después de ver su cara de desaprobación por mi crupedez, me prestó su lápiz de “entrenamiento”, ese al que le quedaba media vida y que no tenía mucha punta. Pero bueno, limosnero con garrote no soy.

Súper. Tengo lápiz, estoy aquí, ya no me pueden sacar. A darle átomos!

Cuando volví a levantar la cara había terminado mi primera sección, y *todos* los aspirantes seguían ahí. Volteé a ver el reloj y faltaba algo así como hora y media para que terminara nuestro tiempo. Pensé “no, esto no es normal” y le dí una revisada al examen. No, todo perfecto: la mitocondria sí sintetiza ATP y Gabriel García Márquez sí es un representante del realismo mágico. Sigo sin saber que onda con los iones hidróxidos pero eso no va a cambiar en la siguiente hora y media. Zaz, ya es hora y cuarto. Volteo a mi alrededor (muy consciente de que en esto o se es súper sutil o súper obvio, porque algo intermedio solo va a lograr que te saquen) y todos están enfrascados en su examen. Chale. Pues lo que vaya a pasar va a pasar. Entrego mi examen y me salí.

Allá afuera, en el medio tiempo, fumé unos cigarros y esperé a mis amigos. Escuchaba conversaciones típicas (“ATP? No seas mensa, las mitocondrias son las que segregan clorifila!”), con mayor o menor desesperación en la voz (“no mames. Ya es mi tercer examen de estos y se ponen más cabrones cada vez”). Finalmente salió uno de mis amigos comentando que estuvo bien fácil. Yo me quedé pensando en aquello de las mitocondrias (“será que la biología cambió durante la peda de anoche?”) y que, a los únicos que ví salir alrededor del tiempo que yo salí, fue a tres o cuatro chavitos que se fueron bien nerviosos, con todo y mochila, lejos de ese lugar. A lo mejor vieron el examen y les dió miedo la dificultad, a lo mejor eran contratados para ir, anotar las preguntas, y salir volando. Como fuera, los “confiados” (esos que salen antes que todos, pero no *tan* antes) salieron como a 30 mins de acabar el tiempo, y la VASTA mayoría salió en manada 5 mins después de acabarse el reloj. La obligatoria intervención de “porqué no llegaste a las 7”, “apestas a alcohol – toma este chicle” y “no mamen, ese wy llegó pidiendo un lápiz” hizo que se pasara rápido el tiempo, y como si nada ya teníamos que entrar a terminar el examen.

La segunda parte fue mate, historia, y otras menudencias. Igual salí con mucho tiempo de sobra, y francamente para cuando acabé ya ni revisé. Aquí me empezó a pegar el sueño, la briaguez y la absoluta falta de revisión de temas en la última semana, y comenzé a llenar bolitas como a dos pasos del “ave maría”. Respuesta que se viera bien, respuesta que recibía una bolita llena. No me importaba mucho recordar mis clases, o las notas de estudio, porque francamente lo que quería hacer más que otra cosa en el mundo era vomitar y dormir.

Para cuando salieron mis amigos llevaba yo como 6 cigarros en el día, hubiera dado mi brazo izquierdo por unos lentes oscuros, y a mis amigos se les ocurrió la brillante idea de irse caminando al metro (y claro, como nadie de nosotros conocía la ciudad en aquellos días mozos, acabamos caminando hasta el metro Chilpancingo). Llegué a mi casa hecho una piltrafa, identifiqué mi cama, y me dispuse a dormir. Y dormir…

Las siguientes semanas trajeron terribles sentimientos de culpa, pues todos mis amigos tenían asombrosas habilidades que yo no, como por ejemplo recordar qué demonios contestaron en el examen. Para cuando llegaron los resultados a mí ya me valía pepino: estaba convencido de que no me había quedado, no había forma de que un briago contestara suficientes reactivos para quedarse en geológica (50 aciertos necesarios), mucho menos para computación. El día que iban a salir los resultados, me despertó un amigo (el mismo del lápiz) preguntándome que si me había quedado; en aquella época no teníamos twitter. Le dije que no (“ehh? quién habla? Aquí no vive Sergio, puto, déjame dormir!”) y me comentó que podía ir a comprar la gaceta al puesto de periódicos, porque la página de internet tenía algo raro y no se podía entrar. Ya despierto, pues qué más iba a hacer.

Folio 1234… a ver aquí están los 1000…. 1200… 1234…

1234 A

Ah, no mamar. “A” de “A huevo que te quedaste, chavo, pásale pa’cá!” “A” de “A que no te la crees, pinche borracho.” “A” de “Aceptado”.

“A” de “Aceptado”.

En otras casas, esta historia estaría seguida de unos tamales, o la familia saliendo a celebrar, o no sé, un puerco sacrificado ceremonialmente. Definitivamente algo que tuviera que ver con comida, porque en México celebramos toda ocasión especial con una comida que nos acercará un poquitín más a la muerte temprana (por la comida o por los alcoholes). En mi casa, bendito sea Buda, el anuncio recibió un “pues felicidades!” y todos seguimos en nuestras actividades normales. Yo me sentí… aliviado, más que nada. Podía continuar mi caminito.

¿Porqué necesitas usas diferentes contraseñas en cada sitio y servicio?

Seguro has escuchado ese mantra:

“Para cada página web, para cada servicio que utilizas, es necesario utilizar contraseñas diferentes”

A la gente le *purga* escuchar esto. “A duras penas me acuerdo de mi contraseña “de siempre”, y tú quieres que use varias? Vete al cuerno.” La verdad es que existe una sencilla y poderosa razón para recomendar esto. Y va, como mantra secundario:

Lo que pasa con nuestras contraseñas en internet no depende de nosotros

A qué me refiero? Seguro escucharon de la vergüenza que pasó Sony el año pasado. En resumen: unos malos muy malos se metieron a sus servidores, y se robaron las contraseñas y datos de contacto (dirección, teléfono, correo electrónico) de *77 millones de usuarios* de la PlayStation Network. Ah, y también tiraron la tal PSN por casi un mes.

Bueno… y eso qué tiene que ver? Pues muy sencillo. Armado de una dirección de correo electrónico y una contraseña, no es difícil para un atacante investigar en múltiples servicios, para determinar si en alguno de ellos el usuario utilizó la misma contraseña. Y efectivamente esto pasó: cientos de reportes surgieron en internet acerca de múltiples otros servicios vulnerados. Por utilizar la misma contraseña.

Las consecuencias pueden no ser fáciles de vislumbrar, pero ahí va un posible camino: obtengo tu contraseña y tu correo. Si usas *esa* contraseña en tu correo, tengo acceso a tu correo. Con tu correo, puedo obtener acceso a tu facebook, twitter, etc. Puedo hacerme pasar por tí. Con un poquitín de suerte, puedo obtener suficiente información personal tuya (digamos, escribiéndole un correo a algún familiar desde tu cuenta de correo) como para fingir ser tú en el “mundo exterior”. Y mejor no le sigo, tanto por no dar ideas, como para no asustar de más… creo que basta con esa idea.

Y si crees que esto solo pasa una vez en la década, estás equivocado. Lamentablemente, los programadores también son personas, y muy lamentablemente, cometen errores. A veces garrafales. Es tremendamente común descubrir que páginas web que manejan usuarios y contraseñas (hoy en día, casi todas) no las manejan de manera segura; ni siquiera con tantito cuidado, vamos. Hay más carnita en ese tema, pero será objeto de… otro post.

Bueno, cómo le haces para recordar todas esas contraseñas? Hay programas que te ayudan. Keepass es una excelente opción si solo utilizas contraseñas en tu computadora; trabaja con Linux, Windows, Mac, etc. Si quieres algo un poco más universal, LastPass admite teléfonos móviles y hasta puedes configurar una memoria USB para servir como token, aunque para todo eso te cuesta extra. Pero opciones hay…