Autor Tema: Pokemon GO Mitm  (Leído 541 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1118
    Ingreso: Enero de 2014
  • Sexo: Masculino
  • ar
  • Digitalizando tu Mundo
    • Ver Perfil
    • La nueva era del conocimiento
Pokemon GO Mitm
« on: 28 Julio de 2016, 09:21 pm »
Navegando un rato me he topado con una cosa interesante llamado "Pokemon Go MITM proxy" ¿De que va esto básicamente? Bueno de interceptar el tráfico entre Pokemon Go App y sus servidores, decodifica el protocolo. Esto fácilmente se puede tomar para generar puntos de encuentros falso (Poqueparadas por ejemplo). Debido del gran éxito tiene el grande de Nintendo no era de esperarse aparecieran gente aprovechando el viento de cola para tener su ganancia fácil, como las falsas apk que salieron aprovechándose de los mas ansiosos!


ahora una pregunta siempre se hace ¿Que se requiere? bueno:

Primero que nada nodejs y protobuf (de la versión 3 o superior)... Para instalarlo en Linux desde la consola de comando sino lo tienes debes ejecutar "apt-get install libprotobuf-dev" y para Windows es un poco mas complicado por eso debes leer esta guía

Luego hay que clonar el código para experimentar con los ejemplos! (De lo contrario utilizarlo como un paquete NPM)

Código: [Seleccionar]
git clone https://github.com/rastapasta/pokemon-go-mitm-node.git && cd pokemon-go-mitm-node
Luego instalamos el NPM "npm install" para configurarlo usamos el intérprete CoffeeScript para el cual ejecutamos "NPM instalar -g coffeescript"

Correr y salir de uno de los ejemplos para obtener un certificado de CA generado

Código: [Seleccionar]
café example.logTraffic.coffee
Copia el ".http-mitm-proxy/certs/ca.pem" generada al móvil para agregarlo a los "certificados de confianza". y finalmente solo hay que configurar la conexión para utilizar la máquina como un proxy con el puerto por defecto 8081... Solo quedaría disfrutar!



Este contenido simplemente es mostrado con fines educativos estrictamente, el uso indebido de lo publicado queda a criterio/responsabilidad del usuario el fin que le de a lo publicado.



Otra pregunta todos se hacen es ¿Cómo codificarlo?:

Código: [Seleccionar]
PokemonGoMITM = require './lib/pokemon-go-mitm'
server = new PokemonGoMITM port: 8081
   
# Every throw you hit is a super-duper-curved ball -> +XP
server.addRequestHandler "CatchPokemon", (data) ->
    data.normalized_reticle_size = 1.950
    data.spin_modifier = 0.850
    if data.hit_pokemon
        data.normalized_hit_position = 1.0
    data
 
# Replace all PokeStops with kittys!
server.addResponseHandler "FortDetails", (data) ->
    data.name = "Pokemon GO MitM PoC"
    data.description = "meow!"
    data.image_urls = ["http://thecatapi.com/api/images/get?format=src&type=png"]
    data
 
# Send crafted requests directly to the API as a new request - to release a pokemon as example
server.addResponseHandler "GetInventory", (data) ->
    for item in data.inventory_delta.inventory_items
        if item.inventory_item_data and pokemon = item.inventory_item_data.pokemon_data
 
            server
                .craftRequest "ReleasePokemon", pokemon_id: pokemon.id
                .then (data) ->
                    if data.result is "SUCCESS"
                        console.log "[+] Pokemon #{pokemon.pokemon_id} got released!"
    false

Bueno espero les guste este análisis el cual mostré es de Ninja Pumpkin Mutants tome el trabajo de traducirlo ademas probarlo en linux y no genero ningun problema hasta ahora!


Saludos Familia!
« Última Modificación: 28 Julio de 2016, 09:28 pm por Rock Lee »