Sistemas & Desarrollo
301 meneos
6150 clics
Cómo desactivar Intel Management Engine (IME) [ENG]

Cómo desactivar Intel Management Engine (IME) [ENG]

Intel Management Engine (IME) es un coprocesador integrado en todos los procesadores de Intel fabricados después de 2006. Este coprocesador tiene acceso completo a la red y a la memoria y ejecuta código cerrado y propietario independientemente de la BIOS, el procesador principal y el sistema operativo, un hecho que es un riesgo de seguridad inaceptable. En esta guía se detalla cómo desactivar IME usando varias herramientas que operan en el firmware del PC almacenado en el chip de la BIOS.
140 161 0 K 45
140 161 0 K 45
289 meneos
8704 clics

Consejos para crear scripts con suficiente calidad para ser de producción [ENG]

Los scripts de shell son una forma de automatizar tareas en sistemas Linux/Unix (u otros sistemas operativos). En esta entrada se darán consejos básicos para escribir scripts con la suficiente calidad como para ejecutarlos en producción, escritos de una forma clara y limpia y reportando correctamente los errores detectados dejando la mejor huella posible.
141 148 4 K 56
141 148 4 K 56
289 meneos
9302 clics

De como escribir código imposible de mantener. [EN]

En el interés de crear oportunidades de trabajo en el campo de la programación en Java, describo algunos consejos de como escribir código tan difícil de mantener, que las personas que vengan después de ti tardarán años en hacer los cambios más simples. Además, si sigues estás reglas religiosamente, te aseguraras tu empleo de por vida, ya que no habrá persona viva salvo tú que pueda mantenerlo. De nuevo, si sigues estás reglas demasiado religiosamente, ni tu serás capaz de mantenerlo.
129 160 0 K 43
129 160 0 K 43
327 meneos
6190 clics
Laboratorio para practicar inyecciones SQL (más de 60 ejercicios/lecciones)

Laboratorio para practicar inyecciones SQL (más de 60 ejercicios/lecciones)

El holandés Audi-1 tiene un repositorio en Github muy interesante llamado SQLI-LABS que nos permitirá montar rápidamente una plataforma para aprender y practicar inyecciones SQL de diferentes tipos: inyecciones basadas en error (Union Select): 1. String 2. Integer; inyecciones basadas en error (Double Injection Based); inyecciones ciegas: 1. booleanas 2.basadas en tiempo; inyecciones de peticiones update; inyecciones de peticiones insert; inyecciones en la cabecera HTTP 1. basadas en referer. 2. basadas en user-agent. […]
133 194 5 K 25
133 194 5 K 25
271 meneos
6339 clics
Cómo usé una búsqueda sencilla en Google para extraer contraseñas de docenas de tarjetas públicas de Trello [ENG]

Cómo usé una búsqueda sencilla en Google para extraer contraseñas de docenas de tarjetas públicas de Trello [ENG]

Hace unos días, el 25 de abril, mientras investigaba, descubrí que muchas personas y compañías están poniendo su información confidencial en sus tarjetas públicas de Trello. Información como errores no arreglados y vulnerabilidades de seguridad, credenciales de sus cuentas de redes sociales, cuentas de correo electrónico, tableros de administración y servidores, lo que usted quiera, están disponibles en sus tarjetas de Trello públicas que están siendo indexadas por todos los motores de búsqueda y cualquiera puede encontrarlos fácilmente.
126 145 2 K 53
126 145 2 K 53
209 meneos
5300 clics
Mejora tus scripts en BASH con sólo 15 minutos de tutorial [ENG]

Mejora tus scripts en BASH con sólo 15 minutos de tutorial [ENG]

Los consejos y trucos que se muestran a continuación para hacer mejores scripts en BASH aparecieron originalmente como uno de los episodios de “Testing on the Toilet” (TOTT) de Google. Esta es una versión revisada y mejorada.
122 87 0 K 54
122 87 0 K 54
252 meneos
5978 clics
Cómo funciona Git (parte 1)

Cómo funciona Git (parte 1)

Git es una herramienta de control de versiones distribuida, pero en última instancia no es más que un gestor de contenido, y en este post entenderéis por qué. El núcleo de Git no es ni más ni menos que un mapa clave-valor de toda la vida, donde las claves son valores hash generados mediante el algoritmo SHA1, y los valores pueden ser varias cosas. En este post nos centraremos en los diferentes tipos de valor que Git puede almacenar.
124 128 5 K 52
124 128 5 K 52
202 meneos
968 clics
Diciendo adiós a Firebug [ENG]

Diciendo adiós a Firebug [ENG]

Firebug fue la más famosa y potente herramienta de desarrollo web durante su vida, unos 12 años. Firebug tuvo un fenomenal éxito entre los desarrolladores web de todo el mundo, ya que fue la primera herramienta que permitía inspeccionar, editar y depurar código (tanto Javascript como CSS y HTML) directamente en Firefox. Por eso es triste decir que con la versión 57 de Firefox (Quantum) Firebug alcanza el final de su vida útil. Las buenas noticias son que la mayoría de esas características están ya en las herramientas de desarrollo de Firefox.
113 89 1 K 27
113 89 1 K 27
209 meneos
3810 clics
Arrancar un 486 desde un disquete con el kernel Linux más reciente y estable hasta a la fecha [ENG]

Arrancar un 486 desde un disquete con el kernel Linux más reciente y estable hasta a la fecha [ENG]  

En agosto de 2019 participé en un concurso cuyo desafío era sincronizar un archivo MIDI con un sintetizador de voz cantando la letra. En el concurso de esta semana la idea era encontrar un ordenador con un 486 como procesador (pizza box form factor) y hacerlo funcionar, así que me puse a buscar uno por Internet. Después de encontrarlo, el reto era iniciar una versión reciente de Linux, cosa que no fue trivial. Finalmente, después de configurar el kernel de forma mínima y generar un pequeño initramfs, conseguí meterlo en un disquete e iniciar el equipo.
112 97 3 K 52
112 97 3 K 52
222 meneos
3544 clics
El monumental impacto del lenguaje de programación C [ENG]

El monumental impacto del lenguaje de programación C [ENG]

C es un lenguaje tan fundamental que muchos de nosotros olvidamos cuánto ha cambiado. Técnicamente un lenguaje de alto nivel en el sentido de que requiere que un compilador para que el código sea ejecutable, aunque es lo más parecido al lenguaje ensamblador que a la gente le gusta tener en estos días (fuera de entornos especializados de poca memoria). También se considera que es el lenguaje que hizo posible casi todos los lenguajes que vinieron después.
107 115 0 K 61
107 115 0 K 61
221 meneos
4797 clics
Análisis de Erebus, un ransomware para Linux

Análisis de Erebus, un ransomware para Linux

Esta semana hemos conocido que la empresa surcoreana NAYANA, proveedora de servicios web, sufrió un ataque de una variante del ransomware Erebus. El caso llamó la atención dado que infectó a 153 servidores, todos ellos con sistema operativo Linux, en el cual más de 3400 archivos se han visto afectados. En este artículo vamos a llevar a cabo un análisis sobre una muestra del ejecutable encargado de llevar a cabo la infección en esta última campaña de Erebus.
102 119 2 K 32
102 119 2 K 32
194 meneos
4765 clics
Microprocesadores modernos: una guía de 90 minutos [ENG]

Microprocesadores modernos: una guía de 90 minutos [ENG]  

Te acabas de graduar en informática, donde diste un curso de hardware como parte de tu carrera, aunque quizás eso fue hace algunos años y te has perdido los detalles de diseño de procesadores desde entonces. En particular es posible que no tengas conocimiento de algunos temas clave que se desarrollaron rápidamente en los últimos tiempos, como pipelining, multi-core y multi-threading simétrico, instrucciones con vectores (SIMD) y cachés y jerarquía de memoria. Pero no te preocupes. Este artículo te pondrá al día rápido.
92 102 1 K 60
92 102 1 K 60
184 meneos
2111 clics
Nuevo inspector de websockets en las herramientas de desarrollo de Firefox [ENG]

Nuevo inspector de websockets en las herramientas de desarrollo de Firefox [ENG]  

El equipo de Firefox DevTools y nuestros colaboradores han trabajado arduamente durante el verano logrando que Firefox 70 estuviera repleto de mejoras. Estamos especialmente entusiasmados con nuestra nueva función de inspección de WebSocket. Para usar el inspector en este momento hay que descargar Firefox Developer Edition y luego abrir el panel Red de DevTools para encontrar la pestaña Mensajes. Pero lo primero es agradecer el trabajo a Heng Yeow Tan, el estudiante de Google Summer of Code (GSoC) responsable de la implementación.
92 92 2 K 41
92 92 2 K 41
185 meneos
6164 clics
¿Por qué uso un teclado IBM Model M que es más viejo que yo? [ENG]

¿Por qué uso un teclado IBM Model M que es más viejo que yo? [ENG]

El IBM Model M fue un teclado que se lanzó por primera vez en 1985 como un sucesor más económico del modelo F. Es difícil imaginar un teclado más caro ya que los teclados Modelo M cuestan una bomba incluso en esos días, pero es cierto. El Modelo F se basó en un resorte de pandeo capacitivo muy duradero, pero era costoso de producir, por lo tanto, IBM fabricó el Modelo M con un modelo de resorte de pandeo de membrana de menor costo. Al mismo tiempo, el Modelo M fue pionero en el diseño de ANSI 101-keys que todavía se utiliza en la actualidad.
90 95 5 K 56
90 95 5 K 56
173 meneos
4863 clics

Hay razones reales para reemplazar las herramientas de Linux ‘ifconfig’, ‘netstat’ y compañía [ENG]

Una de las controversias de administración de sistemas actual en Linux es que hay un esfuerzo continuo por reemplazar los comandos de administración y diagnóstico de red estándar de Unix, ifconfig, netstat y similares, con nuevos elementos específicos como ss e ip. Aunque a los administradores de sistemas con experiencia generalmente no les gusta esta idea, existen dos razones principales para realizar este cambio, una ostensible y otra sutil.
87 86 5 K 40
87 86 5 K 40
191 meneos
3842 clics
Detección de micrófonos ocultos con Salamandra

Detección de micrófonos ocultos con Salamandra  

Una las charlas de la Chaos Communication Congress, que tuvo lugar recientemente en Leipzig (34C3), fue la presentación de Veronica Valeros y Sebastián García: Spy vs. Spy: A modern study of microphone bugs operation and detection. Inspirados en el activista chino Ai Weiwei, que descubrió micrófonos ocultos en su casa tras regresar de un viaje de más de dos meses por Alemania y el Reino Unido, enfocaron su investigación principalmente en dispositivos transmisores de radio FM y crearon una herramienta llamada Salamandra para su detección.
83 108 1 K 47
83 108 1 K 47
178 meneos
3683 clics
Escribiendo un emulador de Game Boy desde cero [ENG]

Escribiendo un emulador de Game Boy desde cero [ENG]  

Siempre he querido escribir un emulador desde cero, pero me he resistido durante mucho tiempo porque es probablemente el proyecto de programación más avanzado que he querido hacer. Escoger un sistema para emular no es una opción fácil; el primer proyecto estándar de emulador parece ser un emulador CHIP-8. Así que después de leer mucha documentación, decidí escribir un emulador de Game Boy minimalista, sin soporte para mapeadores personalizados o sonido, al que llamé proyecto Cinoop.
84 94 4 K 41
84 94 4 K 41
150 meneos
7035 clics
Mitos que los programadores creen acerca de las cachés de las CPU [ENG]

Mitos que los programadores creen acerca de las cachés de las CPU [ENG]

Como ingeniero informático que ha pasado la mitad de una década trabajando con cachés de Intel y el Sun he aprendido un par de cosas acerca de la coherencia de las cachés. Este fue uno de los conceptos más difíciles de aprender en la universidad, pero una vez que se entiende realmente, empiezas a darle una gran valoración a los principios de diseño del sistemas.
74 76 2 K 41
74 76 2 K 41
136 meneos
1698 clics

Nuevo en PHP 8 [ENG]

Se espera que PHP 8, la nueva versión principal de PHP, se lance a fines de 2020. Está en un desarrollo muy activo en este momento, por lo que es probable que las cosas cambien mucho en los próximos meses. En esta publicación mantendré una lista actualizada de lo que se espera que venga: nuevas características, mejoras de rendimiento y cambios importantes. Debido a que PHP 8 es una nueva versión principal, hay una mayor probabilidad de que su código se rompa. Sin embargo, si se ha mantenido al día con las últimas versiones, la actualización no debería ser demasiado difícil, ya que la mayoría de los cambios importantes ya no se usaban en las versiones 7. *.
73 63 3 K 49
73 63 3 K 49
145 meneos
2455 clics
Tutorial de introducción a Godot 3.0. Juego de Snake en C#

Tutorial de introducción a Godot 3.0. Juego de Snake en C#  

Llegó el día. Godot 3.0 salió a la luz. Se trata de una versión con muchas mejoras respecto a Godot 2.x. Godot es un motor de videojuegos software libre compatible con la mayoría de sistemas operativos (y consolas a través de una compañía privada). Aprovechando la ocasión voy a explicar cómo hacer un juego simple usando C# y el motor 2D de Godot. Este tutorial sirve para familiarizarse con el motor.
72 73 4 K 37
72 73 4 K 37
124 meneos
2702 clics
Técnicas para escapar de shells restringidas (restricted shells bypassing)

Técnicas para escapar de shells restringidas (restricted shells bypassing)

Recientemente, @n4ckhcker y @h4d3sw0rmen publicaron en exploit-db un breve pero útil paper para escapar de shells restringidas como rbash, rksh y rsh, ya sabéis, aquellas que bloquean algunos de comandos como cd, ls, echo, etc., restringen variables de entorno como SHELL, PATH, USER y a veces incluso comandos con / o las salidas de redireccionamiento como >, >>; todo ello para añadir una capa extra de seguridad para protegerse contra posibles atacantes, comandos peligrosos o simplemente como una prueba en un CTF. A continuación se listan la mayoría de las técnicas para bypassear estas shells restringidas.
63 61 0 K 60
63 61 0 K 60
114 meneos
3018 clics
La velocidad del tiempo [ENG]

La velocidad del tiempo [ENG]

¿Cuánto tiempo se tarda en leer la hora? ¿Cómo medirías el tiempo? Estas extrañas preguntas salieron a la luz en 2014 cuando Netflix estaba cambiando los servicios de CentOS Linux a Ubuntu, y ayudé a depurar varios extraños problemas de rendimiento, incluido el que describiré aquí. Si bien es poco probable que vuelva a encontrarse con este problema específico, lo interesante es este tipo de problemas y el método simple de depurarlo: una combinación pragmática de herramientas de observación y experimentación.
62 52 0 K 52
62 52 0 K 52
67 meneos
652 clics
Práctica funcionalidad de BASH: sustitución de procesos [ENG]

Práctica funcionalidad de BASH: sustitución de procesos [ENG]

Hace algún tiempo me surgió un problema en el trabajo donde tenía que comparar dos archivos descargados. La solución fue simple: descargar el primero archivo, descargar el segundo para finalmente ejecutar un diff entre ellos. Tres pasos: curl URL1 > file1; curl URL2 > file2; diff file1 file2. Pero antes de poder teclearlo, un compañero me quitó el teclado y escribió un raro código vudú que nunca había visto: diff <(curl URL1) <(curl URL2). ¿Qué rara sintaxis era esa? Más aún, ¿por qué iba el doble de rápido que mi solución?
56 11 1 K 50
56 11 1 K 50
95 meneos
2152 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Howto iDental  

Objetivo: iDental (Clínicas odontológicas low cost); WAF/IDS: CDN de Incapsula; Vulnerabilidad explotada: SQLInjection; Bypas de WAF: Script Base64; Programación: PHP; Java DataTable para la paginación de resultados; Base de Datos: MYSQL; Hosting: OVH. En un primer análisis comprobamos que el dominio dirige a una IP asignada a una CDN (Red de distribución de contenidos) de Incapsula Inc que actúa como WAF impidiendo escaneos con herramientas habituales. Un whois sobre el dominio nos indica que los datos de registro están […].
66 29 16 K 34
66 29 16 K 34
99 meneos
1657 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Programación en ensamblador de x86-64 desde Ubuntu [PDF|2,5 MB] [ENG]

El propósito de este texto es proporcionar una referencia para el lenguaje ensamblador de nivel universitario y los cursos de programación de sistemas. Este texto aborda el conjunto de instrucciones x86-64 para la popular clase de procesadores x86-64 que utilizan el sistema operativo Ubuntu de 64 bits. Si bien el código proporcionado y varios ejemplos deberían funcionar bajo cualquier sistema operativo de 64 bits basado en Linux, solo se han probado bajo Ubuntu 14/16/18 LTS (64 bits).
64 35 16 K 49
64 35 16 K 49
« anterior1234511

menéame