pwnedhub
pwnedhub copied to clipboard
PwnedHub
PwnedHub is a vulnerable application designed exclusively for PractiSec training courses. PwnedHub contains intentional vulnerability and should never be exposed to the open Internet. This software is NOT Open Source in a traditional sense. See the LICENSE.txt
file for more information.
Requirements
- Docker
Installation and Usage
-
Install Docker Desktop.
-
Clone the PwnedHub repository.
$ git clone https://github.com/lanmaster53/pwnedhub.git
-
Change into the PwnedHub directory.
$ cd pwnedhub
-
Build the PwnedHub Docker images.
docker compose build
-
Launch the PwnedHub architecture using Docker Compose.
docker compose up
- To launch as a daemon (no terminal logging), add the
-d
switch.
- To launch as a daemon (no terminal logging), add the
-
Modify the hosts file to create the following records:
127.0.0.1 www.pwnedhub.com 127.0.0.1 test.pwnedhub.com 127.0.0.1 api.pwnedhub.com 127.0.0.1 graph.pwnedhub.com 127.0.0.1 config.pwnedhub.com
-
Visit the various applications and API interfaces:
- http://www.pwnedhub.com
- http://test.pwnedhub.com
- http://api.pwnedhub.com/swaggerui/index.html
- http://graph.pwnedhub.com/graphql
- http://graph.pwnedhub.com/voyager
- Postman collection files for the REST and GraphQL APIs are available in the Github repository under the "resources" folder.
-
When done using PwnedHub, clean up the Docker environment with the following command:
docker compose down
Development Usage
The repository includes launch scripts for each part of the application. The scripts still use Docker, but run each service on a development server without a reverse proxy. This allows for auto-reloading and interactive debugging.
-
Conduct steps 1-4 and 6 above.
-
Start the PwnedHub legacy application.
$ docker compose run -p 5000:5000 app python ./pwnedhub.py
-
Open a new tab and start the PwnedHub 2.0 application.
$ docker compose run -p 5001:5001 app python ./pwnedspa.py
-
Open a new tab and start the PwnedHub API.
$ docker compose run -p 5002:5002 app python ./pwnedapi.py
-
Open a new tab and start the PwnedHub GraphQL API.
$ docker compose run -p 5004:5004 app python ./pwnedgraph.py
-
Open a new tab and start the PwnedConfig application.
$ docker compose run -p 5003:5003 app python ./pwnedconfig.py
-
Visit the various applications and API interfaces:
- http://www.pwnedhub.com:5000
- http://test.pwnedhub.com:5001
- http://api.pwnedhub.com:5002/swaggerui/index.html
- http://graph.pwnedhub.com:5004/graphql
- http://graph.pwnedhub.com:5004/voyager
- Postman collection files for the REST and GraphQL APIs are available in the Github repository under the "resources" folder.
-
When done using PwnedHub, close all tabs and clean up the Docker environment with the following command:
docker compose down