Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
GOATCasino — Esta es una implementación de Truffle de contratos inteligentes intencionalmente vulnerables, diseñada para permitir que aquellos interesados en la seguridad de contratos inteligentes exploten una amplia variedad de problemas en un entorno seguro. | Kitploit
Herramientas/GitHubGitHub/nccgroup/goatcasino
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónCTFAprendizaje y EducaciónLabs y Práctica
GitHubnccgroup/goatcasino

GOATCasino

Esta es una implementación de Truffle de contratos inteligentes intencionalmente vulnerables, diseñada para permitir que aquellos interesados en la seguridad de contratos inteligentes exploten una amplia variedad de problemas en un entorno seguro.

Ver Repositorio
12028hace 7 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

¡Bienvenido al Casino GOAT!

¡Prueba tu suerte (o tus habilidades) en los distintos juegos del casino para ganar fabulosos tokens y premios!

Esto está en desarrollo, así que por ahora puede haber una cantidad decepcionante de juegos, pero hay más por venir y muchas cosas que explotar mientras tanto.

Para comenzar:

  1. Instala las dependencias

    1. La última versión de node
    2. sudo apt install npm
    3. sudo npm install -g truffle ganache-cli
  2. Ejecuta ./start_challenge.sh para iniciar testrpc, desplegar el casino en tu testnet local y comenzar a simular a los otros jugadores

  3. Revisa el código en el directorio contracts/ para encontrar vulnerabilidades

  4. Crea scripts de prueba de concepto para obtener tantos CasinoTokens como puedas. (Mira los scripts de usuario simulados en el directorio exec/simuilated-users/ para hacerte una idea de cómo interactuar con los contratos si estás atascado)

Reglas:

  1. Solo realiza acciones como el "atacante", que es la primera cuenta en testrpc. Lo hice fácil porque esa es la cuenta que truffle usará por defecto, pero si quieres asegurarte de estar en lo correcto, puedes usar la librería en GOATlib/GOATConfig.js y usar GOATConfig.accounts.attacker para todas tus llamadas. Sé que tienes acceso a las cuentas reales del propietario y a los otros jugadores, ya que está en testrpc, y no me impresiona tu script para recorrer las cuentas y llamar a transfer.
  2. Puedes modificar los contratos, el código de despliegue o los usuarios simulados tanto como quieras para depurar, pero ten en cuenta que tus soluciones deberían funcionar sobre el código sin modificar al final.

Estructura de directorios:

  • GOATlib/: Librería con código utilizado por los distintos archivos JavaScript.
  • build/: El directorio que Truffle crea cuando compila el proyecto. Contiene información sobre todos los contratos del proyecto, incluyendo el bytecode compilado y las direcciones de los contratos desplegados.
  • contracts/: El código de los smart contracts.
  • exec/simulated-users/: Scripts que controlan a los apostadores simulados que juegan los distintos juegos.
  • exec/examples: Scripts de ejemplo a los que puedes recurrir al crear tus exploits
  • migrations/: Scripts ejecutados por truffle para el despliegue. Se ejecutan en orden alfabético y pueden ofrecer información sobre cómo se inicializan los contratos y cómo encajan entre sí.

Descripciones de los contratos

Todos los juegos del GOATCasino usan un token compatible con ERC20, definido en el archivo CasinoToken.sol. El CasinoToken hace uso de algunos contratos zeppelin ampliamente utilizados para implementar gran parte de las funcionalidades estándar de un token. Puedes usar el contrato definido en CasinoExchange.sol para comprar y vender CasinoTokens a cambio de ether.

El archivo Faucet.sol define un contrato que se puede usar una vez por usuario para obtener un suministro gratuito de CasinoTokens y probar los juegos.

El contrato Vault.sol mantiene una reserva de fondos a disposición del propietario. Porciones iguales de los fondos de la bóveda están protegidas por métodos separados de control de acceso para proteger mejor los fondos si un método resulta insuficiente.

Finalmente, el único juego del casino por ahora es la lotería. Los usuarios pueden comprar boletos por número del 0 al 255. Cada minuto, un usuario puede activar la función checkWin para generar el número de boleto ganador, recompensar al ganador con el premio (menos la comisión de la casa) e iniciar una nueva ronda limpiando los boletos comprados. Si nadie compró el boleto ganador, la ronda continúa por un minuto más de compras antes de que se pueda elegir un nuevo boleto ganador.

Descargar herramienta