martes, 8 de octubre de 2019
Clave de licencia del Windows
wmic path SoftwareLicensingService get OA3xOriginalProductKey
Al ejecutarlo desde un cmd no me ha hecho falta elevar privilegios (y eso que mi usuario es mortal). Al menos sí que devuelve una cadena que tiene la estructura de las claves de licencias. Que sea realmente la que se está utilizando... Eso ya no lo puedo asegurar. Pero como chuleta de cómo se podría sacar de llegar a serlo viene muy, pero que muy bien.
Espero que si funciona también os sea de utilidad a vosotros.
sábado, 5 de octubre de 2019
Crónica Jornada III - Navaja Negra 2019
Hemos empezado con Amador Aparicio (@amapada) y Ruth Sala (@ruth_legal).
![]() |
| Navaja Negra 2019 - Amador Aparicio |
Después Santiago Hernández (@santiagohramos) nos ha hablado de detección de amenazas con imágenes.
![]() |
| Navaja Negra 2019 - Santiago Hernández |
Aquí hicimos el desayuno.
La última ponencia la dio Raúl Siles (@dinosec).
![]() |
| Navaja Negra 2019 - Raúl Siles |
Al finalizar la charla de WPA3 Raúl ha pasado a hablar del hackathon que organizan en el Cybercamp 2019 animándonos a apuntarnos o incluso si no podemos y tenemos alguna idea que se quiere que se lleve a cabo presentarla y seguro que encuentran a alguien que esté dispuesto a montarla en el evento.
Y ya para finalizar se han entregado los premios del CTF y han hecho un gran sorteo con merchandising de la organización y algunos libros.
Lo siguiente ha sido la comida que nos han dado en el campus.
Me lo he vuelto a pasar muy bien y todo depende de cómo me vaya el año que viene pero espero poder a tener la rutina de visitarlo.
Crónica jornada II - Navaja Negra 2019
Hoy he tenido la posibilidad de hablar un rato con Longinos, que ayer tanto él como Ivan nos pudimos saludar tan solo unos segundos. Además, también se ha acercado a saludarme Patxi, de la Ertzaintza.
La primera charla de hoy la ha dado Carlos Hernández (@k4rliky).
![]() |
| Navaja Negra 2019 - Carlos Hernández |
Nos ha enseñado cómo decompilando algunos juegos como el WoW y de su estilo se puede hacer que el cliente con el que se juega cambie comportamientos del personaje que tenemos y se mueva por sitios que programáticamente no estaba pensado. Así podía hacer que el muñequito terminase alojado debajo del camino visual pero a la vez el juego le fuerza a seguir la ruta. Resultado: ningún enemigo le puede atacar (porque no le ven). También hemos podido escuchar parámetros de los juegos como "clipping" (¿quién no recuerda en Doom el truco "noclipping"?), groundLevel (que es el que fuerza este comportamiento que acabo de contar). Nos ha puesto más ejemplos con otros efectos parecidos pudiendo llegar a desplazarse a lugares secretos.
Después Mónica Salas nos ha descrito algunos problemas que dan Google y sus servicios.
![]() |
| Navaja Negra 2019 - Mónica Salas |
Por un lado, "es imposible prescindir de los servicios de Google". Nos ha hablado de una auditoría que hizo en una empresa que implementaba MDM en la que parecía que absolutamente todas las configuraciones de los móviles estaban perfectas. Incluyendo un modo kiosco que (apenas) dejaba hacer nada. Exceptuando la configuración del teclado instalado que pedía calificarlo en Google Play. Y ahí es donde saltó la alarma porque desde ese punto pudieron ella y su equipo saltarse todos los controles implantados por el administrador pudiendo salir de ese modo kiosco. La conclusión es que hay que poner aplicaciones de total confianza y tenerlas bien testeadas aunque sean de una simpleza increíble.
La siguiente charla la ha dado Chema Alonso (@chemaalonso).
![]() |
| Navaja Negra 2019 - Chema Alonso y Pablo González |
Después del desayuno/almuerzo a media mañana le ha tocado a Josu Franco dar la charla.
![]() |
| Navaja Negra 2019 - Josu Franco |
Al finalizar la charla de Cytomic Josu Barrientos (@bulw4rk) nos ha hablado de los análisis PCI-DSS
![]() |
| Navaja Negra 2019 - Josu Barrientos |
Sergio Arake (@SergioAraqueC) dio la siguiente ponencia con el título Mikrohackeando.
![]() |
| Navaja Negra 2019 - Sergio Araque |
Una vez más la comida que nos trajo la Organización estuvo bastante bien.
En la sobremesa Noemí Rodríguez (@Noemi_rgarcia) nos habló de las consecuencias legales de Shodan.
![]() |
| Navaja Negra 2019 - Noemí Rodriguez |
Ha hecho hincapié en las zonas grises que hay a la hora de acceder a ciertos lugares gracias a encontrarlos a través de, por ejemplo, Shodan. Según la interpretación de las leyes podemos meternos en problemas. Ajustar las leyes que regulan lo físico a lo intangible como son los 1s y los 0s es muy difícil. Ha puesto varios ejemplos de búsquedas de sistemas SCADA, MDBUS o control de estación eléctrica y nos ha dado el término de "allanamiento informático" (artíclo 197 del CP). Uno de los conceptos que se pueden resumir es: si has cambiado algo y ha hecho pupa te cae la del pulpo. Si sólo has mirado y era una empresa, bueno, mejor no hacerlo. Si es una persona física: muy malo porque eso es "revelación de secretos" y muchísimo peor nos encontramos con datos de personas especialmente protegidas. Sobretodo esto último cuando se trata de webcams con, por ejemplo, menores.
Al finalizar los capones de qué puede pasar si accedemos a lugares sin permiso y toqueteamos Joel Serna (@JoelSernaMoreno) y Ernesto Sánchez (@ernesto_xload) han destripado dos alarmas.
![]() |
| Navaja Negra 2019 - Joel Serna y Ernesto Sánchez |
Hemos tenido la oportunidad de ver cómo funcionan dos alarmas que han comprado por internet. Han explicado que una de ellas ofrece wifi pero con un SSID que no se puede cambiar y mucho menos la contraseña, la cual obtuvieron reverseando el apk que se utiliza para configurarla. Además, resulta que a pesar de que esa misma alarma decía que funcionaba sobre 3G la circuitería interna realmente era sólo para 2G la cual es relativamente fácil manipular con una estación de telefonía móvil falsa (si bien tampoco es tan sencillo tener una también es bastante más delito que entrar directamente en la estancia donde se encuentra el aparato en cuestión y reventarlo de un martillazo). El NFC que permiten usar resulta que es muy básico y sólo mira el ID del tag y por lo tanto, si se graba otro tag con ese ID tampoco es que sea de mucha utilidad. Al principio han hablado un poco de los sistemas propietarios de las marcas conocidas y ciertos problemillas que podrían tener si publicasen algún reversing de sus sistemas.
Después de la merienda Ricardo Narvaja (@ricnar456) ha dado una pequeña charla.
![]() |
| Navaja Negra 2019 - Ricardo Narvaja |
Al finalizar Ricardo hemos visto una vez más a Ruth Sala (@ruth_legal).
![]() |
| Navaja Negra 2019 - Ruth Sala |
Como de costumbre nos ha ilustrado una vez más en los aspectos legales del mundo en el que nos movemos. En esta ocasión nos ha hablado de cómo se debería aplicar un pentest de ingeniería social y todas las áreas legales que deberíamos de tener en cuenta cuando tengamos que aplicar uno de estos. Sobretodo: si se va hacer telefónicamente hay que grabar la llamada. Todo tiene que estar muy bien documentado y por supuesto sin olvidarse del contrato. Nos ha contado que se hizo un CTF para el EuskalHack basado en uno de la DefCON y tuvieron muchos problemas para poderlo llevar a cabo, precisamente por el "intringulis" legal que esto conllevaba. Un área muy interesante y muy comprometida al mismo tiempo.
Y la última ponencia de hoy la ha dado Carmen Torrano (@ctorranog).
![]() |
| Navaja Negra 2019 - Carmen Torrano |
Y hasta aquí hemos llegado a la segunda jornada de esta edición. Y nos queda otra más que seguro que es igual de interesante que estas dos últimas.
jueves, 3 de octubre de 2019
Crónica jornada I - Navaja Negra 2019
En la inauguración, además de Rubén, presidente de la organización, han estado otras personalidades de las instituciones de la Universidad y del Ayuntamiento de Albacete.
![]() |
| Navaja Negra 2019 - Inauguración |
Después se ha subido al escenario Ricardo Narvaja (@ricnar456) al que la organización ha tenido la oportunidad de entrevistarle.
![]() |
| Navaja Negra 2019 - Ricardo Narvaja |
Al finalizar la entrevista el Dr. Alfonso Muñoz (@mindcrypt) se ha subido al escenario.
![]() |
| Navaja Negra 2019 - Alfonso Muñoz |
Después del desayuno Jesús Díaz Barrero nos ha hablado de SecOps y de un sistema nuevo de su compañia.
![]() |
| Navaja Negra 2019 - Jesús Díaz Barrero |
Cuando ha terminado Raúl Casanova ha mostrado ataques a sistemas dispositivos conectados por bluetooth.
![]() |
| Navaja Negra 2019 - Raúl Casanova |
Lo primero que ha comunicado es que es un protocolo (aunque es posible que no esté bien dicho lo voy a nombrar así) de comunicación que se olvida mucho a la hora de hacer pentest. Ha presetado un caso práctico con su demo en la que teníamos un dispositivo (llamémosle móvil) emparejado por bluetooth con una máquina y ha conseguido que otro aparato ajeno termine usando ese "móvil" para hacer pivoting hacia la máquina. Para ello ha usado metasploit, servicios SDP (por ejemplo, el módulo sdp_switch), Vamos: ha hecho la fase de búsqueda, explotación, post-explotación (elevación de privilegios, pivoting...) que se hace en todo pentest. Nos ha hablado de una herramienta suya llamada bluedog.
Antes de la comida Roberto Amado Gómez (@ramado78) nos ha hablado de ataques sin usar malware con herramientas del propio sistema operativo.
![]() |
| Navaja Negra 2019 - Roberto Amado |
Después del descanso de la comida he ido al taller Fishing phisers, impartido por Carolina Gómez y Álvaro Alonso Gutierrez.
![]() |
| Navaja Negra 2019 - Carolina Gómez y Álvaro Alonso Gutierrez |
Al finalizar hemos podido merendar un poco.
La siguiente hora Alejandro Espinosa y Julio Martínez nos hablaron de dispositivos PLC (domésticos).
![]() |
| Navaja Negra 2019 - Alejandro Espinosa y Julio Martínez |
Al finalizar esta ponencia Silvia Cuenca nos ha hablado de evidencias digitales para testigos que son dispositivos Android.
![]() |
| Navaja Negra 2019 - Silvia Cuenca |
Para finalizar el día Pilar Vila y Belén Pérez nos han hablado de fonrensic en sistemas industriales. Lo siento, pero la única foto que pude sacar me ha salido (oh, sorpresa! Movida). Si bien muchos de los aspectos de los que han hablado son semejantes entre el forense informático (IT) y de los sistemas industriales (OT) los problemas están en que los sistemas industriales no se pueden parar así como así. Los hay que llevan décadas sin pararse ni actualizarse y si se han producido paradas han sido planificadas durante un periodo muy, muy corto de tiempo (casi siempre un par de minutos). Una parada en un sistema de estos son pérdidas para la empresa propietaria. También está la dificultad de hacer bien las cosas porque se pueden estropear con sólo mirarlas. Y ni que decir tiene que un notario o un juez entiendan de qué va el tema a la hora de judicializar un asunto relacionado con un forense de este tipo. No hay que olvidarse de otros problemas (¿he dicho que los hay que son muy arcáicos?): muchos protocolos y dispositivos existentes cada uno de su propio fabricante y no compatibles entre ellos. Dificultad de encontrar sistemas de conexión como switches gestionados o protocolos estándares, ambientes con temperaturas extremas. Un mínimo ping puede hacer fallar sistemas internos conocidos como PLCs (que no son como los comentados antes), sistemas SCADA. El resumen es que son ambientes mucho más dispares a los encontrados con máquinas menos delicadas que si ya de por sí en un entorno con PCs, SIEMs/UMTs, etc es ciertamente complejo de analizar al vuelo en estos otros entornos va mucho más allá.
Y hasta aquí la primera jornada. Ya veré si me da tiempo a hacer una única publicación para la segunda o termino juntando un único post para los dos días siguientes.
sábado, 3 de agosto de 2019
Debian/Linux: cambiando arquitectura x86 a x64
Como dije escribiría un post contando qué procedimientos seguí. No tomé nota, pero sí he estado manteniendo las distintas pestañas que estuve viendo, por lo que lo más seguro es que alguna cosa no termine de coincidir.
También, y antes de ponernos en harina, toca el típico disclaimer: no hagas esto si no estás muy seguro. Podrías terminar necesitando reinstalar muchísimos paquetes y te volverás loco. Vamos: que casi, casi podrías necesitar reinstalar (tal y como recomiendan en algunos sitios: hacer una instalación limpia antes de hacer el cambio).
Todo lo vamos a hacer en consola con privilegios.
Ejecutamos:
# dpkg --print-architecture
Que nos mostrará la arquitecura actual (que es la que nos indica que estamos en x86)
i386
Vamos a añadir la nueva para poder tirar de x64:
dpkg --add-architecture amd64
Si ahora ejecutamos:
dpkg --print-foreign-architectures
Nos mostrará:
amd64
Ahora toca actualizar el repostorio e instalar el kernel para x64. El mayor misterio es indicar en el que queremos que tire de amd64.
apt-get update
apt-get install linux-image-amd64:amd64
Toca reiniciar. Acuérdate de seleccionar el kernel recién instalado.
Al ejecutar dpkg con los dos parámetros anteriores los resultados se intercambiarán, siendo amd64 el principal e i386 el foreing.
Desconozco por qué hacen un clean pero normalmente para estos casos yo lanzo todos: purge, clean, autoclean, etc.
apt-get clean
apt-get autoclean
apt-get purge
...
Ahora toca descargamos tres paquetes para esta arquitectura y forzar su instalación con dpkg:
apt-get --download-only install dpkg:amd64 tar:amd64 apt:amd64
dpkg --install /var/cache/apt/archives/*_amd64.deb
Tampoco estoy muy seguro si le llegué a pasar el parámetro --force-architecture en alguno de estos dos comandos. Me suena que sí pero no recuerdo en cuál (mínimo en el segundo).
En teoría ahora podrías instalar cosas en la recién configurada arquitectura. Esto tiene su aquel. Porque según las distintas fuentes ponen un orden u otro sobre cómo o cuándo instalar los paquetes. Al final lo que hace falta es actualizar todos los máximos paquetes necesarios. Además, hay más librerías que harán falta (gcc, libgcc1, libc6...) y se te quejará mucho el sistema si no las has actualizado.
Un ejemplo para las actualizaciones y correcciones de los paquetes puede ser el siguiente...
Actualizar el repositorio:
apt-get update
En algunas de esas instalaciones te forzará a escribir algo así como "Sí, ¡haz lo que yo digo!". Además, no metas ningún typo o no lanzará la instalación. Al final hace una comparación literal de lo que busca (entiendo que se incluyen exclamaciones y todo).
Aunque será necesario corregir o reparar muchas instalaciones (ambos son los mismos):
apt-get -f install
apt-get --fix-broken install
También se puede hacer reinstalación de paquetes. Este parámetro no recuerdo si lo llegué a poner: pero revisando la ayuda de apt-get viene y seguro que en algún momento lo lancé. Más adelante mostraré un ejemplo.
Actualizar todos los paquetes del sistema con respecto al repositorio:
apt-get upgrade
apt-get dist-upgrade
Ir buscando los paquetes instalador como i386 para ver si puedes forzar a que se instalen como amd64:
dpkg --get-selections | grep i386
Y a partir de aquí, forzar la reinstalación:
apt-get --fix-broken --reinstall paqueteParaReinstalar:amd64
Y de todas formas, te encontrarás con que hay paquetes que tienen ambas versiones instaladas. Algunas las podrás desinstalar (no te olvides de poner :i386 no vayas a perder la de la nueva arquitectura).
Así, será necesario repetir muchas, muchas, muchas... muchas veces todos estos procesos de apt-get. Por eso, al ser una locura y encontrarme con tantos problemas, se me ocurrió actualizar a la nueva versión de Debian. Que por suerte llevaba apenas dos semanas publicada. Y aún así, terminé corrigiendo problemas montando el entorno con una unidad de arranque y actualizando muchos más paquetes en ese entorno.
Como podéis ver es... Vamos. Que es bastante lío. ¿Compensa reinstalar de cero e ir montando el sistema de nuevo? Pues no lo sé. Para suele ser mejor recuperar un sistema que montarlo de cero. Pero de vez en cuando toca hacerlo. En mi caso, que llevaba relativamente poco tiempo con la instalación original, no me compensaba ponerlo de cero.
Si puedo ayudar en cualquier duda del procedimiento, por favor, avisadme. A ver si hay suerte y puedo ayudar.
***
Algunas de las fuentes que tuve que utilizar:
https://askubuntu.com/questions/5018/is-it-possible-to-upgrade-from-a-32bit-to-a-64bit-installation
https://unix.stackexchange.com/questions/40463/how-to-convert-a-32-bit-x86-debian-based-system-to-64-bit
https://wiki.debian.org/CrossGrading
viernes, 26 de julio de 2019
Debian; shutdown: command not found
Por cierto: este post lo escribiendo desde el móvil. Espero que el corrector no haga de las suyas.
Hace poco hice una actualización de mi Debian "scratch" a... "buster". Pero por intentar pasar la arquitectura de instalación de 32 bits a 64. Como la cosa no me terminó de ir del todo bien al intentar sustituir las aplicaciones me dio por buscar y encontré con que había nueva versión de Debian.
Para resumir: después de muchas sustituciones y malabarismos varios, di por finalizada la tarea. Pero mi usuario root era incapaz de apagar o. reiniciar la máquina con los comandos.
Así, buscando, me he encontrado con la solución.
El problema se da sólo al elevar simplemente con
#su
Porque ahora, tal cual está, no incluye la variable de entorno $PATH de root. Para que la incluya hay que pasar alguno de los siguientes parámetros: [- | -l (L minúscula) | --login]
Así, ejecutando:
#su -l
Ya nos incluirá en el $PATH la carpeta
/sbin
Que ha dejado de ponerla con el su de toda la vida.
Espero que si os sucede os sea de utilidad.
miércoles, 24 de julio de 2019
Elegir qué versión de Python ejecutar
https://linuxconfig.org/how-to-change-default-python-version-on-debian-9-stretch-linux
nos indican cómo forzar qué versión de python ejecutamos tenemos varias instaladas a la vez.
Aunque también se tiene la opción de seleccionar el número directamente:
$python3.6
$python2.7
si ejecutamos
$python
¿Qué se ejecuta? Eso es lo que decidimos aquí. Así, además, se debería de poder desinstalar la versión antigua.
Sólo para tenerlo como chuleta. Espero que a vosotros también os sea de utilidad en algún momento.























