Random IRC quote :      <Crg> noches de desenfreno ... mañanas de hybuprofenos ... <DS> "hybuprofenos"? <DS> jodo <Crg> es en hoygan <Crg> joer <Crg> que yo no me metio con el CFP de la NcN y esta peor escrito

Buscando sistemas SCADA con SHODAN.

Hola amigos delincuentes ocasionales,
Hay un nuevo juguete en la ciudad, llamado SHODAN, yo me enteré por el tuiter del hdmoore y la gente de SbD también ha hablado de él.

Mola. Te das cuenta como entidades financieras como Cetelem usan IIS 4.0 ¬¬ y cosas peores.
Por lo que he podido investigar, está bastante bien para buscar sistemas SCADA y sistemas embebidos que puedan ser interesantes. Vamos a ver algunos ejemplos:

En muchos de los sistemas SCADA expuestos también es posible acceder al ModBus via TCP con todo lo que ello supone.Incluso aunque el propio software de gestión/monitorizacion web no nos permita hacer demasiado.Sí que nos da una pista de por donde pueden ir los tiros.

Fuji Electric Embedded Web Server:
http://shodan.surtri.com/?q=fuji+electric

Ouman embedded Web Server for SCADA. Basado en una versión vulnerable de Boa Server.
http://shodan.surtri.com/?q=webscada

eWon
http://shodan.surtri.com/?q=ewon

Boa Web Server
Muchas cosillas chulas. Incluidas cámaras de vigilancia 🙂
http://shodan.surtri.com/?q=boa

EIG Embedded Web Server
A rio revuelto, ganancia de amperios.
http://shodan.surtri.com/?q=EIG

EnergyICT
http://shodan.surtri.com/?q=energyICT

Ojito con este tipo de sistemas. No rompas nada ni juegues demasiado si no sabes lo que estás haciendo.Yo no me hago responsable de que la mangues.

Vulnerability Engineering I

En este nuevo curso recién comenzado en la academia 48bits encontrarán nuevas asignaturas como la introducida recientemente «Ingeniería Social II» y la que se presenta en este post, Ingeniería de las Vulnerabilidades I; que no viene a ser otra cosa que la aplicación de técnicas de Ingeniería del Software a la temática de la seguridad informática. Existe una versión disponible para alumnos de lengua extranjera.

Tema 1:

En el día de hoy utilizaremos las métricas MTTR Y MTBF para calcular la probabilidad de que una aplicación concreta esté libre de fallos. O dicho de otra manera, las fórmulas presentadas nos darán un porcentaje que nos indicará cuánto tiempo en la vida de un producto estamos expuestos a una vulnerabilidad.

(más…)

Código muerto

Hola amigos digitales, hoy vamos a hablar de un pequeño problema de optimización en Visual C.

Seguramente ya conozcan lo que es la eliminación de código muerto, pero por las dudas (y para que este post llegue al menos a las 10 lineas) voy a hacer una breve explicación.

Dead code elimination es una optimización muy utilizada que se encarga de eliminar código que realmente no afecta al programa. Por ejemplo, si tenemos:

x |= 1;
x >>= 1;
 

El compilador eliminara el or ya que ese bit se perderá cuando se realice el shift. Entendido esto sigamos con los nuestro…

(más…)

La piratería en el gobierno (curiosidad) – UPDATED

El otro día me vi en la necesidad de descargarme la iso de Windows 7 para instalarla en el ordenador de mi casa. Yo (anonymous) ya tengo mi número de serie legal pero no tenía una iso válida a mano, así que empecé a buscar en varios portales de torrents para descargarla lo más rapidamente posible.

Dado que por ahi se dice que un alto número de torents (isos, zips, rars, …) estan infectados con malware, e incluso hay imagenes de windows 7 pirata que vienen con backdoor de regalo, decidí que la mejor opción era asegurarme de que el hash SHA1 del fichero coincidiese con el de MSDN.
Unos minutos despues ya tenía localizado el fichero cuyo hash SHA1 coincidía con la del Windows 7 Ultimate x64 oficial y me puse a descargar con el utorrent.

La deformación profesional hace que todo lo que tenga una IP sea interesante así que me puse a mirar un poco por el listado de ips conectadas al torrent y rápidamente una me llamó la atención:
(más…)

El programador en los tiempos del kilobyte

Hoy he empezado a leer el libro Coders at Work, que por cierto recomiendo a los que les guste cotillear en la vida de los programadores famosetes. A unos les va Salsa Rosa y otros leemos estos libros, cosas de ser un friki. El libro es una colección de entrevistas a programadores más o menos conocidos, uno de ellos es Jamie Zawinsky, un tío al que yo no conocía de nada, pero que por lo visto viene del mundo de Lisp, curró en el desarrollo de Netscape, y [salsa rosa=on] tuvo algún que otro rifirrafe con Stallman.[salsa rosa=off]

La cosa es que Zawinsky dice una cosa en la entrevista que me dejó pensando: «eingh… ¿cómo es eso?» No les voy a decir qué fué lo que dijo Zawinsky porque prefiero que lleguéis vosotros mismos a la respuesta. Así que lo dejo en plan concurso. Ahí va…

Imaginemos la típica lista doblemente enlazada, donde cada elemento tiene un puntero al elemento anterior y al siguiente, llamémosles «previous» y «next», y tenemos además los punteros «head» y «tail» que apuntan el primero y al último elemento respectivamente. Suponiendo que siempre recorreremos la lista partiendo de «head» o de «tail», o sea, nunca necesitaremos recorrer la lista empezando por un elemento intermedio. ¿Qué podemos hacer para eliminar uno de los punteros «previous» o «next» de la estructura, pero conservando la posibilidad de recorrer la lista en las dos direcciones?.

En estos tiempos de gigabytes ya no hace falta hacer guarradas para ahorrarnos unos bytes, pero el truco no deja ser curioso.

Al ganador un ejemplar gratuito (en PDF 😛 ) de Coders at Work