iPhone, iPad, IOS 5
Desarrollo en iOS 5 programacion ios objective-c

En esta sección aprenderás a desarrollar aplicaciones para el sistema operativo iOS de apple, desarrollaras apps para iPhone, iPad y iPod.

Ir a la sección

Windows Phone 7
Windows Phone 7 desarrollo apps wp7

WP7 es el nuevo sistema operativo para dispositivos móviles que Microsoft ha desarrollado, aprende desde lo mas básico a los mas avanzado para desarrollar aplicaciones moviles.

Ir a la sección

Android
Android tutoriales para programar en android

Sistema operativo creado por Google, funciona en millones de dispositivos móviles alrededor del mundo. Aquí aprenderás a desarrollar apps para esta plataforma.

Ir a la sección

Desarrollo web
Desarrollo web 2.0 curso de diseño web

Programa y diseña servicios web que interactúen con la nube, el desarrollo web hoy en día es uno de los campos mas amplios que existen, por eso utilizaras distintos lenguajes de programación.

Ir a la sección

eCommerce para mi negocio

ecommerce_banner

eCommerce es sin duda una palabra bastante recurrente hoy en día, se trata de la facilidad que dan las empresas y marcas a los consumidores para poder adquirir sus productos de manera electrónica, es decir, por medio de una página web o una aplicación móvil. Cada día son más los sitios que nos ofrecen esta opción de compra, sin embargo por lo menos aquí en México la cultura del eCommerce no es tan popular como quisiéramos y eso en mi opinión se debe a distintos factores, pero los más importantes vendrían siendo:

Tarjetas de crédito

Esta es la primer limitante con la que nos podemos encontrar a la hora de hacer compras por Internet, realmente son muy pocas las familias mexicanas que cuentan con algún medio de pago electrónico, sin embargo las empresas se han dado cuenta de esto y han tomado cartas en el asunto, es bastante común ver hoy en día que las tiendas en línea han agregado nuevas opciones de pago, ya no es solo PayPal y pago con tarjeta de crédito / debito, como por ejemplo depósitos en efectivo en tiendas como OXXO aquí en México, y esto es bueno porque la mayoría de la población ubica este tipo de establecimientos y es bastante sencillo enviar pagos por medio de ellos. Un ejemplo muy claro de este sistema serían los Riot Points en el juego de League of Legends.

Escepticismo

Generalmente cuando se habla de eCommerce se asume que hablamos de empresas o marcas grandes que dan servicio a clientes de clase media, sin embargo y con las herramientas que tenemos los desarrolladores hoy en día es posible montar plataformas muy económicas para pequeñas empresas, se puede utilizar software libre para manejar carritos de compras y eso abarata mucho los costos. ¿Pero qué está pasando ahora? He notado que ahora la desconfianza de comprar en línea ya no recae solo en el usuario final, aquella persona que está frente a la pantalla de su computadora temerosamente dando clics sobre los productos de una página y piensa dos veces antes de escribir los datos de su tarjeta de crédito (y con justa razón), sino también en las propias marcas y empresas, pues ofrecerles un nuevo medio de ganar dinero por precios tan económicos parece raro para ellos.

Hace aproximadamente mes me tocó vivir una situación en donde una solución de eCommerce me hubiera favorecido bastante, resulta que quería mandar a hacer un par de posters, posters de videojuegos y anime para un proyecto, en la ciudad donde resido hay un establecimiento especializado en ese tipo de productos así que los contacte por medio de Facebook, me indicaron que les enviara las imágenes por medio del chat a lo cual respondí que eso no era posible, ya que las imágenes perdían calidad, entonces me pidieron de favor que si se las podía llevar a su local guardadas en una memoria USB y que ahí mismo las podía pagar. Ya no quise seguir discutiendo sobre el asunto, tenía el día libre y me desplace como 40 minutos hasta donde estaban ellos. Yo como cliente me hubiera evitado todo el recorrido y el gasto de tiempo si la tienda hubiera contado con un portal eCommerce similar al de linio chile, hubiera sido tan sencillo como enviarles las imágenes por medio de la plataforma, realizar el pago en línea y un par de semanas después recibir mi producto en casa o ir a recogerlo, eso último fue lo que le explique y le propuse al encargado cuando llegue para entregarle las fotografías, se me hizo una buena idea porque ellos ya contaban con página de internet ósea ya tienen presencia en línea.

El dueño, quien ahora es amigo mío, me explico que prefería el dinero en efectivo, al estilo de la vieja escuela, yo le explique todavía más que debería de aprovechar el hosting donde tiene su página web y expandir sus servicios a personas como yo (gente que prefiere comprar en línea para evitar, filas, etc). Al final ya no valió la pena darle más vueltas al asunto, esto me hizo darme cuenta que además de educar a los consumidores para que sean más abiertos a las transacciones digitales los gobiernos también deben de capacitar a las pequeñas empresas, pues al final creo que si este tipo de compras se volvieran más populares sería una situación de ganar – ganar.

Share

#FelizDiaGamer Lo que he jugado este año

#DiaGamer #FelizDiaGamer #DiaDelGamer
Hoy me entere que existe el día del Gamer (de alguna forma no me sorprende), investigando un poco encontré que se lleva celebrando desde 2008 y gracias a una revista española de videojuegos y al apoyo de toda la comunidad gamer :). Ser gamer es algo relativamente nuevo para mi (2 años para acá), ya que en el pasado no tenia una buena maquina donde jugar y mis laptops casi nunca tenían espacio disponible en disco xD, pero eso cambio cuando conseguí una ASUS G750JW, esta maquina al menos en el momento que estoy escribiendo, puede correr todos los juegos de gama alta :). Teniendo ahora una computadora en donde puedo jugar “de todo” por fin pude probar todos esos juegos de steam que acumule durante los veranos y que nunca pude jugar por mi “deficit” de hardware xD. Pero bueno mi intención en este post es compartir algunos de los juegos con los que me he divertido / frustrado / enojado / llorado en este ultimo año xD.

La saga Call of Duty aka CoD

Call-of-Duty-Black-Ops-Multiplayer-Reveal-Hands-On

Call of Duty, indudablemente un shooter multiplayer que recuerdo con una sonrisa en mi rostro, este juego es muy especial para mi ya que en algún momento de mi carrera, en la universidad donde estudio, se convirtió en el juego predilecto para la gente de sistemas, CoD fue un juego que ayudo a romper el hielo entre los estudiantes veteranos y los de nuevo ingreso, ayudo a crecer el circulo social y a formar lazos de amistad (y aveces de desprecio hacia aquellos que cobardemente usaban Grenade Launcher aka tubo xD), asi que una de las primeras cosas que hice al tener mi laptop de gaming fue instalar y jugar Call of Duty, era hermoso, a diferencia de mi antiguo “cacharro” ahora podía tirar y que me tiraran granadas de humo sin que el juego crasheara o los frames se bajaran entre 5-10, las armas parecían mas realistas y el juego definitivamente te hacia sentir en un campo de batalla :).

MOBAS: League of Legends y Dota 2

league_of_legends_header

Por alguna razón los mobas (Multiplayer online battle arena) son un tipo de juego bastante adictivo para mi, inclusive hubo una epoca en donde los jugaba todos los dias. Dota 2 lo jugue por que la mayoría de mis amigos parecían venir de una larga estirpe de doteros (dota 1) en mi ciudad, entonces les gustaba bastante ese juego, por otra parte League of Legends se convirtió rápidamente en mi moba favorito, los personajes, sus mecánicas y habilidades me agradaron bastante e incluso hoy en día lo sigo jugando de vez en cuanto, LoL es un juego que en lo personal aprendí a amar y odiar al mismo tiempo, me ha hecho reír, maldecir, llorar y frustrarme xD. La gente que frecuenta estos juegos entenderá el por que :p.

Este es Lee sin, mi personaje favorito de league of legends

Dark Souls

league_of_legends_header

En un intento por ser un poco mas casual (what r u casul?) en cuanto al gaming un amigo me introdujo en el mundo de dark souls, solo diré que es uno de los mejores juegos que he jugado en mi vida gamer, el concepto de un juego extremadamente difícil así como la historia del mismo resulto bastante interesante para mi y me engancho, como muchos otros morí incontables veces en el juego pero al final logre terminarlo (dark souls 1, ahora estoy comenzando con el 2 xD) y fue una gran satisfacción.

league_of_legends_header

Survival Horror: DayZ e Infestation

tumblr_mqxpuoeFrJ1rd90z0o1_1280
Los juegos de Survival Horror por si solos son buenos, pero si además le agregas interacción con otras personas en línea creas una experiencia totalmente diferente y difícil de describir, es el caso de juegos como Dayz o Infestation donde juegas en un mundo poblado de zombis y tienes que abrirte paso en las diferentes ciudades recolectando recursos (comida, armas, municiones) o cualquier otra cosa que te pueda llegar a servir, el verdadero problema aqui no son los zombis sino los demás jugadores humanos xD, si hay algo que aprendes después de jugar DayZ, es que no puedes confiar en nadie que no conozcas físicamente en el mundo real, en nadie!!!, Pareciera pues que DayZ e Infestation son juegos diseñados para que las personas demuestren su verdadera naturaleza humana xD, muchas veces con mis amigos llegamos a capturar prisioneros humanos y obligarlos a comer comida podrida en el juego o cosas así, por diversión xD.

Fighters: Mortal Kombat, Street Fighter y SkullGirls

Mortal_Kombat_3

Los juegos de peleas siempre son una buena opción a la hora de divertirnos entre amigos, son juegos rápidos que permiten que todo mundo tenga oportunidad de jugar, Mortal Kombat, Street Fighter y SkullGirl son de mis favoritos en mi repertorio de Steam, aunque en lo personal soy muy malo en SkullGirls en Mortal Kombat he aprendido a dominar a 3 personajes con los que casi siempre gano y logre terminar el juego en la maxima dificultad.

MMORPG: World of Warcraft y Tera

south_park_wow

Aun que no lo crean hubo una época en donde jugué bastantes MMORPG, World of Warcraft, Ragnarok, Tibia, LOTRO (Lord Of The Rings Online), etc. Los MMORPG son juegos bastante adictivos y mas si los juegas con amigos, te puedes llegar a meter bastante en el personaje lo que lo hace aun mas divertido :) en lo personal World of Warcraft me hizo ver que hay toda una economia que gira detras de ese juego, cuando uno esta metido mucho en ese mundo no es raro encontrar sitios en Internet donde contratan gente (la mayoría chinos) para que farmen (conseguir) oro 24/7, el cual es vendido después por dinero real, incluso existen divisas y tazas de cambio entre dólares y oro xD, por la parte de programación solo diré que WoW me hizo adentrarme en el mundo del scripting con LUA, programe un par de plugins que me ayudaban a jugar de forma mas eficiente (así lo veo yo), después de jugar WoW estuve jugando un rato Tera con uno de mis mejores amigos de la universidad @the_kiq, trolleabamos bastante y conseguíamos cosas gratis por que teníamos personajes femeninos xD.

Arcade: OSU!

OSU!, mi juego casual favorito xD, incluso dedique una entrada en este blog para hablar un poco sobre el. OSU! es el tetris del mouse, me refiero es que es de esos juegos que te permiten jugar y no pensar en nada mas, solo existes tu y el juego, pone tu mente en blanco y te ayuda a relajarte. La comunidad de OSU! es gigantesca y muy amigable, tiene beatmaps para todos los gustos musicales, OSU! es definitivamente un juego que nunca te aburrirá.

Voy a parar aquí por ahora, por que si publicara todo lo que he jugado nunca acabaría xD, mejor tratare de disfrutar el #DiaGamer
salu2

Share

Zankyou no Terror: Anime de temporada con muchas referencias a la cultura hacker

Atención

Este post contiene muchas descripciones de sucesos y situaciones que algunos lectores podrían considerar SPOILERS dañinos para su salud xD, se recomienda discreción al continuar leyendo :)

Hace aproximadamente 1 mes se estrenó el anime Zankyou no Terror (Terror in Resonance), a grandes rasgos la historia comienza cuando dos chicos colocan explosivos para derribar un par de edificios durante un acto terrorista, además una compañera de clases se ve involucrada durante lo ocurrido y termina siendo cómplice de ellos, sin embargo esto no fue lo más interesante para mí, ahora les cuento porque decidí escribir este artículo :).

Existen muchísimas series y películas en donde cuando involucran cosas relacionadas con el mundo de la tecnología o la cultura hacker se hacen referencias que llegan a dar bastante risa (o en otros casos ganas de llorar :p, estoy hablando de cuando muestran direcciones ip con valores arriba de 255, dirección en hexadecimal con G, H, I, j o hasta X (enserio xD) y ni mencionemos al estereotipo del “hacker” con lentes negros trabajando en una habitación en plena oscuridad.

Sin embargo este no fue el caso en Zankyou no Terror (por lo menos no tanto) y hasta pareciera que los escritores del anime se dieron a la tarea de hacer investigación respecto a algunas de las escenas de hacking que ocurren en el capítulo 4, el capítulo causo mucha discusión y polémica en boards como reddit y 4chan, entre gente que trataba de justificar si era posible hacer lo que se mostraba en la serie, es por eso que en este artículo daré mi opinión personal respecto a algunas escenas que me parecieron las más interesantes, también echare a volar un poco la imaginación.

Contexto del capitulo

Los dos niños terroristas empiezan a colocar explosivos mientras lanzan acertijos al departamento de policía de Japón, cuyo objetivo será resolverlos para de esta manera encontrar la ubicación de las bombas y desactivarlas. Así mismo uno de los “loquillos”, quien al parecer es un experto en informática super h4x0r, se da a la tarea de infiltrarse en los servidores de la policía xD.

Escena 1

20140804_224627

Contexto: La policía en una reunión interna está hablando sobre lo sucedido, y uno de sus expertos en informática está explicando que es difícil rastrear la ubicación de donde se publicaron los videos de YouTube debido a que los chicos utilizaron un software de anonimato llamado Tor.

Comentarios con un poco de imaginación: Pues eso, los protagonistas utilizaron Tor (Onion network, lo que se usa para acceder a la Deep web, etc) para “proteger” su identidad y después publicar sus videos en youtube, probablemente los publicaron con una cuenta recién creada y enviaron el link a algunos medios de comunicación influyente mediante cuentas de twitter también recién creadas.

¿Posibilidad?: Es tan posible que hasta un niño de 8 años podría hacerlo, solo hace falta descargarse el navegador tor y listo.

Escena 2

Zankyou no Terror - 04 - Large 04

Contexto: Los investigadores de la policía explican el material con el que fueron construidas las bombas con las que derribaron los edificios, también mencionan que algunos materiales fueron comprados utilizando tarjetas de crédito robadas (un saludo a todos los carders xD) por lo que no pueden vincular directamente las compras con los culpables.

Comentarios con un poco de imaginación: Las compras por Internet no son algo nuevo hoy en día, es posible conseguir este tipo de material “exótico” (TNT, nitroglicerina, termita, etc.) en el mercado negro o comprar la materia prima y fabricarlo uno mismo, los otros materiales que se mencionan como los detonadores se pueden conseguir en tiendas de construcciones y pagarlas con tarjeta de crédito, existen foros en internet en donde se pueden conseguir tarjetas de crédito con saldo desde 1 dólar, o hasta ellos mismos pudieron haberlas conseguido si tienen acceso a alguna botnet o algún sitio que utilice tarjetas de crédito como medio de pago. Probablemente los chicos compraron las suyas en algún foro ruso xD y con eso compraron los detonadores y el demás material, seguramente también hicieron uso de algún “drop” para que recibiera sus cosas y se las entregara.

¿Posibilidad?: 100% posible, la complejidad radicaría en la manera en que se consiguen las tarjetas de crédito, ya sea compradas en foros de carders u obtenidas por uno mismo, y bueno, también ponerse de acuerdo con un drop de “confianza” XD XD XD para que no te vaya a rippear / robar las cosas que pidas por Internet.

Escena 3

Zankyou no Terror - 04 - Large 05

Contexto: Aquí los investigadores rastrearon algunos componentes de las bombas usando el número de serie hasta una tienda en Internet donde se reciben “Kittocoins” XD XD XD, lo que hace aún más difícil rastrar a los chicos porque no hay entidades bancarias involucradas (a diferencia del fraude con tarjetas de crédito).

Comentarios con un poco de imaginación: Obvia referencia a Bitcoin, la cripto-moneda con más valor hoy en día, en la actualidad comerciar con el bitcoin y con cripto-monedas en general ya es una realidad (Lightcoin, Dogecoin, etc.), como ventaja, tenemos que es una moneda descentralizada y debido a que no hay instituciones bancarias involucradas es difícil para un tercero (alguien que no envió o recibió el pago) rastrar transacciones, hubo un par de charlas muy interesantes sobre el Bitcoin en #CPMX5 :).

¿Posibilidad?: Si, muy posible, cualquier persona con acceso a Internet puede abrir una Wallet y comenzar a comprar y vender bitcoins, los dueños de sitios web también pueden recibir pagos utilizando esta moneda, tan solo hace falta que publiquen la dirección a donde realizar los pagos, para mas información: Terminología del Bitcoin

Escena 4

Zankyou no Terror - 04 - Large 09

Contexto: Nuestro protagonista le dice a su amigo que encontró un backdoor en el sitio web de la policía http://ohcihsiek/hack.php, que al contrario es keishicoh que es la policía japonesa xD. Esta escena fue muy polémica en Reddit ya que la mayoría de la gente no entendió bien lo que sucedía, decían cosas como: “cómo es posible que la policia utilice contraseñas en texto plano para acceder a la página de la policía” o “Claro, soy un policía y mi contraseña es f@ckpolice, nadie la descubrirá” xD, pero como bien decía nuestro protagonista, este era un backdoor que alguien más había subido al servidor, el solo estaba tratando de adivinar la contraseña para robarle el acceso al dueño original xD.

Comentarios con un poco de imaginación: Para empezar veamos que al dominio http://ohcihsiek/ le falta el .jp xD, así que digamos que nuestro protagonista edito su archivo hosts para que tuviera que escribir solo ohcihsiek sin el top level domain de japon por comodidad, flojera o que se yo xD, resuelta esa incógnita ahora pasamos a la manera en la que está haciendo la conexión y la fuerza bruta. Aquí podemos ser tan imaginativos como queramos para justificar el programita con el que está tratando de conectarse, creo que lo más sencillo es decir que tiene un pequeño script en donde defines una url y un parámetros y realiza una petición GET al servidor, parsea lo que devuelve el servidor y si no es lo que estas esperando (algún texto como Access granted o Login successful) te imprime un 404 Not Found en la consola, XD XD XD, por el contrario si la respuesta del servidor es lo que tú quieres el script lanza el navegador con la url, el parámetro y el valor que sirvió para acceder, está de más decir que es una completa tontería meter los datos a mano cuando pudo ser todo automatizado desde un diccionario.

¿Posibilidad?: Ammm un poco probable, encontrar backdoors si no tienes acceso al sistema mismo es complicado, es como si quisieras encontrar un número de teléfono en el directorio telefónico, pero este no tuviera índice ni nada y tienes solo el teléfono pero no tienes los datos de a quién pertenece ni nada relacionado con él; al menos que sea un webshell popular de esas que puedes encontrar usando dorks o que los buscadores la hayan indexado o compartido en foros de defacers, teniendo en cuenta que la webshell se llama hack.php, que es una palabra muy común, es probable que si haya sido indexada o compartida, ahora nos queda solamente la parte de adivinar la contraseña, lo cual si es complicado ya que aunque tengas el diccionario más completo si la contraseña del webshell es algo como iuy123%&/($%#klj123%&/ es muy probable que no la encuentres nunca, entonces mi teoría final es que algún amigo defacer de nuestro protagonista le dio acceso a esa webshell y a manera de reto le dijo, si adivinas la contraseña es tuya, entonces él protagonista se puso a probar los passwords que se le ocurrían hasta que intento con el nombre de su amigo defacer “peeponsanju” y esa era la contraseña correcta xD.

Escena 5

Capture2

Contexto: Bueno, una vez que adivinan la contraseña del webshell se encuentran con una interfaz similar a la de la imagen, en donde usando la consola web hace un wget a un archivo que se encuentra en el mismo dominio ??? y después ejecuta lo que descargo (que probablemente es un script), aquí una explicación profunda de por que ejecutamos scripts usando ./ Why do you need ./ (dot-slash) before script name to run it in bash?

Comentarios con un poco de imaginación: Para justificar esta parte se me ocurre que el protagonista en esta escena está escribiendo comando en una segunda webshell de un segundo sitio que tambien vulnero y que puede ser accedido solamente a través del primer servidor, como si el segundo servidor estuviera en una intranet, entonces para subir archivos al segundo servidor, primero debe de subirlos al primero, http://ohcihsiek/, (valga la redundancia). Además en la segunda webshell si utiliza el dominio completo http://www.ohcihsiek.jp/, lo que apoyaría aún más mi teoría de que el protagonista modifico su hosts xD, adelantándome un poco a lo que viene en las siguientes escenas, el script que descargo y ejecuto probablemente lo que hace es descargar malware, mas scripts y otros binarios que permitan ganar root del server, así como hacer tunneling para hacer las conexiones más transparentes hacia las máquinas de la intranet xD.

¿Posibilidad?: Posible, en este punto el protagonista demuestra ciertos conocimientos sobre redes, algunos protocolos de red y administración de sistemas xD.

Escena 6

Capture3

Contexto: En esta escena se muestra un control total del departamento de policía por el protagonista.

Comentarios con un poco de imaginación: Del lado derecho se puede ver un software que parece ser un cliente FTP conectado a un servidor con nombre MPD Server (¿Metropolitan Police Department?), en medio una Shell de Windows que está ejecutando un tracert a google que pasa por www.ohcihsiek.tokyo_archive.jp (estos pueden ser dominios dentro de la misma red) y también se ven varias referencias a softether.co.jp que es un servicio real de VPN. La información arrojada por el tracert nos muestra detalles interesantes, como que el request hace saltos hacia nodos de la VPN, esto podría implicar que los servidores están usando la conexión segura.

Entonces la teoría es que el protagonista ya ganando acceso a las máquinas de la intranet mediante el servidor web, consiguió privilegios de super usuario, system en el caso de Windows, y conecto las máquinas de la policía al servicio de VPN que compro en softether, lo más seguro es que la maquina desde donde está atacando también ya esté dentro de la VPN o alguna otra, el punto es que en este momento ya hay una comunicación segura establecida entre el atacante y las máquinas de la intranet de la policía xD, todo eso sin que el hacker sea detectado por IDS, IPS o antivirus xD.

¿Posibilidad?: Es muy posible, pero no es trivial, aquí las acciones del protagonista ya implicarían un conocimiento profundo de redes, seguridad informática, comunicaciones, administración de sistemas, configuración de VPNs, etc.

Escena 7

Capture5

Contexto: En el último reto que lanzan los terroristas tiene que ser resuelto utilizando una página web donde aparece un contador, tiene un formulario con un campo de texto para escribir la contraseña y se supone que si se ingresa la contraseña correcta el explosivo del reto queda desactivado.

Comentarios con un poco de imaginación: Esto se resolvería desarrollando una pequeña página web con JavaScript para el contador y PHP para validar la contraseña introducida del lado del servidor, la contraseña puede estar hardcodeada en el propio script, el desarrollo del sitio web no tendría nada de ciencia, y creo que la parte de conectar la página web y el servidor en si a la bomba se podría resolver con un arduino xD. El script en PHP se podría conectar a un socket o algo por el estilo cuando recibiera la respuesta correcta y con eso desactivar la bomba.

¿Posibilidad?: Es posible, se necesitarían conocimientos de desarrollo web básicos y conocimientos medios de C, Arduino y microcontroladores en general, ha y por supuesto ser todo un experto en bombas y explosivos xD.

Escena 7

Captur6

Zankyou no Terror - 04 - Large 32

Contexto: Una vez que el contador de la página web llegaba a 0 resulta que la bomba no era bomba, bueno al menos no de las que explotan, si no lo que ocurrió es que el protagonista hacker hizo público todos los documentos de investigaciones internas del departamento de policía de Japón xD via twitter.

Comentarios con un poco de imaginación: Aunque esto suene descabellado es bastante posible, se podría realizar un pequeño script en bash que utilizara la api de twitter, incluyera la api key y secret key desde donde queremos twittear, y en donde mediante comandos como find o locate listara todos los archivos docx, pptx, xlsx, pdf, txt, imágenes, vídeos, audios (y en general cualquier tipo de archivo) que queramos de un servidor para publicar un tweet con ellos, debido a que twitter solo permite adjuntar imágenes, se podrían subir los archivos antes a algún otro servicio como mega, fileupload, fileshare, etc usando sus respectivas apis y ya solo se publicaría el link del archivo en el tweet final xD.

¿Posibilidad?: Es bastante factible poder hacer esto, se necesitarían conocimientos de programación, bash / batch si queremos hacer scripts rápidos, y saber cómo usar las apis de los servicios a utilizar (twitter, mega, fileshare, etc), podríamos desarrollar nuestros scripts tan sofisticados como queramos, incluso hacer que se twittearan archivos si cumplen solo ciertas características como fechas de creación, de modificación, extensión del archivo, peso del archivo, propietario del archivo y muchas cosas más :).

Escena 7

Capture7

Capture4

Contexto: Una vez que todos los documentos salen a la luz aparece una persona, quien al parecer es un administrador de sistemas de la policía encargado de proteger toda la información y los servidores xD, y quien está bastante frustrado por el hackeo que acaban de recibir x’D (ahí lo pueden ver casi llorando en su escritorio).

——————————————————————————————————-

Bueno espero les haya gustado esta publicación y se hayan divertido tanto como yo pensando y descubriendo que tanta realidad hay en la ficción :p, creo que siempre es un buen ejercicio voltear a ver las cosas que están haciendo los demás y hacerse la pregunta a uno mismo ¿Cómo lo haría yo?

Los dejo con el opening de la serie que por cierto es bastante bueno :)

Salu2

Share

Git Hack Recovery

En esta ocasión quiero compartir con ustedes una pequeña herramienta que desarrolle (y lo sigo haciendo) y que presente en #CPMX5 como parte de las charlas dadas por miembros de la Comunidad Underground de México, la herramienta se llama Git Hack Recovery y a grandes rasgos permite que en el caso de que tu sitio web haya sido comprometido por un atacante, los archivos regresen al último estado de confianza de manera automática, ahora explico un poco más.

1487876_10203003583025374_7182323267010208382_o

Montando el entorno

Para empezar tenemos dos opciones, montar nuestro propio servidor con git o utilizar el servicio de algún tercero que permita crear repositorios privados, para este ejemplo Bitbucket es una buena opción puesto que nos permite crear repositorios ilimitados. (https://bitbucket.org/repo/create)

bitbucket

Después debemos de crear 2 cuentas y agregarlas al repositorio, un administrador del con permisos de lectura y escritura y “esclavo” que solo será capaz de leer los archivos del repositorio pero no subir ni modificar nada. (para agregar usuarios al repositorio debes ir a settings > access management)

bitbucket2

Después para mayor comodidad vamos a utilizar pki authentication por lo que debemos crear nuestras respectivas ssh keys en cada maquina (el servidor de producción y la máquina de desarrollo / administración), tutorial: https://help.github.com/articles/generating-ssh-keys
Recapitulando debemos de tener:

  • Repositorio privado
  • Una cuenta con acceso de escritura y lectura al repositorio
  • Una cuenta con acceso de solo lectura al repositorio

Ahora con las tres cosas que tenemos debemos montar una infraestructura como la siguiente:

git-hack-recovery

Tip: En el caso de que nuestro sitio web utilice urls amigables como wordpress, es recomendable que en nuestro servidor de desarrollo utilicemos virtual-host y agreguemos una entrada con el dominio del sitio web que apunte a 127.0.0.1 en nuestro archivo hosts, esto porque algunas veces CMS como wordpress causan problemas con las urls.

Explicación de los Scripts

Esta primera versión de la herramienta está conformada por 5 scripts que se supone deben de correr en segundo background en el servidor de producción, los he separado en dos grupos para que sean más fácil de explicar.

Scripts de administración
Deben de correr en nuestro “trusted system”

  • auto_commit.sh: Como su nombre lo indica, hace un commit, es util a la hora de que terminamos de agregar algo en localhost y queremos que los cambios sean agregados al repositorio
  • db_checksum_backup.sh: En el caso de que nuestro desarrollo utilice bases de datos con este script podemos crear un backup de las tablas y almacenar el checksum de las mismas en un archivo para que posteriormente sean revisadas

Scripts de producción
Deben de correr en nuestro servidor de producción

  • auto_update.sh: Como su nombre lo indica, el trabajo de este script es revisar si hay nuevos cambios en el servidor Git, si los hay los descargara con el fin de mantener el sitio de producción actualizado
  • deface_recovery.sh: Este script se encarga de detectar cambios en los archivos locales, en el caso de que se elimine, modifique o cree un archivo, el script devolverá todo a como estaba originalmente
  • db_checksum_validator.sh: En el caso de que un atacante haya comprometido nuestra base de datos (agregado, eliminado o modificado información de la misma), este script detectara que hubo una modificación de las tablas utilizando el checksum y las restaurara utilizando la copia que tiene del servidor Git
Tip: Es recomendable que los script de producción corran mediante cronjobs mientras que los de administración sean bajo demanda

Integrar los scripts con un proyecto

Primeramente, en nuestra laptop o la máquina de donde subiremos los cambios (normalmente localhost) clonaremos el repositorio usando la cuenta de administrador, y agregaremos los archivos de nuestro sitio web, blog de wordpress, joomla, desarrollo a la medida o lo que sea, después para integrar Git Hack Recovery es tan fácil como descargar los archivos del siguiente enlace Git Hack Recovery y colocarlos junto con los archivos del sitio web que queremos proteger, el archivo .gitignore ya contiene las entradas para que los scripts de administración sean ignorados al momento de hacer los commits. Una vez tenemos los archivos listos en la maquina “trusted” podemos correr los scripts de administración (en este orden)

$ ./db_checksum_backup.sh host-name db-name db-user db-pass
$ ./auto_commit.sh remote-name branch-name "your-commit-message"

En este punto tanto nuestro sistema “trusted” como nuestro servidor Git estarán sincronizados con los mismos archivos, ahora en el servidor de producción vamos a clonar el repositorio de Git utilizando la cuenta “esclavo”, esto nos asegura que en caso de que alguien vulnere el servidor de producción (que es el que normalmente está expuesto a Internet), solo seguirá teniendo acceso de lectura al repositorio en el servidor Git. En el servidor de producción es donde debemos de correr los 3 scripts que nos faltan como taras cron, para hacerlo podemos abrir el archivo de configuración de cronjobs usando el comando:

# crontab -e

Y agregar las siguientes entradas

*/1 * * * * cd /path/production-repository/; /bin/bash deface_recovery.sh --arguments > /path/deface_recovery.txt</li>
*/1 * * * * cd /path/production-repository/; /bin/bash auto_update.sh --arguments > /path/auto_update.txt</li>
*/1 * * * * cd /path/production-repository/; /bin/bash db_checksum_validator.sh --arguments > /path/db_checksum_validator.txt</li>

Estos scripts se estarán ejecutando cada minuto y guardaran un log en el path que le indiquemos. Listo, esto ha sido un pequeño tutorial de cómo integrar la herramienta, es la versión 1.0 pero cumple con su cometido, estaré trabajando para agregarle funcionalidades extras así como soporte para manejar más motores de bases de datos. Próximamente estaré subido algunos vídeos de donde se aprecie el funcionamiento de la misma.

Git Hack Recovery en acción

Para finalizar tengo que agradecer a Last Dragon y su artículo Restaura páginas web después de un hackeo en menos de un minuto con git que fue el que me inspiro para comenzar a desarrollar la herramienta.

Descargar Git Hack Recovery

salu2

Share

Servidores de Riot Games se ven afectados por ataques DDOS

League of legends es víctima de ataques de denegación de servicio aparentemente adjudicado al grupo hacker ruso pro dota2. varios servicios de riot están siendo afectados por estos ataques DDos desde ayer por la tarde, lo cual afecta a los servidores y pagina web en las regiones: LAS,NA,BR,LAN, los atacantes publicaron un comunicado en el foro de league of legends de reddit explicando cuales eran sus intenciones.

Por su parte, un ingeniero de soporte de Riot Games en un comunicado (antes de que los foros estuvieran offline) público el siguiente mensaje:

lol_ddos_1

De acuerdo a lo que he investigado, esta vez la vulnerabilidad fue explotada en los servidores de chat del juego usando herramientas de Chat Spam Flood, fue debido a eso que ayer por la noche ningún usuario tenía acceso al chat del cliente en los servidores LAS, NA, BR y LAN. Haciendo algunas pruebas en el pasado note que league of legends no validaba el número de dispositivos que iniciaban sesión en el servidor con una misma cuenta, seguramente alguien se colgó de esta vulnerabilidad y con el uso de una botnet realizo un DDOS, esa es mi primera hipótesis.

Pero continuemos, no falto mucho para que (como ya es costumbre) salieran los lammos en busca de los reflectores, durante el incidente se crearon fanpages en Facebook y cuentas en twitter de personas adjudicándose el ataque

lol_ddos_1

Supuesta cuenta de twitter en donde un lammer brasileño se jacta de que el servidor esta offline

lol_ddos_1

Página de Facebook del supuesto grupo que realizo el ataque (página con 10 minutos de creación, avatar de Amon de la leyenda de Korra?? Enserio?)

No es la primera vez que Riot Games recibe este tipo de ataques, y estoy seguro que no será el último, parchar una vulnerabilidad de este tipo te puede llevar algo de tiempo (los que han trabajado en diseño y aplicación de infraestructura tecnológica entenderán :)), no puedes mitigar el problema aplicando una tecnología así nada más, se debe de hacer un análisis antes de ver como impactara en lo que ya tienes, porque claro, lo último que quieres es que tú mismo vayas a romper algo en tus sistemas ;).

Lo que si es cierto es que mientras el tiempo pasa la comunidad se desespera más y más, y Riot Games pierde dinero $$$ :S.

También es cierto es que Riot también dio el comunicado de que emprenderá acciones legales contra quien resulte responsable, como fue el caso del grupo Derp hacking group que emprendió una campaña de ataque de denegación de servicios contra usuarios de twitch tv que realizaban stream de league of legends

lol_ddos_1

salu2

Related Posts Plugin for WordPress, Blogger...

Share