Nota del autor
Este blog es un archivo de los artículos situados previamente en Lobosoft.es y ha dejado de ser actualizado. Las nuevas entradas pueden encontrarse en www.lobosoft.es. Un saludo,
Lobosoft.
lunes, 16 de agosto de 2010
Galactic Inbox
martes, 29 de junio de 2010
Ave fénix a la fuerza
martes, 22 de junio de 2010
viernes, 28 de mayo de 2010
Cómo añadir nuestros ensamblados en el GAC a Visual Studio
Cuando desarrollamos una librería que deseamos que sea usada por muchas de nuestras aplicaciones o desplegamos una (o varias) que incluyen componentes, controles o funcionalidad disponible como, por ejemplo, la de una API, deseamos que esté disponible para nuestras aplicaciones. El GAC resulta, como bien sabéis, el lugar idóneo desde el que gestionar las distintas versiones de las DLLs de código administrado en nuestro sistema. Sin embargo, aunque registremos las DLLs en el mismo, estas no aparecen en el diálogo de Visual Studio para agregar una referencia a nuestro proyecto. Esto ocurre porque Visual Studio busca los ensamblados en rutas del tipo C:\Windows\Microsoft.NET\Framework\vx.y.z, pero aunque el CLR sea capaz de cargar ensamblados del GAC, este es independiente de nuestro IDE preferido.
Supongamos que ubicamos nuestras DLLs en la ruta C:\SomePath\LsAssemblies y las registramos en el GAC usando gacutil.exe. Cuando Visual Studio (en su versión x.y) busca los ensamblados al añadir una referencia lo hace a través de la clave de registro
HKLM\Software\VisualStudio\x.y\AssemblyFolders
Cada subclave representa una carpeta de ensamblados. Aunque el nombre no tiene la menor relevancia, el valor predeterminado debe contener la ruta completa a la carpeta que contendrá los nuestros. Por ejemplo:
HKLM\Software\Microsoft\VisualStudio\9.0\AssemblyFolders\LobosoftAssemblies \ (Default value): C:\SomePath\LsAssemblies
Como apunte final, cabría señalar que si en la ruta donde situamos las DLLs dejamos también los archivos para la depuración (PDB) y la documentación (XML), Visual Studio los usará cuando cargue la DLL para permitir la depuración en ese ensamblado y mostrar la documentación de Intellisense.
En la Visual Studio Gallery he encontrado también una extensión que nos ayuda a referencias DLLs del GAC. Su nombre es Muse.VSExtensions y permite mostrar un diálogo “Add GAC Reference” en nuestro Visual Studio 2010.
miércoles, 26 de mayo de 2010
Seguridad en WordPress
Tras el ataque sufrido en Lobosoft me he visto obligado a adelantar un poco la dedicación al blog (que tenía pensado incrementar, como ya dije, hacia mediados de junio), llevar a cabo una limpieza del mismo y actualizar, ya no la versión del mismo pero sí algunos plugins que podrían estar en el origen del ataque (fallo por mi parte al utilizar demasiados, aunque alguna de la funcionalidad extendidad del blog está basada, mucho me temo, en ellos).
El script que “me colaron” básicamente se encarga de permitir al atacante subir un archivo a la web con lo cual, dicho pronto y claro, la seguridad completa del sitio queda claramente comprometida. He estado buscando en Internet y parece que es un script genérico que ha sido instalado en numerosos servidores, sobre todo tipo de CMS y foros (y otras aplicaciones web), por lo que en sí no es más que una herramienta más que utilizar para atacar el sitio o usarlo como plataforma para fines oscuros y perversos. ;)
Uno de los blogs que he encontrado con el problema en cuestión es Brian's World, que muestra el código en cuestión. En mi caso no habían llegado ni tan siquiera a inyectarlo en uno de los archivos de Wordpress, sino que se encontraba replicado en varios archivos PHP con nombre similares (con un prefijo añadido) a los contenidos en un par de plugins y en el tema de Wordpress que da estilo al blog.
Dejo por aquí una extensa lista de referencias a la seguridad en Wordpress (algunas aplicables a otros CMS) que nunca está de más tener en cuenta. E incluso así, a pesar de lo que afirme nuestro amigo GigA, me temo que nada es demasiado seguro.
Feliz lectura.
Para saber más:
En castellano.
- Consejos para tener un WordPress seguro.
- Cinco consejos de seguridad para WordPress.
- WordPress Security Cheat Sheet 1.0 (en español).
- ¿Cómo proteger tus blogs Wordpress de los hackers?
- Proteger el archivo wp-config.php.
- Cómo incrementar la seguridad de una web creada con Wordpress.
- 10 pasos para proteger tu panel de administrador.
- Reubicar wp-content y wp-config.php con Wordpress 2.6.
- (In)seguridad en WordPress, por Stefan Esser.
En inglés.
- Wordpress Security Whitepaper.
- Wordpress Security Tips and Hacks.
- WordPress Security – A Comprehensive Guide.
- 11 Best ways to improve WordPress Security.
- WordPress Security, Upgrades and Backups.
- 16 Excellent Wordpress Security Plugins To Secure Your Blog.
- Don’t Get Hacked: WordPress Security Tips.
Más allá de WordPress.
La imagen que ilustra la entrada, que me ha encantado, es de Antivirus WordPress.
martes, 25 de mayo de 2010
Phoenicopterus
Hace apenas unos días comentaba en una entrada que me sentía con ganas y fuerzas de dar un empuje al blog. Tras un tiempo demasiado prolongado, durante el cual había permanecido inactivo por completo, con apenas alguna que otra entrada sin más contenido que vídeos o noticias que habían llamado mi atención, quería retomar un nivel de escritura aceptable, que tal vez no llegase al del verano de dos años atrás, pero sí que constituyese un estímulo para seguir adelante con el mismo. Sin embargo, es posible que en los últimos días, si habéis intentado al blog, lo hayáis encontrado deshabilitado, sin acceso o con un limitado, con problemas. El pasado sábado quise escribir una entrada en la que hablar, aunque fuese de forma somera, de la interesante charla que nos ofreció Bruno Capuano en Málaga mas no me fue posible. Tras un par de años de tranquilidad desde los últimos ataques al blog me encontré con que estaba siendo seriamente comprometido y usado como plataforma desde la que lanzar un ataque DoS contra otras máquinas. Mi gozo en un pozo, la cuenta desactivada hasta nueva orden y unos días en los que apenas podía permitirme el lujo de dedicarme a revisar el blog en los que este no ha estado disponible como habría sido de desear. Mis más sinceras disculpas a todos aquellos que pasaron por aquí buscando algo y tuvieron que irse como habían llegado.
La verdad es que el nuevo ataque me ha servido para reflexionar un poco en torno al blog, al sentido que tiene y al porqué de estas injerencias en su plácido transcurrir en la blogosfera. Por un lado, es cierto que hace un par de años sufrió un ataque en un periodo en el que no podía dedicar apenas tiempo al blog. Ahora ha ocurrido otro tanto, con la salvedad de que el blog llevaba ya mucho sin actividad y ha sido ahora, cuando intentaba retomarla, cuando ha ocurrido. Ya en las últimas semanas había notado ciertos repuntes bastante sospechosos en las visitas diarias al blog. El viernes, durante un descanso en el ecuador de la charla, le comentaba este hecho a un par de compañeros, así como mi suspicacia ante esta repentina afluencia a un blog apenas actualizado. La verdad es que no estaba equivocado.
¿Qué ha podido motivar el ataque? Bueno, no es necesario que exista una razón por la cual Lobosoft haya sido elegido, y ejercería de presuntuoso y “blogocéntrico” si afirmase que alguna oscura conspiración se ha centrado en este, mi blog, para derrocarlo. Sin embargo, me parece curioso que estando actualizado a la última versión estable de WordPress, con varios plugins de seguridad activados y sus ficheros de configuración de Apache medianamente bien estructurados haya sufrido un ataque de este tipo. A diario encuentro multitud de blogs WordPress (y otros CMS) sin actualizar, con la versión expuesta en el código HTML generado y que, pasando así el tiempo, no son atacados. Tal vez la temática del blog, que toca hasta cierto punto la seguridad informática, sea un aliciente para el hacker (más bien lammer, por los métodos usados) que haya accedido en una u otra ocasión. Ya os digo que no tiene que tratarse en sí mismo de un ataque centrado en el blog, pero si así fuese y el atacante estuviera leyendo estas líneas, me gustar decirle que, en primer lugar, no gano nada con el blog (es más, hasta la fecha me cuesta el dinero, aunque no me pesa: es una afición que me ofrece otros beneficios más allá de los pecuniarios) e intento ofrecer en él algunas píldoras de conocimiento que, espero, puedan ayudar a quienes lo necesiten. Y a mí mismo, por qué no decirlo, cuando esta memoria que tenemos nos falla en alguna ocasión y decimos: “oye, si yo escribí una vez algo de esto… voy a buscar en mi blog”, je, je, je. En segundo lugar, no soy un profesional de la seguridad informática. Informático, sí, y aficionado a la misma, intento que el blog sea un motor de aprendizaje y mejora de mis propios conocimientos. Por tanto, aunque haga mis pinitos en ella, con toda probabilidad muchos de los que leéis el blog superéis con creces mis propios conocimientos sobre el tema (me consta que algunos de quienes pasan o pasaron por aquí son grandes profesionales del campo de la seguridad, así que tomo sus visitas como un verdadero cumplido y como una invitación al reto de la autosuperación personal). Así las cosas, romper la seguridad del blog (basado en un CMS cuyo código está disponible libremente y con algunos plugins instalados que, me temo, han sido el origen de la actual invasión) supone un reto interesante pero prescindible. Si aun así, hipotético lector, te interesara atacarlo, me parecería un ejercicio interesante que cambiases la plantilla para poner un mensaje con lo membrillo que puedo llegar a ser y que yo intentase evitarlo, pero no que el sitio web sea usado para propagar pornografía, troyanos o para atacar a otros. Ahí la broma pasaría de castaño oscuro y la próxima vez puede que llegase a las autoridades. No por nada, sino porque creo que es de mal gusto y, además, compromete algo más allá del propio blog, que es mi propia credibilidad y mi responsabilidad civil con las leyes vigentes.
En resumen, después de la parrafada anterior: Lobosoft ha vuelto, esperemos que para quedarse. Aunque acciones como la descrita le quitan a uno un poco las ganas de seguir adelante como blogger (al menos de esta forma, con hosting propio), por otro lado inspiran las ganas de mejorar, de modo que la miraré desde esta perspectiva e intentaré que el blog vaya a mejor.
Si estáis leyendo esta entrada, habré sido capaz de restaurar el blog en la noche del martes (lo hago en tanto subo las imágenes y resto del material del blog) y dejarla programada. Mañana miércoles por la tarde espero poder publicar otra con el código del script que instalaron en el blog y un pequeño resumen sobre seguridad en WordPress.
Saludos.
jueves, 20 de mayo de 2010
Primeros pasos con Reflexil (2)
namespace EjemploReflexil
{
public class Sorpresa
{
public static void Infectar()
{
MessageBox.Show("¡Pardillo!", "Sorpresa",
MessageBoxButtons.AbortRetryIgnore,
MessageBoxIcon.Exclamation);
}
}
}
[/csharp]







