lunes, 14 de marzo de 2016

Regripper y registro de Windows

He estado una temporada trabajando en un proyecto en el que la herramienta regripper me ha ayudado bastante. Al principio me costó un poco hacerme con ella pero después de conseguir hacerla funcionar la incluí en unos cuantos ficheros por lotes (batches o .bat) pudiendo lanzarlos tirando millas. El problema de tener este tipo de herramientas embebido en este tipo de scripts es que después no los tienes a mano y aquel problema que te dio en su momento vuelve a surgir y no te acuerdas de cómo lo arreglaste. Y eso es lo que me ha pasado con regripper.

Lo primero de todo: lo he estado haciendo desde Windows.

Lo segundo: lo estaba haciendo contra los hives del mismo Windows arrancado. Primer (y último) error: no puedes lanzar los plug-ins del regripper contra el mismo Windows en modo on-line.Si lo hacemos, nos podremos encontrar con mensajes de error como el siguiente al usar el plug-in uninstall:

D:\regRipper2.8>rip.exe -r c:\Windows\System32\config\SOFTWARE -p uninstall
Launching uninstall v.20140512
uninstall v.20140512
(Software, NTUSER.DAT) Gets contents of Uninstall keys from Software, NTUSER.DAT hives

Error in plugins\uninstall.pl: Unable to open 'c:\Windows\System32\config\SOFTWARE': No such file or directory at D:\datos\herramientas\pentest\_paquetes\regripper\regRipper2.8/plugins\uninstall.pl line 55

Por lo que toca hacer una copia de los hives en un lugar a parte. Así podremos trabajar contra esos ficheros, que no estarán bloqueados.Para ello hay que recuperarlos con la herramienta reg, de la que ya hablé el otro día.

Ahora que hemos seguido las instrucciones, podremos utilizar el que acabamos de extraer:

D:\ regRipper2.8>rip.exe -r d:\datos\pruebas\registro\SOFTWARE -p uninstall

Y ya dejaría de dar problemas. Ahora podemos trabajar con ellos como queramos. Por ejemplo: redirigir la salida a un fichero de texto. 

martes, 8 de marzo de 2016

Volcar el registro de Windows que se está usando

Me he estado pegando con un pequeño problema con el registro. Necesitaba obtener información del mismo, pero al estar bloqueado la lectura de las herramientas no era posible. ¿Qué puedo hacer? Tendrás que volcar el registro que se está usando en una ubicación a parte y a partir de aquí trabajar sobre ese volcado.

Lo primero de todo: No debería de hacer falta decir que equivocarse en una operación de este tipo podría dejar la instalación de Windows para los restos. Dicho de otro modo: que deje de funcionar. Avisado estás.
Windows nos ofrece una herramienta que se llama reg. Además de poder manipular los datos del registro nos permite extraer los valores de sus claves incluyendo sus hijos. Tiene varios parámetros: query, import¸ export, save. A nosotros nos interesa este último. ¿Qué parámetros acepta este modo de trabajo (por llamarlo de un modo? Nos acepta:

a) La clave que deseamos extraer. Que serán: SECURITY, SAM, SOFTWARE y SYSTEM.
b) Ruta destino de cada extracción. Es decir: sobre qué fichero queremos hacer la extracción.

Para muestra los siguientes ejemplos:

reg save HKLM\SOFTWARE d:\datos\pruebas\registro\SOFTWARE
reg save HKLM\SYSTEM d:\datos\pruebas\registro\SYSTEM
reg save HKLM\SAM d:\datos\pruebas\registro\SAM
reg save HKLM\SECURITY d:\datos\pruebas\registro\SECURITY

Una vez los hemos extraído ya podremos trabajar con estos hives sin ningún problema. Un ejemplo sería poder analizar su contenido. 

domingo, 6 de marzo de 2016

Crónica RootedCon 2016: Día 3

Y ya, el último día, que no ha dejado de ser interesante.

En la primera, Daniel García aka cr0hn (@ggdaniel), los brokers, MQs (colas de mensajes) e inyecciones de las mismas.

RootedCon 2016 - Daniel García aka cr0hn: Broker y MQ Injection
RootedCon 2016 - Daniel García aka cr0hn: Broker y MQ Injection
Nos ha hecho un sondeo de quién sabía qué era un broker yo he respondido afirmativamente pensando en otra cosa totalmente distinta. Lo explicó en 5 puntos, indicando primero qué es una cola de mensajería y qué es un broker. Los brokers son sistemas intermedios que permiten gestionar los sistemas de red. Además, dio a conocer los más usados y puso ejemplos de usos para correos electrónicos. Entre otros posibles ataques se incluía hacer un MITM, cambiar los mensajes que se mandan entre los distintos brokers, etc. Dio a conocer su herramienta para realizar este tipo de ataques: Enteletaor.

La siguiente charla la dio Daniel Martínez (@dan1t0).

RootedCon 2016 - Daniel Martínez aka dan1t0: WhatsApp y el abusón...
RootedCon 2016 - Daniel Martínez aka dan1t0: WhatsApp y el abusón...

Nos contó el cómo descubrió la forma de funcionar de What's Up Web. Así, pudimos ver que era posible descargarse imágenes y vídeos sin autorización con sólo tener un wget y la URL del contenido deseado. En resumen, después de crearse con el móvil un grupo y poner contenido en éste, le hizo un forense a la URL:

RootedCon 2016 - Daniel Martínez aka dan1t0: Autopsia a una URL de What's Up
RootedCon 2016 - Daniel Martínez aka dan1t0: Autopsia a una URL de What's Up

RootedCon 2016 - Daniel Martínez aka dan1t0: Troceando la URL
RootedCon 2016 - Daniel Martínez aka dan1t0: Troceando la URL
En sus pruebas usó BurpProxy. El problema de las imágenes es que pierden calidad, pero descubrió que la subida de PDFs mantenía la integridad. Siempre se tiene en cuenta que no se pueden subir vídeos de más de 16 MB, que no se puede abusar el subir muchos contenidos por el peligro a ser baneado. En su demo, mostró un plug-in web que permite descargarse un fichero .m3u para ver los vídeos seguidos.

Después del descanso, Jose Pico y David Pérez, de Layakk (@Layakk),

RootedCon 2016 - Jose Pico y David Perez, Layakk
RootedCon 2016 - Jose Pico y David Perez, Layakk
 resolvieron las cuestiones que no se pudieron resolver otros años pasados con respecto a ataques al 3G. Un resumen de los distintos ataques que se buscaban eran: Hacer IMSI Catching, Geolocalización, denegación persistente del servicio y forzar al dispositivo a trabajar en 2G. En dos minutos nos cuentan unos conocimientos básicos para poder entender la charla. Algunas de las técnicas usadas para los ataques sería que conectado a la estación base falsa mandarle un paquete que el móvil tomará como que no puede tirar de antenas (MS: sería un código de rechazo) o rechazarla en la estación 3G pero indicarle que "un amigo te dejará entrar", siendo éste 2G.

RootedCon 2016 - Jose Pico y David Perez, Layakk: Recomendaciones para mitigar ataques
RootedCon 2016 - Jose Pico y David Perez, Layakk: Recomendaciones para mitigar ataques
Una vez terminaron, tuvimos la oportunidad de "ver" a La9deAnon (@La9DeAnon). Dadas las circunstancias, no fue presencial. A través de Tor, nos mandaron un PDF, que Román, de la organización (@rootedCon) leyó:

RootedCon 2016 - Román Ramirez, de RootedCon, leyendo texto de La9DeAnon
RootedCon 2016 - Román Ramirez, de RootedCon, leyendo texto de La9DeAnon
Y después, les pudimos hacer preguntas a través del IRC, siendo el mismo Román el que las escribía y leía. 

RootedCon 2016 - Román Ramirez, de RootedCon, leyendo y escribiendo a La9DeAnon
RootedCon 2016 - Román Ramirez, de RootedCon, leyendo y escribiendo a La9DeAnon
Después de comer, Raúl Siles (@raulsiles, @dinosec) nos habló una vez más del Internet of Things.

RootedCon 2016 - Raúl Siles y el Internet of Things
RootedCon 2016 - Raúl Siles y el Internet of Things
Se pone de manifiesto lo que ya se conoce: dispositivos que publican todo lo que se hace (las pulseras que miden la actividad corporal), o los aparatos que trabajan con las frecuencias por debajo del GHz. Como por ejemplo, los dispositivos que trabajan en 433 MHz y que es una frecuencia libre. Nos ha hecho varias demos con una herramienta que ha desarrollado: idIoTas.

Al finalizar, Chema Alonso (@chemaalonso) y Pablo González (@pablogonzalezpe):

RootedCon 2016 - Chema Alonso y Pablo González presentan SAPPO
Nos han hablado la posibilidad de robar el token OAuth usando spam (ya sea a discrección o dirigido) y cómo a partir de introducir el usuario y la contraseña se entregan todos los permisos para que te puedan robar la identidad sin apenas enterarte. En alguno de los casos, el sistema avisa de que se va a entregar los permisos, pero como los usuarios aceptan todo... Además, una vez se ha conseguido el token, da igual si se tiene un segundo factor de autenticación. 

La última charla la han dado Pablo San Emeterio (@psaneme) y Jose Miguel Cañete (@jmcaguado):

RootedCon 2016 - Pablo San Emeterio y Jose Miguel Cañete
Han definido "dron" más o menos como dispositivo autónomo. Eso amplía los aviones a otros vehículos como por ejemplo, coches teledirigidos. Nos han contado cómo tunearon un coche teledirigido para que funcionara de forma autónoma, reconociera movimientos, intrusos, caras... Buscaron soluciones para que funcionase aún sin haber internet. También nos mostraron un avión-dron casero que aún tenían que pulir un poquito. Nos hicieron demos de ambos aparatos. 

Y... ¡Esto fue todo! ¡¡Ahí se acabaron las ponencias!!

Al salir, tuve a oportunidad de saludar a Angelucho (@_Angelucho_) y a David (@insonusvita) que estaban terminando X1RedMasSegura (@X1RedMasSegura) y me parmitieron participar en la grabación del imno con todos los demás. Que, por cierto, mi madre estuvo en los talleres.

Ya sabéis: el año que viene... ¡más Rooted!

viernes, 4 de marzo de 2016

Crónica RootedCon 2016: Día 2

De nuevo, otro día más en RootedCon 2016.

RootedCon 2016 - Cartel presentación
RootedCon 2016 - Cartel presentación
No nos podemos olvidar de los compañeros que nos han estado acompañando estos días: Pablo F. Iglesias (@PYDotCom), Julián (@tXambe), David (@ESFERARED), Longinos (@L0ngin0s)...

Y, una vez más, tuvimos un día con unas ponencias muy interesantes. 

Para empezar el día, Pedro Cabrera nos habló de las distintas posibilidades de atacar un dron, descartando los ataques ya conocidos.

RootedCon 2016 - Pedro Cabrera secuestrando drones
RootedCon 2016 - Pedro Cabrera secuestrando drones
Los aparatos utilizados han sido de la marca Parrot, y la idea es poder secuestrarlo de tal forma que el propietario pueda perder el control del mismo. O forzar a que el dispositivo cliente para controlarlo reciba datos falsos acerca del estado del avión (batería baja, imágenes falsas) o manipularlo para llevarlo donde se desee. En una de las demos, el avión ha intentado quitar la mano de Román de enmedio y el pobre se ha hecho daño. El avión, Román, claro. En serio: Román ha intentado evitar que el avión fuera a parar a la pantalla y al pararlo se ha hecho algo de pupa. Siguiendo con la charla, nos demostró cómo se podía llegar a acceder a estos dispositivos a través de un telnet y subir ficheros que permitieran configurarle algunos parámetros para llevar a cabo esa manipulación.

La siguiente charla la ha dado Juan Garrido aka Juanillo aka Triana (@tr1ana). En ésta nos ha dado unos cuantos trucos con el fin de poner a prueba la seguridad ofensiva (aunque también en algún momento se ha hablado de defensiva). Se ha puesto de manifiesto el hecho de los muchos perfiles que hay en una empresa y las reticencias que hay para poner solución a los mismos. 

RootedCon 2016 - Juan Garrido aka tr1ana - ¿Quiénes somos?
Algunos trucos muy curiosos como montar un Anti-Ramson de 3000 € usando el servicio de Windows FSRM permitiendo construir unas acciones según lo que se ponga en unos filtros determinados. O usar unas claves del registro para que se bloqueen las ejecuciones de los programas según cómo sea el certificado con el que hayan firmado. También ha puesto de ejemplo el AuthCode y que unos procesos puedan acceder a otros (procesos protegidos). Ha presentado su herramienta: Voayer. 

Después del descanso, Laura García y Ricardo J. Rodríguez nos han hablado de bichos en iOS: En 5 minutos han hablado de la situación en Android para poner el contexto y después nos han explicado la situación en iOS, los distintos focos de infección y algunos casos históricos. Han explicado los controles de Apple para tumbar aplicaciones:

RootedCon 2016 - Laura García y Ricardo J. Rodriguez: Motivos de Apple para rechazar aplicaciones
RootedCon 2016 - Laura García y Ricardo J. Rodriguez: Motivos de Apple para rechazar apps
También han comentado quiénes son los objetivos: Una persona en particular, alguien a quien comprar/extorsionar, gobiernos... Al preguntar al público quién tenía su dispositivo jailbreakeado sólo ha respondido afirmativamente uno. Y casi todas las infecciones son consecuencia directa del usuario.

Al finalizar su charla hemos tenido la segunda ponencia del año en inglés: Hicham Tolimat (@hi_t_ch) nos ha hablado de un proyecto que se llama Docker. No voy a negar que no he terminado de entender del todo bien el proyecto. Se ha empezado comparando esta herramienta con máquinas virtuales para después hablar de contenedores que encapsulen una o varias aplicaciones para pasar por Jenkins y poder mandar reportes de vulnerabilidades a GitHub. 

RootedCon 2016 - Hicham Tolimat: Docker vs VM
RootedCon 2016 - Hicham Tolimat: Docker vs VM
 Y eso que a pesar de ser francés tenía un impecable inglés que se le entendía perfectamente sin ningún tipo de acento.

Después de la merienda, Matias Katz nos ha hablado de un servicio que utilizan muchas X en linux que se llama dbus

RootedCon 2016 - Matias Katz: Hardware backdoring X11
RootedCon 2016 - Matias Katz: Hardware backdoring X11
Nos ha explicado cómo se puede configurar un equipo que tenga este servicio activo para poder utilizar su propio hardware de tal forma que podamos bloquear la sesión de una forma sencilla. El equipo siempre tendrá que estar buscando dicho dispositivo para saber cuándo bloquearlo, por lo que se tendrá que poder identificar de forma univoca. Por eso, el servicio dbus que trabaja en el anillo 1 del sistema, es capaz de identificar las ICQs (interrupciones) que se producen, y así indicarle con cuál se ha de bloquear. A su vez nos ha preguntado a la sala cómo se podría desbloquear, ganándome una camiseta por dar una respuesta válida: con el micrófono o el jack de audio:

RootedCon 2016 - Matias Katz: Desbloqueando el equipo con el jack de audio
RootedCon 2016 - Matias Katz: Desbloqueando el equipo con el jack de audio
El equipo debe de responder aun estando bloqueado y el sistema operativo no puede interferir. Además, tiene que seguir funcionando sin cambios en el hardware. En cada ejemplo que nos ponía nos ha ido haciendo demos con unos scripts en python.

Lo siguiente ha sido el segundo panel del año. Una mesa redonda en la que hablaba sobre emprendimiento en España.

RootedCon 2016 - RootedPanel 2: Emprendimiento en España
RootedCon 2016 - RootedPanel 2: Emprendimiento en España
Se ha discutido sobre las dificultades que hay para emprender, sobretodo en lo que a ciberseguridad se refiere, financiación, vendedores de humo, motivación, ayudas a emprendedores...

Después de un descanso, Andrés Tarasco (@atarasco) de Tarlogic (@tarlogic) nos ha hablado de un estudio que le solicitaron sobre el uso fraudulento de la televisión por satélite (de pago). 

RootedCon 2016 - Andrés Tarasco: Tracking satelite TV piracy
RootedCon 2016 - Andrés Tarasco: Tracking satelite TV piracy
Nos ha explicado los distintos protocolos, desde el antiguo codificado de Canal + en el que había que ponerse "bizco para ver el porno" (Nagra v1), pasando por los famosos códigos que se dumpeaban en tarjetas para que el decodificador te dejase ver todo (Nagra v2) pasando por el Nagra v3. En otro protocolo, DVB-CA, también tenemos unos paquetes de control (mensajes) bastante importantes: ECM y EMM. Se ha hablado del término CardSharing y los tipos que hay. En este caso, se montan servidores que tienen conectadas las tarjetas y que comparten los contenidos a partir de éstas. Además, tenemos un sistema llamado iKS en el que el decodificador es prácticamente plug and play. Han buscado quiénes pueden estar involucrados en estas actividades y quiénes se benefician de estas actividades. Casi finalizando nos ha mostrado una gráfica:

RootedCon 2016 - Andrés Tarasco: Estadisticas de países que defraudan
Resulta que en España estamos en la barra azul claro (abajo del todo)... y hay que sumar la gris.

Y aquí han finalizado las charlas. En el hall estaban con el Rooted WarFare. Además de tener a David (@TaiksonTexas) hablando de sus drones, me ha gustado un proyecto para facilitar los análisis forenses recuperando información: OwadeReborn.

Y... esta es la crónica de hoy. Mañana tendremos más RootedCon. ¡Y seguro que sale igual de bien que hoy!

jueves, 3 de marzo de 2016

Crónica RootedCon 2016: Día 1

Un año más, hemos tenido la oportunidad de asistir a uno de los eventos de seguridad más famosos del país: RootedCon.

Como de costumbre, me he levantado pronto para llegar bien puntual a la cita. Por supuesto, he sido d de los primeros en llegar.

Para celebrar este séptimo año, se ha usado como motivo especial el cine, que, todo dicho sea de paso, es donde lo se han realizado las ponencias: en una sala de cines gigantesca. Y el logo de este año está relacionado con las bolas de dragón.

La keynote la han hecho con un espectacular vídeo simulando aspectos del cine, como, por ejemplo, las entradillas que se ponen en las peliculas: Metro Grolden Mayer, THX, Márvel...

RootedCon 2016 - Keynote con el motivo de Bola de Dragón
RootedCon 2016 - Keynote con el motivo de Bola de Dragón

Para empezar las charlas: Federico Dios nos habla sobre las investigaciones que hace Akamai del tráfico que pasa por sus servicios, una de las empresas por las que circula gran cantidad de paquetes que se generan en Internet. Aproximadamente un 30% del tráfico legítimo mundial.

Después, Jorge Hurtado nos ha hablado de los dispositivos que se permite que se conecten a Internet, pero que no se controla su seguridad. Estos dispositivos se pueden englobar en los que entran en la categoría del IoT (Internet of Things): Muñecas, osos de peluche, frigroríficos. Todos llenos de bugs muy peligrosos para la privacidad y seguridad de los usuarios.

RootedCon 2016 - Jorge Hurtado y uno de los bugs encontrados
RootedCon 2016 - Jorge Hurtado y uno de los bugs encontrados
Incluso se ha nombrado la posibilidad de hacer un sello de calidad tal y como se hace con a eficiencia energética:


RootedCon 2016 - Jorge Hurtado: ¿Ponemos un sello de certificación de seguridad?
RootedCon 2016 - Jorge Hurtado: ¿Ponemos un sello de certificación de seguridad?
Después del descanso, en el que pudimos desayunar un zumo y dos conchas Codan, Abel Valero nos ha hablado de bootkits: Cómo funcionan en general y uno, que ha destripado, en particular: rounix. Para poderla explicar ha tenido que poner mucho ensamblador. Así, pudo mostrar los dos tipos de análisis que hizo: tanto estático como dinámico.

Después tuvimos la oportunidad de escuchar a Jonathan Shimonovich, en inglés, en el que nos explicaba el cómo algunas aplicaciones se descargaban unos plug-ins propios.

RootedCon 2016 - Jonathan Shimonovich y certificados para móviles: CERTIFIGATE
RootedCon 2016 - Jonathan Shimonovich y certificados para móviles: CERTIFIGATE
Estos plug-ins están firmados con un certificado especial para que puedan hacer ciertas acciones que de no ser por ese certificado entregado por Google o los fabricantes no podrían realizarlas. El problema está en que la validación que hacen esos plug-ins no es la adecuada, por lo que éstos se podrían terminar usando en otras aplicaciones que no deberían de poder hacerlo y realizar acciones como, por ejemplo, visualizar la pantalla del móvil en remoto. Entre otras validaciones, nos encontramos, por ejemplo, con comprobaciones de códigos numéricos hardcodeados.

Después de comer, Rafael Sánchez y Federico J. Gómez nos han presentado el estado de IPv6 en Internet y su herramienta especial, que podríamos definirla como un Shodan para este protocolo. Se ha hecho incapie en las afirmaciones de servicios conocidos como Spamhaus que dicen que "IPv6 no está lo suficientemente extendido como para controlarlos". Con su herramienta se ha demostrado que esos servicios se equivocan. Dos servicios que han nombrado: ZoomEye y Censys.

La charla del Dr Alfonso Muñoz ha estado muy interesante: ha explicado cómo se puede usar un dispositivo que lee las hondas cerebrales se puede usar para generar números aleatorios, patrones para autenticaciones, etc. Estos dispositivos pueden ser baratos (80 € NeuroSky, 400 € EPOC Emotiv).

RootedCon 2016 - Dr. Alfonso Muñoz: ¿Qué medir y dónde poner los electrodos?
RootedCon 2016 - Dr. Alfonso Muñoz: ¿Qué medir y dónde poner los electrodos?
El problema está en que al ser unos valores que pueden cambiar con el tiempo (cada 6 meses habría que volver a calibrar o escanear el cerebro otra vez) y en cómo se encuentra en sujeto (muy nervioso, muy relajado, concentrado, etc) tiene ciertas limitaciones que solventar. También he podido apuntar las hondas con las que se trabajan: alfa, beta, gamma y P300. Una pequeña demo de un juego de prueba ha estado muy curiosa:

RootedCon 2016 - Dr. Alfonso Muñoz haciendo una demo con NeuroSky
RootedCon 2016 - Dr. Alfonso Muñoz haciendo una demo con NeuroSky
En la ponencia nos ha mostrado los distintos estudios que ha podido analizar, los resultados que se han encontrado en esos estudios (muchos con personas epilépticas), etc.

Después del último descanso hemos tenido la mesa redonda o RootedPanel:

RootedCon 2016 - RootedPanel 1: Ciberseguridad ofensiva civil y sus participantes
RootedCon 2016 - RootedPanel 1: Ciberseguridad ofensiva civil y sus participantes
Ha tratado de cómo contratar o llevar a cabo la gestión del personal que debería defender (o atacar) en lo que a ciberdefensa se refiere.

Por último, y ya para finalizar el día, Elías Grande nos ha hablado de una herramienta que ha montado que hace footprinting: IPs antiguas (abandonadas) o nuevas ("recien lllegadas") para hacer el análisis. Y poco a poco, según lo que va encontrado, va podando o llenando un árbol con el que se obtienen todos los datos encontrados de la URL o dirección IP que se le pase como parámetro a la herramienta.

Y así es como hemos finalizado la primera jornada de la Rooted 2016. Mañana viernes, vamos a por la segunda, que pinta igual de interesante que esta primera. ¡Hasta mañana!

martes, 16 de febrero de 2016

Windows 10: loop inifinito, 0x800704DD, registro 'system' y otros

He estado tres semenas pegándome con un equipo. Dos para intentar recuperar la actualización de un Windows 7 a Windows 10 y la última en montar todas las actualizaciones de una reinstalación del primero (teniendo en cuenta que no se le ha dedicado todo el día a este trabajo ya que hay que ir a currar).

Lo sé: se quiere evitar a toda costa una reinslación. Yo lo quise hacer y me ha consumido dos semanas de trabajo más a tercera de la reinstalación en sí misma. Si quieres probar estas cosas por si no se te habían ocurrido, adelante.

¡OJO! Estos procesos podrían funcionar... O no. Cualquier operación realizada podría estropear más el sistema. Si decides usar algunas de las acciones aquí explicadas, ya sabes: bajo tu responsabilidad.

Para resumir: me dijeron que no se terminaba la actualización. Probé distintas opciones (las que ofrece al arrancar pulsando F8) y de una u otra forma conseguí que terminara el proceso. Pude entrar en un usuario ya existente, configurarlo... Y la última prueba de todas, la de fuego, reiniciar para ver que todo funcionaba bien. Craso error. Tanto es así que me terminé llevando el equipo para poder trabajar con él tranquilamente.

Lo primero de todo: una imagen dd. Lo más importante son los datos, por lo que con una de éstas puedes trastear con más tranquilidad que si se pierde información o quieres hacer otras pruebas puedas tirar para atrás.

No puedo dar información de todos los errores que tuve y en qué orden estuve luchando contra ellos pero el peor de todos, y la razón por la que me llevé el portátil, es que se reiniciaba constantemente mostrando el mensaje "Preparando reparación Automática" y entrando en el recovery.

Las primeras pruebas de reparación de inicio no funcionaron. Incluso mostraban el resultado en C:\Windows\System32\LogFiles\Srt\SrtTrail.txt (también cabe la posibilidad de que me lo ofreciera en alguno de los arranques. Sé que se me ofreció como fichero de información).

Intenté desactivar en el arranque la recoverymode y que me mostrara el menú de los sistemas para arrancar utilizando bcdedit:

bcdedit /set {default} recoveryenabled no
bcdedit /set {bootmgr} displaybootmenu yes

Al no arrancar el modo de reparación nos llegaba a mostrar el error de que el fichero de registro C:\Windows\System32\config\SYSTEM estaba estropeado,

También probé a usar el comando

sfc /scannow

fallando sin haber finaizado todo el proceso.

Otra prueba que hice fue el checkdisk con alguno de sus parámetros:

chkdsk /f /r /x

En un momento determinado decido intentar montar un soporte externo (DVD / USB) del Windows 10 con el fin de intentar hacer las reparaciones desde esta unidad y de tener un soporte bootable.

También intenté reinstalar los sectores de arranque, entre los tantos que probé:

bootrec /rebuildbcd
Reparticionados con diskpart tampoco me ayudó. Ni volviendo a la anterior versión, ni intentando restaurar el sistema manteniendo los ficheros y programas, o no manteniéndolos...

Total, que después de haber hecho todas estas pruebas no necesariamente en este orden, terminé haciendo lo siguiente: como ya había reparticionado y había eliminado la partición donde vienen los ficheros de instalación al comprar el equipo, pero ya los tenía en la imagen que hice antes de empezarr el trabajo desde casa, monté la imagen, busqué los ficheros, y me encontré con unos que tenían extensión .swm. Es como si tuviéramos un fichero .wim, pero con la diferencia de que éste está dividido en varios. Sólo tuve que guardarlos en un disco externo, borrar los datos de la partición principal, arrancar el sistema con el USB bootable que me monté, y en un cmd lanzar:

dism /Apply-Image /ImgeFile:rutaPrimer.swm /SWMFile:rutaFicherosSWM*.swm /Index:numeroIndice /ApplyDir:C:

Y al esperar un rato y reiniciar, ya me apareció el sistema como si lo hubiera reseteado con su propio software.

Han sido muchas pruebas, muchos "ensayos y errores" muchos quebraderos de cabeza. Y aunque sólo os pongo algunos enlaces aquí abajo, voy a cerrar unas cuantas ventanas con muchas pestañas.


Bajarse ISO Windows 10:
https://www.microsoft.com/es-es/software-download/windows10

SFC /Scannow:
https://answers.microsoft.com/es-es/insider/forum/insider_wintp-insider_repair/windows-10-no-arranca-dice-preparando/88a36e1f-3ce2-4821-825c-31c24b7e0b7b?auth=1

La idea para mostrar el menú de arranque:
http://pocospasos.com/como-iniciar-windows-10-en-modo-seguro/


BCDEdit de Microsoft:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff541231(v=vs.85).aspx

Restaurar sistema:
http://h30467.www3.hp.com/t5/Sistemas-operativos-y-software-para-notebooks/ayuda-mensaje-preparando-reparacion-automatica/td-p/521196

Instalación de imágenes SWM:
https://technet.microsoft.com/en-us/library/hh825258.aspx



lunes, 18 de enero de 2016

Asterisk: Estaba en inglés, ahora en español

En todo el tiempo que llevo con la centralita de Asterisk instalado no le he cambiado los mensajes de sonido del inglés al español de manera definitiva. Lo intenté en una ocasión pero no funcionaba: el sistema dejaba de funcionar. Por lo que volvía otra vez a la configuración inicial.

Voy a volver a probar. Lo primero, es buscar los ficheros de audio. He encontrado varias fuentes:

  • http://www.voipnovatos.es
  • http://www.asterisksounds.org
De hecho, voy a usar la segunda fuente. De esta usaremos los dos ficheros que nos ofrecen: http://www.asterisksounds.org/es-es/download.

Lo primero es saber dónde lo vamos a guardar. Será en una carpeta con el nombre es dentro de /var/lib/asterisk/sounds

mkdir /var/lib/asterisk/sounds/es

Ahí es donde lo vamos a descargar. Como estas descargas son en formato .zip, hay que acordarse de tenerlo instalado. Además, al bajarlo en un Linux, hay que pasarle el parámetro -a que permita al unzip extraerlo acorde al sistema:

unzip -a core.zip
unzip -a extra.zip

Una vez extraído, hay que cambiarle los dueños (tanto el usuario como el grupo) y los permisos de los subdirectorios:

chown -R asterisk.asterisk /var/lib/asterisk/sounds/es
find /var/lib/asterisk/sounds/es -type d -exec chmod 0775 {} \;

En teoría, sólo con esto debería de ser suficiente. Pero como los audios están en formato sln16, y nosotros trabajamos con gsm729ulaw y alaw, hay que reconvertirlos. Según las instrucciones, se puede usar este script, que habrá que guardar en un fichero y asignarle permisos de ejecución:

#!/bin/bash
for a in $(find . -name '*.sln16'); do
  sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t gsm -r 8k `echo $a|sed "s/.sln16/.gsm/"`;\
  sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t raw -r 8k -e a-law `echo $a|sed "s/.sln16/.alaw/"`;\
  sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t raw -r 8k -e mu-law `echo $a|sed "s/.sln16/.ulaw/"`;\
done

Ojo, que le costará hacerlo un tiempecillo. Además, os habréis fijado que falta la conversión de uno de los formatos indicados: g729. Al ser un formato propietario, hay que hacerlo de otra forma. Aunque lo he intentado hacer, no lo he conseguido. Y aún así no lo estaba usando. De todas formas, si quieres probar, el comando sería:

asterisk -rx "file convert fichero.wav fichero.g729"

La siguiente acción es indicarle al sistema que utilice estos audios. Si se busca en Internet encontraremos que nos indican que se configura en el menú Settings --> Asterisk Sip Settings. Pero ya no está ahí. Al menos, en la versión 13. Tendremos que utilizar el módulo Sound Languages

Módulo Sound languages en FreePBX - Sección global
Módulo Sound languages en FreePBX - Sección global
Hay dos opciones: indicarle que se descargue distintos paquetes de idiomas. Si os preguntáis por qué descargarlos... No lo sé. Cogí los de español también porque no conseguí que sonasen los descargados antes:

Módulo Sound languages en FreePBX - Language packs
Módulo Sound languages en FreePBX - Language packs
Nos descargaremos los idiomas que nos hagan falta y para os codecs que tengamos configurados. Aún así, en español no tenemos el paquete extras. 

Y, por último, la sección custom languages, que es la que nos permite indicarle los paquetes con los que empezamos este post

Módulo Sound languages en FreePBX - Custom languages
Módulo Sound languages en FreePBX - Custom languages
Como se puede apreciar esta es la última configuración que he utilizado. Como he encontrado en alguna documentación que alguien tuInstavo ejecutar el comando 

amportal restart

Aunque es el que he ejecutado, recordemos que está deprecated. Habría que usar fwconsole

Espero que os sirva y sea de utilidad. Si tenéis alguna otra forma de hacer esta configuración, bienvenida sea.

De todas formas, si tenéis dudas, también podéis ver los enlaces de donde he conseguido los audios y parte de las instrucciones que he intentado seguir: