martes, 10 de noviembre de 2009

Convite VIP

Cualquier día, en el laburo de 486...

Usuario: Che, 486. Podés venir? Tengo un mail que no puedo abrir.
486 recorre los diez metros hasta la maquina de Usuario, tratando de interpretar "mail que no puedo abrir": ¿Contraseña olvidada?¿Mayúsculas encendidas?¿Falla del navegador?¿Ausencia de conexión?¿Attachment no estandard?... Las apuestas son infinitas, aunque la experiencia suele acotar las posibilidades. Llega hasta la máquina y ve ésto.


(No exactamente, lo vio en Hotmail+IE. La captura es en gmail+firefox)

486 (a primera vista): No lo abras, es un virus.
Usuario: Cómo sabés?
486: Uno: Está en portugués. Dos: Intenta imitar el formato de los links a los adjuntos de hotmail, pero las palabras tambien estan en portugués. Tres: Quiere que abras el adjunto a toda costa. Cuatro: Todos los links llevan a "http://hostsite2008.blogspot.com/feeds/posts/default". Por eso: no lo abras, es un virus.
Usuario: Bueno, pero igual no anda!
486: Cómo sabés?
Usuario: Porque lo bajé al escritorio, le hice doble click y no hace nada...

Conclusión.
Querido encargado de mantenimiento de pcs con internet:Nunca subestimes las ganas que tiene un usuario de abrir un attach de fuente desconocida. En este caso, la bestezuela habilito los links del mensaje, bajó el archivo y lo ejecutó tratando de ver su invitación a la fiesta VIP. Y hasta llamó al técnico!


Información adicional para el gremio: El famoso convite vip es un virus bastante simple (hasta donde pude ver, al menos). Se ejecuta al inicio del sistema, y cada vez que uno se loguea en su cuenta de hotmail se automanda a todos los contactos. También deshabilita la opción para ver archivos ocultos. Hasta ahora lo detectan la mitad de los antivirus (con una falla alarmante de Avast!) , y aunque Firefox reporta la web como atacante, IE nos da el cartelito de abrir o guardar como si nada, por lo que no viene mal tener algun apunte para su desinfección.

El virus un proceso que se esconde detrás de una llamada legítima a una dll (RUNDLL32.exe), cosa bastante astuta porque lo hace más difícil de encontrar con Process explorer (RUNDLL32.exe es parte del sistema, y tiene firma digital de MS). De todos modos, el HijackThis lo botonea así:

(ya saben, click para ampliar y todo eso)

Para sacarlo cerramos todo, matamos el proceso rundll32.exe, habilitamos la vista de ocultos y de sistema y borramos a mano el archivo C:\WINDOWS\SYSTEM32\Snxmsh.exe. También corremos el HijackThis y arreglamos la entrada en el registro. En caso de que no nos permita habilitar la vista de ocultos podemos usar el bonito RegUnlocker.

Enjoy!

viernes, 11 de septiembre de 2009

Cómo preparar un XP instalable desde USB en 3 pasos / Destripando WinSetupFromUSB



Los muchachos de MSFN y Boot-Land nos simplifican la vida poniendo en una gui sencilla de usar todo el conocimiento de sus foros sobre instalacion de xp desde pendrive, bla, bla, bla, etc.

Y que hay que hacer?

1) Bájese el WinSetupFromUSB desde acá e instálelo en su máquina.
2) Dígale al programita dónde está su cd de instalacion de windows y su pendrive/disco externo. Apriete GO.


3) Mientras espera, ponga un hielo grande en un vaso. Agregue una medida de Fernet Branca y cuatro o cinco de Coca Cola. Tómeselo y disfrute mientras espera.

Listo!

Y basta de intro y how-to. Pasemos a lo que nos interesa: Cómo lo hacen?

Básicamente, WinSetupFromUSB es una interfaz que maneja otras herramientas que ya conocemos. Espiando en su directorio de instalacion encontramos cosas que ya vimos (y llevamos en el pendrive por las dudas): grub4dos, syslinux, pe2usb, HP format tool, y otras que conocimos por bootland como RMprepUSB. También hay scripts y programas para preparar la instalación, y por lo que veo algún driver que reemplaza al que debíamos conseguir del SP1 del windows server 2003.

Así que cuando preparamos la instalación el programa se encarga de modificar lo necesario y copiar todo al pendrive, y además instala un boot basado en grub4dos, que divide la instalación en dos partes, arrancando la primera desde setupldr.bin (as usual) y la segunda desde el mismo pendrive corriendo ntldr, como vemos en su entrada del menú:

title First part of Windows XP Professional setup
root (hd0,0)
chainloader (hd0,0)/$WIN_NT$.~BT/SETUPLDR.BIN
savedefault 1

title Second part of Windows XP Professional setup
root (hd0,0)
chainloader (hd0,0)/NTLDR
savedefault

Todo muy lindo hasta acá. Ahora las malas noticias: La instalación sólo funciona tal como viene en mothers nuevas (que por lo menos reconozcan el pen como (hd0,0) y no como (fd0) ) y si bien dice soportar desatendidos, es necesario que hayan sido armados dejando habilitada la opcion para instalar desde DOS (que no está en nuestros desatendidos favoritos, como el winchiquito o las versiones updateadas del UE7). Como trampa, es posible engañar al instalador para que nos permita crear el usb copiando de un cd de windows original los archivos faltantes (todos los que empiezan con "winnt"), pero aun si esto pudiera hacernos pasar de la pantalla de carga de drivers (que yo no pasé) de todos modos creo que sería un dolor de cabeza: los desatendidos mas populares son muy dependientes del cd. Quizás los técnicos debamos esperar a que, ahora que existe la herramienta, algun amigo como BJ se ponga a armar el paquete con los scripts actualizados para pendrive.

Y entonces... por que tanto entusiasmo?

Bueno; para mi lo mejor que tiene este programa es algo que ya alabé en el instalador de Geexbox, y antes en unetbootin: por medio de una interfaz intuitiva, nos deja con configuraciones que funcionan para hacer las cosas que queremos hacer. Una mirada al menu.lst, por ejemplo, nos revela el modo más práctico de bootear desde una imagen iso que tenemos en el pen:

title Start AcronisMedia.iso from partition 0
root (hd0,0)
map /AcronisMedia.iso (0xff) || map --mem /AcronisMedia.iso (0xff)
map --hook
root (0xff)
configfile /grub4dos.lst || chainloader (0xff)

Esto es para mi como tener a Jaclaz (famoso en los foros que mas me interesan, y primero en la lista de agradecimientos) dictándome los comandos!
Vemos que mapean la iso a la dirección (0xff), y en la misma línea hacen lo mismo pero montándola en memoria (supongo que esa doble barra significa que hacen una cosa o la otra, segun cual funcione. Quizas sea mucho suponer). Después cambian la raiz a la iso montada, y al final se tiran a cargar bien una configfile de grub o directamente intentan cargar el bootsector con chainloader. Esta segunda opción es la que funciona con esta iso en particular (el cd de recuperacion de Acronis True Image). También funca para el silverdisk, y se me hace que entre las dos cubren gran parte de los booteables. Por suspuesto, también podemos hurgar un poco en la iso y escribir la linea correcta, que para algo venimos practicando con grub4dos!

Y no los molesto más. Si les interesa comentar lo que pudieron hacer arrancar (y cómo) los voy agregando al post. Por mi parte, pienso probar hirens, puppy y slitaz para empezar, ni bien tenga algo de tiempo para algo de diversion geek.

Mientras tanto, disfruten!
(Y si no pueden invitar, al menos cuenten).

viernes, 21 de agosto de 2009

Virus de pendrive... en pendrives, donde va a ser!

Hace algunos años, los tecnicos de pc tuvimos que empezar a lidiar con los virus. En un principio se trataba de cadenas de código autoreplicante, que se anexaban a los ejecutables y los "infectaban". En esa época los antivirus se encargaban de escanear y limpiar los ejecutables y, cuando las rutinas de deteccion descubrían el virus antes de que estuviera lista la rutina de desinfección, colocar el archivo en cuarentena esperando la cura.

Los mecanismos de infeccion eran azarosos para los que no andabamos por BBSs: el único modo era contagiarnos mediante algun diskette con archivos infectados, o un virus del sector de arranque. Cuando se popularizaron las grabadoras, quizas alguno haya llegado por un cd. Después vinieron los virus de macros en documentos de office, y luego la fauna de troyanos que conocemos ahora.

A mi siempre me interesaron los aspectos de ingeniería social en la distribución, es decir, aquellos que en vez de explotar vulnerabilidades del sistema se encargaban de explotar debilidades del usuario. Para nombrar un par, los archivos de extensión doble del tipo "miramisfotosentopless.jpg.scr" en el msn, y las páginas de falsos escaneos de disco como la que vimos aca me parecen ideas geniales.

Hace algún tiempo (dos o tres años aca en argentina, o desde que empece el blog) se popularizaron los discos extraibles en cualquiera de sus formas: pendrives, mp3, tarjetas de memoria etc, y los hacedores de virus observaron ese crecimiento con los ojitos brillantes por la emoción. Entonces se dedicaron a crear virus de pendrive.

Desafortunadamente para ellos, los diseñadores de pendrives y sistemas operativos ya no son como entonces: los discos extraibles no tienen autorun automático como los cds, y no se puede infectar el bootsector como en los diskettes. Es decir, que no hay manera de que el pendrive con virus infecte a la máquina sin intervención del usuario. Con solo enchufarlo no basta.

Y como cualquiera sospecharía de un archivo llamado "miraestevideocachondo.wmv.exe" en la raíz del disco (bueno, no cualquiera, seguro que algunos le harían doble click si se encontraran el pendrive tirado, pero digo cualquiera con dos dedos de frente, se entiende...), nuestros amigos tuvieron que buscar otras formas, principalmente de ingeniería social, para que el usuario ejecute el virus por si mismo en el uso normal del pen.

Detallo aqui los dos métodos que vi "in the field", con la esperanza de que mis lectores-técnicos de campo agreguen las joyas que hayan encontrado:

1) El viejo autorun.inf: Como ya vimos en este blog, es posible crear un autorun para asignar resultados específicos a las acciones sobre el pendrive. Así, un doble click al disco extraible desde Mi PC ejecuta sin preguntar el archivo que se indique en la linea open= o shellexecute= , mientras que si hacemos boton derecho sobre la unidad tendremos un menú que podemos personalizar a gusto. También se ejecuta la linea open= si aceptamos la accion predeterminada en el cuadro de dialogo de reproduccion automágica.

Usando este mecanismo, muchos virus de pendrive (la mayoría) se copian a la raiz del disco, y crean un autorun.inf oculto, que ejecuta el virus ante cualquier acción del desprevenido usuario. De estos vi también algunos que crearon una carpeta (oculta también) que pretendía pasar como una de sistema (recycler, por ejemplo) para dormir tranquilos ahi dentro.

El especimen mas raro que encontré de este tipo es uno que consistía en un autorun.inf solitario (sin ejecutable a la vista) ,de 140k. Al abrirlo, aparecía la maraña de caracteres especiales que uno ve cuando abre un binario con un editor de texto, con alguna cadena legible a lo largo del archivo. Me imagino que sería un combo autorun/virus, lo cual sería interesante para tratar de descubrir como corno ejecutas un .inf, o algún método para evitar el borrado del autorun, lo cual sería inteligente, o algun truco para hacerme creer eso, lo cual sería humillante. Elijan la que quieran.

2) La nunca bien ponderada falsa carpeta: Esta la vi ayer, y me parece genial. Una compañera de laburo/cliente le compro un Mp5 a la hija, y me lo trajo porque no podía cargarle música, ni sacar las fotos de adentro, y el antivirus saltaba cada vez que quería abrir una carpeta. A pesar de eso, el aparato funcaba. Cuando lo conecté encontré algo como esto:


El fucking virus había ocultado las carpetas reales, y había creado sendos ejecutables con el mismo nombre e icono! También había un ejecutable suelto y un autorun, para no dejar vector de ataque sin usar. El usuario entraba al aparato, y solo podía ver los ejecutables, por supuesto, sin las extensiones… lo cual es un excelente modo de hacer que cualquiera haga doble click sobre tu virus.

A pesar de la inventiva de los muchachos, hay que decir que cualquiera de estos métodos queda al descubierto cuando tenemos acceso al pendrive con vista de extensiones, archivos ocultos y de sistema; y que es posible (por ahora, al menos) explorar cualquier pendrive sin riesgo abriendo el explorador de windows a mano, y simplemente eligiendo la unidad con un click en el arbol de directorios. Por supuesto, en una máquina limpia! Porque teniendo control sobre la maquina host, cualquiera puede ocultarte lo que no quiera que veas.

Para terminar, les dejo una segunda recomendación: inmunicen su pendrive, y los de sus usuarios. No es necesario instalar nada, ni llevar un antivirus. Basta con seguir el método de CoskiBukowski, creando una carpeta en la raiz con el nombre autorun.inf, asi cuando ponemos el pendrive en una maquina con virus el maldito no puede crear su autoarranque, y el pendrive colecciona los ejecutables sin contagiar. Esto nos deja sin el bonito autoarranque, pero nos libera de revisar el pendrive cada vez que pasamos por una maquina sospechosa.

Fin. Enjoy!

jueves, 6 de agosto de 2009

Uno de herramientas

En nuestro laburo diario como técnicos, hay ocasiones en las que tenemos que poner a prueba nuestra inteligencia, inventar soluciones, hacer uso de nuestra experiencia en el manejo del usuario o simplemente aprender algo nuevo "on the fly". Estos son los trabajos que mas nos gustan y mas nos desafían. También son aquellos por los que cobramos siempre menos de lo que valen. Y son los mas escasos.

Asi, que, en general, los trabajos que tenemos que hacer son rutinarios y aburridos: reinstalar un sistema, cambiar una fuente, instalar un router wifi, compartir una impresora ,cambiar un antivirus o armar un equipo nuevo. Por eso está bueno disponer de herramientas y técnicas que nos permitan hacer esas cosas de un modo simple y rápido, mientras jugamos al Call of Duty o leemos a Feinmann en pdf (se nota que no tengo internet en casa todavía).

Como ejemplo, les presento tres herramientas que uso en casi cualquier trabajo sobre un sistema en uso: reinstalaciones, limpieza de virus, restauración de imágenes de ghost y otras.


1) Windows XP live USB Angelina edition: creo que su nombre lo dice todo. Lo baje de Taringa! hace un tiempo, antes de que saliera el hirens 9.7, y lo sigo prefiriendo sobre el mini xp que viene ahi, aunque es mas limitado. No tiene soporte para red, y algunas aplicaciones no arrancan por falta de librerías, pero el wallpaper lo vale!

Llámenme baboso...

Lo pueden conseguir acá, y buscando "XP Angelina" salen varios más.
En el rar esta la imagen, y el PeToUsb configurado para ponerlo en el pendrive. Por supuesto, yo lo tengo arrancando desde el Grub4Dos del hirens con las lineas:

title Angelina
find --set-root /minint/setupldr.BIN
chainloader /minint/setupldr.BIN

Lo uso principalmente para examinar el disco en máquinas en las que el windows no aranca, para hacer limpieza de documentos antes de reinstalar y para jugar al solitario (portable, claro) mientras se hace o se restaura una imagen de ghost. En tareas de limpieza es ideal con la próxima herramienta...

2) Scanner: Una joya que encontré en la Lupo Pensuite. Es uno de los muchos programitas que nos muestran el disco de alguna forma mas o menos gráfica. En este caso, en forma de anillos. Una muestra recursiva: el pendrive que tiene el programa:

Gasto casi 19Mb en la iso del geexbox... porque lo vale!

Es asi de simple: sirve para ver porqué un XP que parece limpio y se usa "solo para navegar" pesa mas de 20Gb; para encontrar las carpetas de descarga (por ejemplo, viejos temporales del emule, o carpetas de música y películas), y desde el Angelina sirve para borrar sin problemas el archivo de intercambio, la informacion de restaurar sistema, los temporales de internet y todo lo que no nos parezca innecesario antes de hacer el backup de un sistema usado. La verdad, creo que son pocas las maquinas en las que no termino corriéndolo para ver que onda. Lo pueden bajar desde acá.


El otro infaltable a la hora de rescatar documentos de una maquina con virus (o de una que no arranca) es el archiconocido Total Commander. Para los perdidos que no lo conocen, es un clon del viejo Norton Commander pero para windows. Es muy útil para mover grandes cantidades de información a golpe de F5, y tiene una ventaja importante con respecto al explorador de windows: cuando falla la copia de un archivo por cualquier motivo, nos permite continuar con el siguiente item. Además nos permite sincronizar directorios, puede leer y copiar desde archivos comprimidos y tiene funciones para partir y combinar archivos (split/join). Una belleza!
Para los que no lo tengan, pueden bajar una versión shareware funcional de la página oficial, o una versión portable y trucha desde acá.


Y ahora que particionamos, limpiamos, backapeamos y estamos reinstalando un desatendido en la maquina del cliente, ya podemos bajarnos la iso del último puppy para poner en el pendrive. Y para probarla de inmediato, podemos usar Mobalivecd!

Trabajen... y disfruten!

sábado, 25 de julio de 2009

Rescate emotivo

-------Corte aqui para saltear la intro-------

Ayer estaba revisando unos cds viejos (muy viejos), buscando algun juego para jugar en red en una lan con maquinas viejas. Encontre uno que se llamaba 3Dgames, que tenia varios: el viejo wolfenstein, el doom 1, el 2, el heretic, el hexen, el rise of the triad, el duke nukem y mas. Tambien encontre una carpeta llamada "Mis Documentos 04-99". Atrapado por la curiosidad, me puse a revisar mi vida de hace diez años, y encontre este cuento... Y como ultimamente estoy falto de inspiración (no de anécdotas, sino mas bien de la capacidad para hacerlas parecer interesantes) voy a dejar que el blogger que no fui venga al rescate del que soy.
Pido disculpas de antemano por la longitud y la oscuridad del cuento. Y tambien por el estilo, aunque no porque piense que esta mal escrito, sino todo lo contrario: pido disculpas porque me parece que no supe mantenerlo. En claro, creo que escribía mejor antes.

-------Fin de la intro-------

Enero


  Hoy nos llegó la carta. Tiene membrete oficial, nos acusa como denunciantes sin especificar ni fechas ni situaciones, y nos invita a mudarnos a los bajos en los próximos treinta días. A esa altura de las cosas ya no nos lo esperábamos. 
  Habían pasado seis meses desde el problema con las cloacas, que fue el que generó la primera división de la ciudad en altos y bajos, y las marchas, los panfletos y las quejas habían sido olvidados. O al menos eso creíamos hasta que llegó la carta.
  Así que nosotros éramos denunciantes, y nos teníamos que ir. En estos últimos tiempos los cercos se habían estrechado bastante, así que debimos imaginarnos que pasaría esto. Al principio los denunciantes eran ignorados. Luego fueron multados, y al final, con el vallado de la ciudad, se los obligo a quedarse en los bajos para siempre. A muchos no les cambió mucho la vida, porque de todos modos vivían ahí. A los que quedaron del lado norte por casualidad, como nosotros, no se los obligo a irse, pero se los amenazo con el destierro si reincidían. Por lo visto necesitaban espacio para nueva gente decente en los altos, y nuestra casa era una de las pocas construcciones pobres de la zona.
  En parte era bueno mudarse a los bajos. Todos nuestros amigos habían quedado de ese lado.

Febrero

  En febrero fue la mudanza. Nos asignaron un lugar en el sur, cerca de lo que era el policlínico, que aún funcionaba a medias en los pisos superiores. La casa no estaba del todo mal. Como el resto, el piso de abajo estaba clausurado, y arriba había una casilla hasta la que subían los caños de agua y gas, como una enredadera de plástico en la pared del frente. En esa zona de la ciudad la mierda ya tenía unos cincuenta centímetros, así que los pobladores usaban pantalones de caucho enteros, y barbijos permanentes. Fue lo primero que compramos al llegar.
   
Marzo

  La mierda que rebalsa de las cloacas ya subió otros diez centímetros. La gente que vive acá desde que empezó todo ya no contabiliza esas cosas. Para colmo, cada vez hay mas gente en los altos, y los caños que vienen de allá se multiplican bajo tierra. Creo que nunca sería albañil de los bajos. Es un laburo de mierda, literalmente. Ese tema me preocupa. Cuando nos desterraron nos quedamos sin trabajo, y acá está tan difícil como en cualquier otro lado. Es cierto lo que dicen; que la solidaridad entre vecinos creció mucho acá, pero de todos modos... la cosa es que se nos terminan los ahorros, y vamos a tener que hacer algo. Espero que tomen a Susana en la escuela 45, que nos queda cerca, aunque no sea muy cómoda. Es una construcción de techo bajo, y cuando levantaron el piso con tarimas de madera flotantes quedó apenas espacio para moverse. Los chicos caben sentados, pero si esto sube veinte centímetros más la maestra va a tener que enseñar cuerpo a tierra.

Abril

  Setenta centímetros. Conseguimos trabajo en una fotocopiadora en la escuela, eso nos alcanza para pagar el alquiler. Los del río y los de los altos siguen engrosando las murallas que contienen la mierda, mientras hacen licitaciones delirantes con empresas fantasmas del exterior para destapar nuestras cloacas. Con Susana nos hicimos una balsa con barriles de doscientos litros, para poder ir a la escuela sin mancharnos. Estamos remando con palos, como en Venecia. A la vuelta, de vez en cuando, nos hacemos una provisión de arroz, fideos, polenta y otros envasados (porque las verduras no llegan, y plantar es imposible), para no tener que volver a salir más tarde. De casa al trabajo y del trabajo a casa.

Mayo

  Hace dos meses que no tenemos luz. La central cortocircuitó con la mierda, y nadie se atrevió a arreglarla, ni tiene con qué. Los diarios no se volvieron a repartir, y de las radios solo de escucha ruido blanco, con ráfagas de palabras, quizás de alguna radio uruguaya. La cosa es que nuestra única fuente de información son los rumores, que circulan rápidos en la escuela y el almacén. Los rumores anuncian que se vienen las elecciones. No sabemos si podremos votar. No sabemos si nos consideran ciudadanos, siquiera personas. Pero tenemos la esperanza de que algún candidato en campaña piense que sería un buen gesto de su parte darnos una mano con las cloacas. A esta altura, muchos de nosotros estamos enfermos, tenemos manchas en la piel y vivimos débiles. Cientos de personas murieron ahogadas en accidentes o por voluntad propia. Se hace difícil mantener a los chicos a salvo. La mierda lleva un metro de profundidad, y sigue subiendo.

Junio

  Las elecciones son en agosto, y parece que sí somos ciudadanos, porque van a habilitar urnas en todas las escuelas para que podamos votar. Además, se está corriendo la bola de que los candidatos van a venir. Quizás sea para bien. Hace mucho que no viene nadie de afuera a asomar la nariz por este chiquero. Quizás sea un buen signo que venga alguien, aunque sea para vendernos un buzón más. Las cosas por acá siguen empeorando, si es que eso es posible. El nivel sube, y el cansancio también. 

Julio

  El helicóptero de los candidatos llegó a posarse sobre el ex policlínico, y los políticos bajaron rápidamente con sus cámaras y sus guardaespaldas. Todos los habitantes de los bajos fueron invitados insistentemente al debate. Cientos de policías vinieron, y aterrizaron sus helicópteros en las casas más altas. Nadie que pudiera moverse pudo faltar. Los enfermos quedaron custodiados. Susana y yo fuimos obligados a ir.
  El debate se preparó en una sala enorme, y un circuito cerrado de televisión llevaba la voz y la sonrisa de los candidatos a todo el edificio habitado. Las cámaras de televisión de los partidos y sus canales no filmaban el exterior, sino la fiesta, y sobre todo a los candidatos. Ellos hablaban a la multitud sobre el bien del país, el crecimiento de la economía, el patriotismo, la seguridad y las relaciones mundiales. Como siempre, todos el mismo discurso. Las principales discusiones eran sobre el aspecto de tal o cual político, sobre la simpatía o el carisma, sobre el perfil popular de éste o aquel, de uno o de otro. Nadie habló de las cloacas. Nadie dijo mierda. Las pocas preguntas permitidas al público fueron hechas por gente que no vivía con nosotros, extraños mal disfrazados de vecinos, y se refirieron a las mismas discusiones sin sentido. Al promediar el debate empece a sentirme mal. Era algo normal en los últimos tiempos, creo que me había enfermado, y casi cualquier cosa me daba náuseas. Debe haber sido más fácil acostumbrarse al olor para la gente que estaba acá desde el principio. Todos los desterrados y los recién llegados estabamos enfermándonos. Los vecinos viejos nos decían "blanditos", cariñosamente. La cosa es que salimos de la sala, y llegamos a la planta baja, que estaba vacía. El piso no tenía salida a la calle, estaba medianamente sumergido y las aberturas estaban selladas. De todos modos, solamente funcionaba la morgue. El olor era horrible, pero era mejor que la multitud.
  Vimos por televisión el fin del show. Hubo un gran movimiento y los candidatos, sus cámaras y sus guardaespaldas partieron en el mismo helicóptero en el que habían llegado. El circuito cerrado empezó a transmitir el himno a todo volumen, y las imágenes fueron reemplazadas por una pantalla fija, con el escudo nacional y la bandera.
  Al terminar el himno se cortó la luz. Se habían llevado el generador, y los televisores pasaban a ser solo otro juguete inútil. Sin el brillo de las pantallas, el hall de la planta baja fue iluminado solo con la luz que bajaba por la escalera. Y junto con la luz escuchamos gritos. Hasta nosotros llegaba el ruido de la multitud desesperada por salir, apretujándose en las escaleras, golpeando las puertas sin conseguir nada. Y segundos mas tarde llegó el olor del gas. Era extraño, frío y silencioso como una víbora. Corrimos con Susana por los pasillos a oscuras, hacia la única salida posible de ese infierno: el hueco de un ascensor en desuso hacia meses. Lo encontramos, abrimos la puerta y saltamos a lo negro perseguidos por la muerte fría. 
  El hospital tenía tres subsuelos, todos ellos inundados. Cuando caímos al agua y a la oscuridad no sabíamos a que profundidad estábamos, pero de todos modos sabíamos que tendríamos que encontrar la salida. Nos agarramos de los cables, rogando que el ascensor no estuviera debajo nuestro, y yo me sumergí en la mierda para buscar una abertura. Encontré la puerta justo debajo de nuestros pies, subí para tomar aire y contarle a Susana, y me sumergí para abrirla. Cuando lo hice, entre en la habitación, subí y encontré aire. No tenía idea de dónde estaba, pero en esa pieza había unos treinta centímetros de aire enrarecido, y todo era mejor que el gas. Así que volví a salir al hueco del ascensor, y guié a Susana hasta el aire. Nadando por el lugar a oscuras, buscando un objeto en el que pudiéramos hacer pie, choqué con una masa sólida y blanda. Quise mantenerme a flote agarrándome de ella, pero se hundió ni bien me apoyé. Pensé que, por suerte, no era nada que estuviera vivo, y entonces vino a mi cabeza una posibilidad que me llenó de terror: quizás estuviéramos en el subsuelo en el que estaba la antigua morgue. Traté de no pensar en eso, de no intranquilizar aún más a Susana con mis paranoias. Seguimos buscando, y al final encontramos algo que posiblemente fuera una camilla, y nos quedamos abrazados, resistiendo las náuseas y los mareos, y intentando no pensar, ni movernos.

  Pasamos muchas horas así, rodeados por un silencio y una oscuridad profundos, invisibles como el olor a muerte que nos rodeaba. Ni un rumor sacudía el edificio, y estábamos al borde de la desesperación. Decidimos intentar salir. Nuestros cuerpos no resistirían mucho tiempo más el frío y la humedad. Nuestros ojos la oscuridad, nuestros oídos el silencio y nuestras fuerzas la angustia de no saber cuanto va a durar la angustia. Así que nos pusimos a buscar, a tientas, el hueco de la escalera, de habitación en habitación. La subida principal estaba clausurada, así que seguimos explorando hasta que encontramos otra subida, apenas cubierta con unas maderas. Trabajamos golpeando contra la tapa durante horas, y al fin salimos a una habitación que parecía ser el cuarto de servicio en el que estamos hoy. Fue un alivio estar fuera del agua, después de quien sabe cuantas horas. Fue un alivio sentarse, desnudarse y lavarse con detergente, y tirar la ropa al agua y volver a poner la tapa. De lo que era mío solo conservo este diario, una especie de carta sin destinatario, y que termino de escribir aquí. La habitación está cerrada. A través de una mirilla se pueden ver pasillos repletos de gente con expresiones desencajadas, las caras del horror, de la muerte asfixiada, de las uñas sangrantes tratando de abrir ésta puerta sin saber que no conducía a ningún lado, más que a la prolongación de la agonía, a la mierda. No queremos mirar, por temor a ver algún amigo. Estamos desnudos y enfermos. No tenemos fuerzas para salir, y hace mucho que no comemos. No esperamos nada de nadie. Vamos a acostarnos en el suelo, a quedarnos abrazados hasta dormir o hasta morir, no importa. Éstos somos. Acá estamos. Acá pertenecemos.


jueves, 18 de junio de 2009

Geexbox again!

Hace un tiempo publiqué en este mismo blog (obvio, porque no tengo otro) un método para poner el Geexbox en el pendrive. Y ahora voy a publicar otro. ¿Por qué? Porque el público se renueva (Mirtha Legrand Dixit), pero no solo por eso, ( la búsqueda en el blog está tan a mano, bastaría con poner "busquen Geexbox en el blog y lean, loco!", o un más lacónico link), sino porque Geexbox también se renueva.

Pero que corno es Geexbox, que ya lo nombré 5 veces y no dije que era?

Bien, para los recien caidos del catre, Geexbox es una mini distribución de linux que sirve como mediacenter. Pero en serio. Tiene codecs para todo lo que le tiremos encima (y digo todo, FLV, MP4, 3GP, MKV, RMVB, MOV, y por supuesto AVI y MPG, reproduce DVD, VCD y audio CD, MP3,OGG, JPG,BMP...y ya me cansé. Si encuentran algo que no corra ahi y sí en otro lado, me avisan), tiene soporte para red, usa la salida de tv de las placas nvidia y ati, detecta placas sintonizadoras de tv, esta preparado para usar con control remoto y pesa (con todo) unos 20Mb. Y arranca en 25 segundos, en un sempron 2400 con 96Mb de ram. Y se apaga en 2. Y reproduce archivos dañados. Y mas.

Geexbox a pleno!

Y por qué digo que se renueva?

Bueno, estaba esperando que pregunten eso! Si leyeron el post anterior, puede que recuerden que para poner el Geexbox teníamos que extraer la carpeta en el pendrive, instalar el syslinux y modificar el archivo syslinux.cfg para agregarlo. Ahora, los amigos de Geexbox nos dan un instalador que nos deja todo cocinado y listo para usar. Sólo nos pide que le digamos cual es la imagen iso que queremos instalar, y dónde la queremos poner. Basicamente hace lo mismo que hacíamos a mano, pero en 30 segundos.


En este momento yo lo estoy usando como solucion al problema del hirens 9.7 y grub4dos. Me basta con instalarlo, apretar ESC cuando carga el menu del Geexbox y escribir GRUB.EXE en el prompt para tener mi menu del hirens.

Pulse ESC aqui para salir al prompt...

Y hablando de grub4dos: el instalador en cuestion trae una sorpresa más. Si queremos poner la cajita multimedia en nuestra máquina con windows (es decir, elegimos la opción "install to windows partition") , este simpático programita instala grub4dos colocando una entrada a grldr en el archivo boot.ini, permitiéndonos entrar al menú de la distro desde el menú de arranque de windows.
Es decir, que en unos míseros 371Kb el instalador de Geexbox concentra la mitad del know-how de este, su blog amigo, y nos proporciona ejemplos funcionales de syslinux, grub4dos y el propio arranque de windows. Lo dicho, una joya que no debe faltar en el pendrive de la dama o el Mp3 del caballero.

La yapa: cómo configurar Geexbox para acceder a carpetas compartidas en red de windows.

Background: Hace unos días rescaté una mother asrock con un sempron 2400 (el viejo truco de cambiar los capacitores reventados. BTW ¿Vieron como están cayendo las asrock de hace unos 5 años? Como moscas!), y le puse una fuente de 20 pines, y una memoria de 128Mb (usando 32 para video). Como no tengo tele (y no creo que vaya a tener, asi de hippie soy) me consegui un monitor de 17´ y armé el engendro en la cocina. Después preparé un cable de red cruzado entre esa máquina y la de escritorio, y le puse a esa una dirección IP fija: 192.168.1.99.

Para lograr que el Geexbox me lea las carpetas compartidas, modifiqué el archivo /GEEXBOX/etc/network en el pendrive, cambiando estas líneas:

PHY_TYPE="auto" # Network physical type (auto|ethernet|wifi)
HOST="192.168.1.98" # GeeXboX IP ("" for DHCP) <--ESTA
SUBNET="255.255.255.0" # GeeXboX Subnet mask ("" for DHCP) <--ESTA

...

#STATIC_SMB="username<%>password<@>ip<&>myservername<#>share1<#>share2<#>share3"
STATIC_SMB="<%><@>192.168.1.99<&>lepton-z<#>peliculas<#>musica" <--ESTA

Siendo lepton-z el nombre de la pc que tiene las carpetas compartidas (lepton-z es el nombre por defecto de la maquina en el winchiquito), y "peliculas", y "musica" los nombres de las carpetas compartidas de contenido idem (no soy muy original). Le puse ip fija a las dos máquinas porque el DHCP no me funcó bien (culpo al router, un encore de los peores). Funciona de maravilla, y me permite ponerle a mis hijas el superagente 86 mientras sigo laburando en mi maquina.

Nota mínima pero importante: cuando editen el archivo, haganlo con un editor de texto plano. Quiero decir, no usen el bloc de notas ni el wordpad, porque ambos formatean el texto de algun modo, y después el Geexbox no lo lee bien. En windows pueden usar el Notepad2, o mas sencillo, inicio->ejecutar->edit.com . Y no digan que no les avisé!


Enjoy!

jueves, 4 de junio de 2009

El Hacker: una historia de terror

Andrea era una mina normal: treinta y pico de años, soltera, empleada y viviendo con sus viejos. Había tenido también sus desengaños amorosos y sus reveses, como casi todo el mundo a su edad.

Andrea había escuchado historias de terror acerca de chicas de cualquier edad, que conocían gente por internet y luego eran violadas, drogadas y secuestradas, en ese orden o cualquier otro, pero nunca les había dado credito... hasta ahora.

Hace unos días, en un momento de soledad, había puesto su correo personal (el que tenía su nombre y apellido en la dirección) en una página de chat anónimo, y había aceptado a un deconocido de apodo "ElGeek" para charlar por MSN. Él le contó que estaba separado, que tenía dos hijas y que seguía amando a su ex. Le habló de su situación, de sus errores y sus deseos, e incluso le pidió su opinión sobre algún tema. Andrea se sintió en confianza, y también le contó de sus desamores y penas, dejando que Sabina explique por ella cómo se sentía. Así hablaron un par de veces, como si se conocieran, riéndose a veces de sus dramas, pasando de lo trascendente a lo trivial.

Hasta aquel horrible día.

Andrea estaba chateando con un amigo, escuchando música con el Ares, y lo vió conectado. No tenía ganas de hablar con el, y el tampoco se comunicó. Pasadas un par de horas en las que estuvo conectada, mientras sonaba un tema de Ricky Martin se abrió una ventana de conversación con "ElGeek"...

ElGeek: -¿Que te anda pasando Andrea? De Sabina a Ricky Martin! Estas bajando el nivel!

Andrea miró por encima de su hombro: estaba sola. Bajó el volumen.

Andrea: -¿Cómo sabés?

ElGeek: -Lo veo en tu mensaje de estado. Debés tener un plugin que me lo muestra. Y además me mostró que escuchaste a Carlos Vives, Montaner y Calamaro antes...

Andrea no entendió lo que le dijo ElGeek acerca del "pluguin", pero se aterrorizó de pensar que alguien que ella no conocía estaba mirando su computadora. Y ella le había dicho por que barrio vivía! Se lo imaginó buscándola por todos los negocios de la zona, siguiéndola hasta su casa, acechándola como en las películas. Corrió a cerrar un poco mas la persiana de la ventana que daba a la calle, y al volver leyó la despedida de ElGeek:

-Che, me voy a dormir. Chau.

Después de eso, vinieron horas de angustia. Andrea revisó todo el contenido de Mis Documentos para ver si faltaba algo, y volvió revisar las fotos temiendo que el hacker se hubiera llevado justo esas. Agotada, al fin apagó la computadora. Quizo dormir, pero su inquietud le impedía conciliar el sueño. ¿Qué debía hacer?¿Cómo impedir que el ladrón se llevara sus recuerdos más íntimos, sus conversaciones guardadas, sus documentos de trabajo?

Pensó: -No puedo dejarme ganar por este hijo de puta. Si el me quiere joder, lo voy a primerear. Ya va a ver este hacker con quien se metió.
Se levantó y prendió de nuevo la computadora. Se conectó al MSN y le escribió a ELGeek un mensaje sin conexión.

...

Al otro día, ElGeek acuesta a dormir a sus hijas, mira un capitulo de Fringe y se conecta al eMeSeNe para ver si puede hablar con alguien un rato antes de dormir. Le llama la atencion la velocidad con la que se abre la ventana de conversacíon con Andrea, hasta que nota que es un mensaje sin conexión. Hace foco en la ventana y lee:

(Offline) Andrea said :
[22/05/09 06:01:27] mira te escribo este msj antes de levantar acciones legales,no te metas mas en mi cuenta x suerte mi hna trabaja en telefonica, te ubica al toque te pido x favor respetes mi privacidad no te comuniques mas conmigo xq la vas a pasar mal...ok?

ElGeek contuvo la carcajada para no despertar a sus hijas, borro a Andrea de su lista de contactos, y se acostó a dormir.


PD: Para los que tengan dudas acerca de la veracidad de la historia, quisiera citar a Borges, en este caso el final de Emma Zunz: "...sólo eran falsas las circunstancias, la hora y uno o dos nombres propios."

viernes, 3 de abril de 2009

Resolviendo incompatibilidades del hirens 9.7 y grub4dos

Desde que escribi el apunte acerca del hirens 9.7 y grub4dos lo llevo conmigo en un pendrive, y tuve la oportunidad de probarlo en varias máquinas. Comprobé (al igual que algunos de los lectores de este blog) que el arranque es, digamos... mañoso. Tiende a fallar en máquinas que tienen éxito booteando syslinux, o directamente sectores de arranque de dos o ntfs. Por suerte también llevo encima otro pendrive con hirens 8.5 y slax... pero no es el caso. Nosotros queremos el oro y el moro, la chancha y los veinte. Y queremos que funcione el 9.7 con su XP live en las máquinas difíciles.

Por eso, porque somos tercos y obstinados, y porque un geek que se precie no se deja vencer por pequeñeces (en estas cosas al menos), es que vamos a poner el nuevo Hirens en el pendrive, pero con el método "old school", es decir booteando en el viejo y querido D.O.S.

Aquí un mini howto:

  1. Extraemos el contenido de la iso del hirens en una carpeta, digamos /hirens.
  2. De ahí extraemos el contenido del archivo /hbcd/boot.gz (que contiene el arranque en dos) a otra carpeta, digamos /boot. Es necesario extraer boot.img primero (puede ser con winrar) y después abrirlo con algún programa para manejar imagenes de diskette. Yo uso winimage (shareware).
  3. Formateamos el pendrive con la utilidad de hp, que pueden bajarse aca o aca. Tenemos que chequear "Create a DOS startup disk" y apuntar a la carpeta /boot para que saque de ahi los archivos de arranque.
  4. Copiamos al pendrive el contenido de las carpetas /hirens y /boot. Cuando copien /boot les tiene que pedir sobreescribir io.sys, msdos.sys y command com. Por las dudas pongan que no.
  5. Bajamos el ultimo grub4dos y extraemos a la raiz del pendrive los archivos ,grub.exe, grldr y menu.lst.
  6. Agregamos al menu.lst la linea para bootear el xp

    title Mini Windows Xp
    find --set-root /HBCD/XPLOADER.BIN
    chainloader /HBCD/XPLOADER.BIN

    (o si ya tenemos el grub de la pagina del hirens, usamos ese menu.lst)
  7. Y ahora la única novedad con respecto a los varios tutorials que hay acerca del tema en este blog: agregamos grub como opcion en el menu del hirens: esto se hace editando el config.sys que tenemos en la raiz del pen, agregando esta linea. después de la entrada [MOREMENU]:

    [MOREMENU]
    menuitem=GRUB, Grub del hirens9.7
    submenu=BOOTTOOL, MBR (Master Boot Record) Tools...
    ...
    y al final del archivo

    [GRUB]
    device=GRUB.EXE

Esto agrega una opción "Grub" como primer ítem del menú "Next..." del hirens, y ejecuta grub4dos desde DOS cuando la elegimos. Así nos evitamos el problema de que grub no encuentre grldr, porque estamos trabajando desde la particion y no desde el MBR (la rima es involuntaria). Aclaro que hubiera preferido ponerlo como opcion en el primer menú, pero parece que hay un límite en 10 items. Fijense dónde les resulta mejor (por ahí mover uno de los submenus a "Next..." para hacer un lugar).

Para los que ya hayan puesto el hirens con el método viejo (como el amigo Norberto) , los pasos son menos: basta con copiar los archivos del boot.img y el grub.exe a la raiz del pendrive, modificar el config.sys y sacar el grub del mbr. Este paso puede hacerse booteando hirens con el probador de Ubcd4win (que debería funcionar, porque no depende de la bios) , arrancando hirens->next->dos->dos , cambiando a A: e ingresando fdisk /mbr, y sys c:

Avisen como les fue
Enjoy!

Actualización: al igual que con la otra entrada acerca del hirens 9.7, todo lo dicho en este apunte se ve superado por una línea al pie de la pagina de Hiren sobre el tema

Troubleshoot

If you get GRLDR error then use syslinux to boot grub4dos

En ese caso los pasos son:
  1. Bajar el syslinux de hirens y decomprimirlo en cualquier carpeta.
  2. Ejecutar RunMe.bat e ingresar la letra en la que se monto el pendrive.
Esto instala syslinux en el mbr del pen, y lo setea para correr grub.exe (incluido en el paquete).
Again, no tan entretenido, pero definitivamente mejor.
Suerte!

miércoles, 18 de marzo de 2009

Pequeña obra en tres actos

Primer acto. Mediodía, departamento de contabilidad de un gremio en el que 486 hace de técnico.

Usuario: -Esta máquina anda como el culo. Fijate 486 qué podés hacer.
486: - Lo que pasa es que tenés un win98 hecho pelota. Aprovechemos que hay que reinstalar y pongamos un winchiquito. Y de paso reutilizamos un disco que sacamos de la máquina de X, así no tenemos que borrar nada de éste.


(486 arregla la máquina. 2 horas, en cámara rápida).

Voz en off tipo Dogville: -Todo lo que el usuario usaba quedó funcionando, pero 486 olvidó instalar el Cobian Backup, que estaba programado para hacer incrementales de dos carpetas a través de la red. Olvido que pudo haberse debido al hecho de que en casi tres años NUNCA tuvo que usar aquel backup. O simplemente a una distracción de nuestro personaje...

Segundo acto. Dos semanas después, en el mismo lugar.

Usuario (interceptando a 486 en el pasillo de entrada): - Me caiste como un ángel, sabés? Me desaparecieron las carpetas Y y Z del escritorio. No es problema, no?
486: - Vamos a ver que podemos hacer. Por ahí se borraron los accesos directos, o las carpetas se movieron adentro de otras, o... bueno, vamos a ver.


(486 intenta arreglar la máquina. Tres horas en cámara rápida, con usuario mirando sobre su hombro. Abre el equipo, cambia cables y mira el monitor cada vez más encorvado)

Voz en off tipo Dogville: - Nuestro amigo maldice en colores a Murphy y su familia, en vistas de que el disco que tenía los datos se resiste a los programas de recuperación, apagándose tras unas pocas lecturas y cortando el flujo de datos con sonoros "click", que le sonaban como el tic tac de la bomba que se venía.

486: - Me llevo el disco a mi casa, y ni bien pueda recuperar tus carpetas te las mando por mail...


Voz en off tipo Dogville: - Por supuesto, ésta vez no olvidó instalar Cobian Backup antes de irse.

Tercer acto. Medianoche. Taller/casa de 486.

(486 trabajando en su taller. Primer plano del disco en el conversor IDE-USB y apertura hacia atrás)

Voz en off tipo Dogville: -Nuestro personaje ha pasado la tarde tratando de recuperar los datos del muerto, para sólo lograr escaneos parciales, archivos corruptos y algunos archivos del 2002 que se encontraban en el primer Gb del maldito disco. Trabaja gratis subsanando su error e intentando mantener su fuente de ingresos. El disco es inmune al GetDataBack y al Ontrack Easy Recovery, y el escaneo de archivos avanza una millonésima del total por cada vez que 486 enchufa y desenchufa el conector de alimentación.

Entonces, cuando lo daba todo por perdido y se disponía a cocinar para sus hijas; 486 abrió la heladera.
Fue en ese momento que la cocina, hasta entonces a oscuras, se iluminó con una extraña tonalidad; una penumbra que no alcanzaba para otra cosa que para sacar comida del freezer.
486 tuvo una idea.

(Corre hasta el taller y cancela el escaneo, se observa en pantalla que está detenido en el 15%.
Envuelve el disco en una bolsa, lo lleva hasta la cocina y lo mete en el freezer.
Cocina, y antes de comer saca el disco, lo conecta y reinicia el análisis con GetDataBack)

Voz en off tipo Dogville: -El disco anduvo bien, sin ruidos, sin frenarse hasta que volvió a tomar temperatura. Justo el tiempo suficiente para que 486 pudiera rescatar las carpetas que necesitaba. Exactamente el mismo tiempo que 486 necesitó para dejar de sentirse un pelotudo por intentar lo del disco en el freezer.

Por supuesto. Esa noche nuestro héroe no durmió bien. Pero eso es por otras razones, ajenas a esta historia ,que aquí termina.

FIN

viernes, 27 de febrero de 2009

La revolución en tu bolsillo: Red Star Linux 1.9 "CHE"

Hace unos dí­as vengo escuchando los programas que los muchachos de "La oveja electrónica" colgaron en su página. Son 21 programas que salieron al aire a fines del 2008 por FM Futura, que hablan de software libre, informática y cultura libre en general. Se los recomiendo.

En uno de los programas escuche hablar de Red Star Linux; una distribucion de linux basada en debian de producción agrentina. Y como siempre, me pico el bicho de la curiosidad y la bajé. Aquí­ la primera impresión:

Red Star Linux es genial! La estructura del livecd esta basada en Slax, y en algo mas de 500Mb trae una cantidad mas que interesante de programas, seleccionados para "el uso nostro". Como muestra, trae emesene, amsn, pidgin, Jabber, Firefox, konqueror, ephiphany y dillo, VLC, mplayer, XMMS y amarok; un afinador de guitarra para los fogones ,un programa para hacer tablaturas y muchos más.

Viene con el administrador de archivos PCman (liviano) y tiene un rendimiento sorprendente en maquinas con 256Mb de RAM en KDE. Para quien quiera más velocidad trae Fluxbox. Además esta "regionalizado", y tiene soporte para modems ADSL USB (con asistente automágico y todo) y winmodems. Tambien tiene wine y monta discos Ntfs en modo lectura/escritura.

Ahora; lo que más me gustó de esta distro es su actitud socialista: cuando abrimos el XMMS por primera vez, vemos que viene precargado con una lista de reproducción: encontramos "Hasta siempre", dos versiones de la Internacional y una de "El pueblo unido" ,de Quilapayun.


Y mientras escuchamos lo mejor del punk socialista podemos leer, en la carpeta /Biblioteca del usuario por defecto, el Manifiesto (el comunista, of course. El manifiesto surrealista lo pueden leer aca) , o "El socialismo y el hombre en cuba", del Che Guevara, Junto con textos de Stallman. El firefox tiene ya puestos en los favoritos Telesur, Rebelion.org y ResistenciaDigital, y el amarok viene con radios del palo. Una maravilla. Y vean que wallpapers!


"Bien", me dirán: "me convenciste. Cómo hago para ponelo en el pendrive?"

Ok, podemos ponerlo en el pendrive en tres pasos:

  1. Bajamos la ISO, y extraemos el contenido en el pendrive. Se recomienda un pendrive que sea rojo, como mi Verbatim de 1Gb.
  2. Ejecutamos /boot/bootinst.bat (desde windows) o /boot/bootinst.sh (desde linux)
  3. Modificamos /boot/syslinux/syslinux.cfg para que las lineas DEFAULT y el LABEL de la entrada de linux coincidan (esto es por un pequeño error de los muchachos, igual que el de no modificar el bat que sigue diciendo "to boot only Slax")

Y listo!

PD: para los que lo prueben: hay un pequeño problema con el automount de los pendrives, y al hacer doble click en el icono dice que no puede bloquear /media/hal.mtab . La solución mas sencilla es crear el directorio /media desde la consola (como root), y asignarle permisos a todos con chmod 777.

Y ahora si.
Enjoy!


Hasta la victoria siempre!

miércoles, 25 de febrero de 2009

Hiren lo hizo: cómo poner el nuevo hiren 9.7 en el pendrive usando grub4dos

El nuevo Hiren´s boot cd 9.7 nos da una buena razón para actualizarnos; razón que les voy a dar ahora mismo, para que ustedes sigan leyendo: trae un mini windows XP con soporte para red y la posibilidad de usar todas las herramientas para windows del cd...en menos de 40Mb!


El fondo es asi, pixelado.

Debo decir (sin que a nadie le interese) que llevo un tiempo usando en mi pendrive el hirens 9.2, y no había encontrado motivos suficientes para cambiarlo: los 100 Mb de ramdisk que usaba el 9.6 me resultaban excesivos, y las herramientas no eran muy distintas.

Y ahora, que ya tengo mi pendrive funcionando con ese hirens, slax, puppy y un mini xp gracias a grub4dos, viene el amigo Hiren y me pone todo junto, mas útil, más lindo y mejor. Gracias!

Va el mini howto: Cómo poner el hirens 9.7 en el pendrive.


En esta versión del hirens cambia la forma en que se carga el boot, debido a la necesidad de arrancar un bootloader de xp. Esto nos simplifica enormemente el proceso. Resumiendo: isolinux carga los archivos de dos desde el comprimido /HBCD/boot.gz, y el bootloader de windows directamente como kernel. Nosotros vamos a hacer algo similar con grub.

Herramientas: Hiren´s boot Cd 9.7 (enlace a la página del viejo amigo Max Thrane. Ahí hay varios links de descarga.), Wingrub, grub4dos.

Procedimiento
  1. Extraiga de la imagen iso del hirens la carpeta /HBCD (puede ser con winrar. Gracias Yayuca!). Eso es todo lo que necesitamos del cd. Los que hayan hecho el tuto del hirens anterior notaran que les sobra tiempo aca.
  2. Instale el boot de grub con wingrub. Es conveniente fijarse cual es nuestro pendrive en la lista de discos en tools->partition list, y después usar el menú install->MBR y ahi seleccionar nuestro pendrive. Los más intrépidos pueden hacerlo desde la linea de comandos y ahorrarse wingrub, pero creo que los más intrépidos no necesitan esta guía.
  3. Sobreescriba grldr, grldr.mbr y menu.lst con las versiones que vienen en el paquete grub4dos (las de wingrub son anteriores, y el chainload no anda bien). También es útil copiar grub.exe, para volver al menú de grub desde DOS.
  4. Edite el menu.lst agregando estas lineas:

title HIRENS MINI XP
find --set-root /hbcd/xploader.bin
chainloader /hbcd/xploader.bin


title Hirens 9.7
find --set-root /hbcd/boot.gz
kernel /hbcd/memdisk
initrd /hbcd/boot.gz

Recomiendo dejar las entradas por defecto de grub4dos en el menú (son muy útiles).

listo!

PD: en la página de Hiren actualizaron el proceso de creación del usb, y están usando.....grub4dos. Así que los que quieran pueden pasarse por ahí a bajar un zip que en 170Kb simplifica los pasos 2,3 y 4 de esta guia en uno solo. Aunque seguro que no es tan divertido.

Yapa: Los muchachos de UBCD4Win pusieron (algo escondido) en su release un instalador usb que estoy usando mucho como probador. Básicamente, el botón Test USB crea una carpeta qemu con el kernel y un par de archicos esenciales, mas dos archivos de comandos que sirven para probar el boot del pendrive y el de la iso generada. Realmente es muy cómodo (y portátil) . Recomiendo bajar el paquete completo, que arma el live-xp en unos pocos clicks y tiene plugins más que interesantes; pero para los que sean impacientes y no quieran esperar 300Mb de descarga, acá subí el probador "standalone".

Disfruten!

viernes, 20 de febrero de 2009

Un boot para dominarlos a todos: Jugando con grub4dos

En un comentario en la entrada sobre grub4dos en el menu de arranque de vista, Reirok nos recomendó un manual de grub4dos mas completo que el wiki oficial.

De ahí saque la clave para manejarme mejor en la consola de grub, y aprendí un par de comandos que me resultaron útiles para hacer lo que siempre trato de hacer: bootear todo lo que se me ocurra. Aqui se los voy dejando, por si alguien con mi misma enfermedad quiere jugar un poco.

Primero los básicos:

root : sirve para decirle al grub desde que particion queremos bootear. La primera particion del primer disco rígido es (hd0,0) , y de ahi en adelante. El comando nos devuelve amablemente una linea donde nos indica el tipo de particion y el sistema de archivos: "Filesystem type is fat, partition type 0xb".

kernel : indica el nucleo de sistema a cargar. Se usa principlamente para bootear linux.
initrd: tambien para linux, indica el nombre de la imagen de sistema base que se usa.

boot : arranca el sistema usando los parametros dados antes

Y ahora los mágicos; los que nos resuelven los problemas:

Problema uno: no me acuerdo cómo de llama el kernel que tengo que bootear, en que disco se encuentra o en que directorio lo puse.

find nos devuelve el disco en el que se encuentra el archivo buscado. No hace búsqueda recursiva, por lo que necesitamos decirle en que directorio buscar, pero en caso de que no sepamos bien ese dato podemos usar TAB para autocompletar.

Por ejemplo, si queremos encontrar el archivo de imagen de floppy de win98, que esta en una carpeta img, o imagen, o images etc, basta con poner:

find / +TAB, nos da el listado de lo que hay en / en el disco (hd0,0). De ahi sacamos el nombre del directorio (imagenes, por ejemplo).

find /imagenes/ +TAB nos lista el contenido del directorio imagenes en (hd0,0), para saber el nombre de la imagen.

find /memdisk nos devuelve (hd0,0) (porque copie el archivo ahí para probar)

Ahora podemos bootear el diskette colocando

root (hd0,0)
kernel /memdisk
initrd /imagenes/win98.img
boot

Para ahorrarnos un paso, podemos combinar find y root colocando find --set-root /memdisk ; lo que nos devuelve la salida de ambos comandos.

Problema dos: me cargué el arranque de xp/vista/win98 y necesito bootearlo.

chainloader hace lo que su nombre indica: encadena el arranque del grub con otro cargador a nuestro antojo. Así podemos bootear win98 sin instalar el boot, copiando io.sys, msdos.sys y command,com al disco (hd0,0) y corriendo chainloader /io.sys, o xp con chainloader /ntldr o el menu de arranque de vista con chainloader /bootmgr.

Hay que tener en cuenta que este método requiere que el disco de arranque sea el (hd0).

Para los que vienen siguiendo el blog, esto simplifica enormemente el trabajo de colocar el hirens, el livexp y cualquier linux en el pendrive. Basta con copiar todo a la raíz del pen, instalar grub4dos y modificar el menu.lst. Quizas haga un mini howto paso a paso en otro post.

chainloader también sirve para bootear desde una particion (bootsector) o disco (mbr). Así, si queremos bootear desde el mbr del disco (hd0) usamos chainloader (hd0)+1, que le indica a grub que botee del disco hd0, el sector1 (que es donde se encuentra el mbr); y si queremos iniciar desde lilo, instalado en el bootsector del (hd0,3),. basta con poner chainloader (hd0,3)+1

Problema tres: mi disco de windows no aparece como (hd0), y no me funciona el chainloader/ntldr.

map es un comando muy útil que nos permite solucionar este tema. Basicamente nos permite engañar al sistema que queremos arrancar para que crea que el disco X esta en la posición Y. Por ejemplo, si tenemos la particion de windows xp en (hd1,1) y queremos hacer chainloader /ntldr, tenemos que decirle a grub que haga aparecer el disco hd1 como hd0:

map (hd1) (hd0)

Si ahora usamos find /ntldr el comando nos devuelve
(hd0,1)
(hd1,1)

Esto es porque el disco 1 esta mapeado en hd0, y esta realmente en hd1.
Ahora, si queremos volver a tener acceso al disco 0 anterior, o necesitamos verlo en dos, lo mejor es hacer el cambio completo

map (hd1) (hd0)
map (hd0) (hd1)

y por fin, si queremos ver los cambios antes de bootear, podemos salir de esta ambigua situacion con

map --hook

este comando hace efectivos los mapeos anteriores, con lo que el resultado de find /ntldr pasa a ser

(hd0,1)

map es una instrucción muy potente, que aparte nos permite montar una imágen de floppy o de disco rigido como (fd0) o (hd0). Lamentablemente, esta funcion requiere que la imagen en cuestión sea contigua en el disco (no fragmentada), con lo que muchas veces el mapeo nos da un error.

Para solucionar esto podemos usar el modificador --mem, que carga la imagen en memoria antes de bootear (para imágenes de disco, hay que tener en cuenta que necesitamos tener ram al menos del tamaño de la imagen).

Por ejemplo, para montar nuestra imagen del disco de inicio de win98:

map --mem (hd0,0)/images/win98.ima (fd0)

Como dato adicional, el comando map --mem puede montar imagenes comprimidas con gzip (así como memdisk puede bootear zip).

Nota extra: todos los que nos obsesionamos tratando de crear cds/pendrive multiarranque soñamos con la utilidad que nos permita montar una imagen iso y arrancarla desde un menú. Mejor aún: una que busque en el pendrive todas las iso que pongamos adentro, y nos de un menú desde el que elegir cuál queremos bootear. Bueno, grub4dos no hace eso todavía, y es posible que no lo haga. Pero la posibilidad de mapear una iso como (hd32) y bootearla con chainloader es lo mas cercano que ví hasta ahora.

Problema cuatro: tuve que reinstalar windows y me cargué el boot de linux.

Este problema podría solucionarse con una vuelta larga: bootear windows, acceder a la particion de linux con el plugin ext2 de totalcommander, extraer el menu.lst, imprimirlo, bootear grub4dos e ingresar a mano los parametros de kernel e initrd con todos sus append. O más corta, ubicar el menu.lst anterior en el disco, listarlo con cat y copiar a mano los parametros. En lugar de eso tenemos un comando que nos permite cargar el menu.lst de nuestro linux como menu de grub4dos.

configfile le indica a grub4dos cual es el archivo de configuracion que debe usar. Así, si teníamos nuestro linux en (hd1,5), que vendría a ser la primera unidad lógica de la partición extendida del segundo disco, podemos buscarla con:

find /boot/grub/menu.lst
(hd1,5)

y después cargar el menu con

configfile (hd1,5)/boot/grub/menu.lst

, con lo que tendremos todas las opciones que habíamos perdido. Hay que tener en cuenta que es posible que las opciones de arranque no funcionen sin laburo extra. Por ejemplo, si booteamos grub desde un pendrive; este se pone como (hd0,0), desplazando la nomenclatura de los discos internos, por lo que debemos hacer algo de edición "en vivo" sobre las opciones para sacarlas andando.

El comando configfile también es útil para hacer submenuses, solamente haciendo entradas que apunten a distintos archivos de configuración. Si quieren ver un excelente ejemplo vean SGD. Un estudio de los archivos de menú les va a dar una idea más clara.

Ya escribí demasiado. Chau, que lo disfruten!

PD: cada comando tiene un link a la guia del amigo diddy, en la que todo está mucho (mucho) mejor explicado. Les recomiendo que lo sigan, para hacerse una idea de que tan mala es esta mini guia.

miércoles, 4 de febrero de 2009

Gardel con guitarra eléctrica: Detectando virus y spyware con Process Explorer

Esta entrada está destinada a tres grupos de personas:
1) Los que no leyeron la entrada anterior.
2) Los que, habiendola leido, no miraron la conferencia de Russinovich por falta de tiempo, o desconocimiento del inglés, o imposibilidad fisica o moral de instalar silverlight.
3) Los que la leyeron y vieron la conferencia de Mark, pero quieren seguir leyendo para discutirme algo, de barderos nomás.

Hace unos días miré la excelente presentación de Mark Russinovich: "Advanced Malware Cleaning", y aparte de quedar obsesionado con el tema de los rootkits, me lleve un par de consejos para la detección de malware con Process Explorer, que en estos días me han resultado útiles.

ProcEx es un process manager que nos da mucha información acerca de los procesos que están corriendo en nuestra máquina. Podemos distinguir de un vistazo los servicios (en rosa), los procesos del propio usuario (en celeste), los ejecutables empaquetados (en violeta), los íconos de las aplicaciones, su descripcion y la companía de la que provienen. Tamben se ve, gracias a la vista por ramas, desde que proceso se ejecuto cada tarea (por ejemplo, las aplicaciones que tengo abiertas las corri desde el explorer, mientras que los servicios se lanzan desde winlogon.exe).

Casi nada sospechoso...

Sobre esta vista básica Mark nos da una guía rápida de búsqueda: son sospechosos todos los procesos que figuran en violeta (porque el empaquetado es un método de burlar a los antivirus que buscan por firmas), los que no posean ícono, o carezcan de descripción y/o nombre de empresa.

Un segundo filtro para descartar falsos positivos es la verificación de firmas (options->verify image signature). Esto achica el rango de sospechosos a los procesos no firmados, y nos permite distinguir procesos maliciosos que pretenden ser de windows. Igualmente hay que tener cuidado con esto, porque hay algunos procesos legítimos que no estan firmados. Y el otro problema es que necesitamos estar conectados a internet, lo que no es del todo recomendable si sospechamos que tenemos virus. Aquí que cada uno haga su solucion de compromiso.

Cuando el virus/spyware tiene alguna manifestacion visible (por ejemplo, muestra un mensaje de "Su PC esta infectada"), tenemos una herramienta para encontrar el proceso que pertenece a una ventana.

Y cuando ya tenemos a los sospechosos, ProcEx nos muestra más información en las propiedades del proceso. Ahí podemos consultar la ubicación del ejecutable, ver si está conectado a internet y a que sitio; e incluso realizar un volcado de las cadenas de texto dentro del ejecutable (o en memoria, si está empaquetado) para mirarle las tripas buscando mensajes del hacker en cuestión, tratando de ubicar cadenas de texto sospechosas o páginas de internet a las que el bicho intenta conectarse (una búsqueda por "http" basta para eso).

Aqui persiguiendo a un inocente: FScapture quiere que lo registre.

Una vez que identificamos el/los procesos maliciosos, podemos proceder a matarlos y borrarlos a mano. Hay que tener especial cuidado con los procesos solidarios, que se reviven entre si haciéndos mas difíciles de borrar. En ProcEx es fácil identificarlos gracias al highlight: Los procesos que mueren se subrayan en rojo y se muestran durante un segundo (puede cambiarse en las opciones), y los que nacen lo mismo, pero en verde. Para eliminar estos Mark recomienda usar la función "suspend" sobre todos los implicados, y después matarlos sin problemas.

Y hasta aquí llega el uso que le doy al programa. No exprime toda su funcionalidad (por ejemplo, la vista de las librerías en uso no me dice nada), pero es un avance con respecto al uso que le encontré a otros visores como Procx o Dtaskmanager.

En la próxima entrega de "Russinovich´s fanatics" (la tercera) voy a ver si puedo secribir algo acerca de la otra herramienta estrella de Sysinternals: Autoruns. O por ahi no.

PD: A los amigos del gremio que pasen por aca; se aceptan sugerencias!

martes, 27 de enero de 2009

Jugando con fuego: rootkits

El blog del Maligno es una fuente inagotable de sabiduria y mala leche (pero con onda).
Hace unos días pasaba por ahi, y me topé con estas im-pre-sio-nantes conferencias de Mark Russinovich, que los amigos de M$ nos regalan a cambio de que instalemos su Silverlight.

Como ultimamente estoy pro M$ y estaba usando la beta del seven, no tuve ningun reparo moral en instalarlo y pasarme una hora y cuarto mirando la charla "Advanced Malware Cleaning", en la que Mark repasa los métodos de detección y remoción de malware, enfocandose principalmente en el uso de las herramientas de sysinternals, ProcessExplorer y Autoruns. A los que trabajen de ésto, les recomiendo verla. Es en inglés, pero les aseguro que mi nivel no es muy bueno, y Mark habla claro y lento, así que es difícil perderse algo. Como ayuda, les dejo un pdf con la presentación que Russinovich usaba de guia.

Lo que más me interesó de la charla fue la parte en la que habla acerca de los rootkits. Estos son programas diseñados para esconderse a si mismos, y esconder tambien otros programas que pueden ser maliciosos o no, de modo que sean indetectables para cualquier programa que intente verlos a traves de las llamadas al sistema (APIs). En resumen, una cagada para el técnico (lease yo), que puede pasarse horas mirando el ProcessExplorer, el Hijackthis, el Autoruns, el regedit o cualquier otro programa que no esté diseñado específicamente para verlos, sin sospechar que la máquina sigue infectada.

Pasada la introducción, pasamos a la diversión.

Me suscribí a www.rootkit.com, y dediqué un rato a "infectar" una máquina con pruebas de concepto, para ver cómo se ven.

Materiales:

Maquina (1)
PIII con winchiquito, usada desde la cuenta administrador (una bomba de tiempo). No es de lo más estable (se cuelga sin infectarla), pero es lo mejor que tengo para pruebas.

Rootkit (2)
HideToolz: herramienta que nos presenta una interfaz desde la que podemos ocultar procesos. No corre junto con Hacker Defender (cuelga la maquina), por lo que no lo incluyo en los análisis. para el que quiera probarlo, es bastante inocuo (igual no me hago responsable etc.)
HackerDefender: Más completo, nos permite ocultar procesos, claves del registro, archivos y más. Además puede setearse para iniciar un proceso oculto.

AntiRootkits (4)
RootkitRevealer (RKR): La herramienta de sysinternals es bastante buena detectando el problema pero no nos permite solucionarlo desde el programa. En la presentacion Mark usa un depurador en modo kernel (una herramienta que le permite "tocar" los parametros del kernel en vivo, en este caso softice) para sacar el rootkit . Véanlo. Es demasiado para mi.
Gmer: un limpiador mas amigable, con acceso a procesos ocultos (y la posibilidad de matarlos), servicios ( y cómo deshabilitarlos), vista del registro y claves ocultas e incluso archivos que no se ven en el explorador.
Rootkit Unhooker (RU): Un programita "Quick and dirty" que nos muestra facil y rápidamente si hay un bicho en nuestro sistema. También mata procesos e intenta borrar drivers y servicios malos.
System Virginity Verfier (SVV): uno de los juguetes de Joanna Rutkowska. Es una utilidad de linea de comandos que nos permite chequear rápidamente si el sistema está comprometido, e incluso tratar de repararlo. Y nada más. No nos dá mucha info, pero es muy util.

Y ahora a los bifes... Digo, a las capturas.

1) SVV nos dice que esta todo OK.


2) RU también


3) Corremos HackerDefender. Le decimos que se oculte, saque de nuestra vista todos los archivos y carpetas que lleven "hxdef*" y corra el bloc de notas pero "in the backround". Nos hace caso. Acá no hay captura: no hay nada que ver ahora!

4) SVV no está tan contento...

5) RU nos muestra el problema


6) GMER nos avisa ni bien entramos, y nos deja ver los procesos, servicios y archivos ocultos.

7) El escaneo completo del sistema, tanto con RKR como con GMER o RU, nos lleva a una bonita BSOD, asi que no hay cap.

8) Tratamos de limpiar. Gmer nos deja matar el proceso, con lo que recuperamos la vista de los archivos ocultos. También nos permite deshabilitar el servicio asociado. Con esto nuestro rootkit pasa a ser como cualquier otro virus, porque quedan a la vista los procesos, servicios, archivos y drivers que este se encargaba de ocultar. Borramos todo lo que parezca sospechoso (puede que haya que reiniciar para borrar los servicios malvados despues de deshabilitarlos).

9) Para terminar la limpieza, le pedimos ayuda a Joanna:


10) Reiniciamos y volvemos a chequear: Gmer muestra un par de entradas sospechosas (probablemente ya estuvieran ahi antes), pero ningun proceso oculto, ni driver o servicio fuera de lugar, y ninguna referencia a HackerDefender. RU no encuentra problemas, RKR no sé, porque el escaneo tarda mucho (si quieren una reseña profesional vayan a otro lado) y SVV vuelve al nivel 1 (good).

Y hasta acá llegamos con la prueba. Quien quiera repetirla y tenga algo para agregar, que no sea tímido. Para eso estamos.

FAQ

Q: Los reportes del final significan que el sistema quedó limpio?
A: No. Sólo quieren decir que está más limpio que antes. Lo fundamental de los rootkits es su habilidad para esconderse, y siempre se buscan nuevas técnicas para hacerlo. De todos modos, si uno no quiere volverse paranoico, un par de reportes limpios son buenas noticias. Y si no, siempre queda reinstalar.
Q: Por qué no hay capturas de la limpieza?
A: Porque el objetivo del post es mostrarles cómo se ven las infecciones de rootkits en general con las herramientas que probé. La limpieza es opcional (siempre queda reinstalar).
Q: Se te ocurre una pregunta mejor para terminar?
A: No. Chau.