Kanata is a suite of vulnerable by design web applications that provides a safe and legal environment for students to learn and practice white-box testing approaches. Kanata equips students with the skills they need to identify vulnerabilities in web applications and build effective security mitigations.
Students are presented with a range of web applications that simulate real-world scenarios, allowing them to apply their knowledge in a practical setting. By working through these challenges, students gain hands-on experience with common security threats and learn how to develop effective mitigation strategies.
- Contains a variety of web applications with intentionally designed vulnerabilities.
- Allows students to explore different types of vulnerabilities and learn how to exploit and mitigate them.
- Each web application provides various endpoints to interact with.
- Includes easy-to-start docker containers that deploys the web applications.
- Contains detailed solutions that are delivered via text and video.
To set up Kanata on your machine, you can follow these steps for a smooth installation process:
- Docker
- Python3
- NodeJS & npm
- Clone the Kanata repository
- Start the Kanata dashboard
- Have fun!
First, we will copy the link to git clone.
![](https://private-user-images.githubusercontent.com/23440767/259539743-d25250ab-9aed-4f56-82ac-501750103d55.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU0NDA3NzksIm5iZiI6MTcyNTQ0MDQ3OSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1Mzk3NDMtZDI1MjUwYWItOWFlZC00ZjU2LTgyYWMtNTAxNzUwMTAzZDU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA0VDA5MDExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgwYzViMmQzOTRhMTQxZjRjMWI4YzY5MzMxZGMxYzQ3YjU0YWFiZmQyNTcyZWQ5OWIxODFlNjdkYjhkODNhMzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.T0G56FaicdT5p_b2SxyST5e_ZhjEpQ0-uxipCtFDTWI)
Then, clone the repository into a folder.
![](https://private-user-images.githubusercontent.com/23440767/259540022-b9219095-6e10-4a26-aa78-f16082909ad9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU0NDA3NzksIm5iZiI6MTcyNTQ0MDQ3OSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NDAwMjItYjkyMTkwOTUtNmUxMC00YTI2LWFhNzgtZjE2MDgyOTA5YWQ5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA0VDA5MDExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVhZTlmNzQ0MDY0MzQzMWNjM2E0Njg3MmFkMTA0MzVmNGJiOWVkYmQ5ZThhZmRkYzFjYTM4Mzc3OTIyM2ZlOWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.S-vGxsG0Wjmt-SZsbY09lna8C1n5-Pf4Q-ctxJVG6FQ)
Next, run the install tools python script to install all necessary tools. Hit Y
for all.
![](https://private-user-images.githubusercontent.com/23440767/259558722-3ee02f1e-84ee-4cdf-b02f-5ff404a0644d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU0NDA3NzksIm5iZiI6MTcyNTQ0MDQ3OSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NTg3MjItM2VlMDJmMWUtODRlZS00Y2RmLWIwMmYtNWZmNDA0YTA2NDRkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA0VDA5MDExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIxN2IxMDAwNzhiNzlmMmY3NjU2ZDFjYmJmMDFjMDk2OTBiNmQ4YTJkZTMzMjhiYjYxZTBiYTg4MGVlN2VhY2MmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.S9nfep6PbWipGlK0zNSj1C2m1BapUXJRcFotc8qL9Zg)
In the frontend directory, run the command npm install
.
![](https://private-user-images.githubusercontent.com/23440767/259560201-bc2c8f68-f2a7-4cd1-8c25-7adec1a95d3a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU0NDA3NzksIm5iZiI6MTcyNTQ0MDQ3OSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NjAyMDEtYmMyYzhmNjgtZjJhNy00Y2QxLThjMjUtN2FkZWMxYTk1ZDNhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA0VDA5MDExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA4YTU0YTU2YTNkOGNlMTAzNDcxYTVhOWY2ZmUyZTc0Y2RiNjIxYWZiZDY0N2QyNGZkNTIzYjI3OGZhYzZmMzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.uwJlmuhR3bXOEJc_VLtbmWn9PtmNwizxvFdVaDltUCE)
Start the backend server.
![](https://private-user-images.githubusercontent.com/23440767/259560503-3ea559f2-d983-41a8-9db4-45cfa03e96ff.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU0NDA3NzksIm5iZiI6MTcyNTQ0MDQ3OSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NjA1MDMtM2VhNTU5ZjItZDk4My00MWE4LTlkYjQtNDVjZmEwM2U5NmZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA0VDA5MDExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBlMmIyNjU5NmMxOWUzYTZhOGQ4ZjJiZjE1YzI5ODUyMDgzZDgzZjc1MWFmMmU2ODlkYzZkNjBkODI2MjUwNzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.JWX9KQ86ydKM_SGkYLBPAvqTq-RlL52ovpADXIuD2Ao)
In a new terminal, and inside the frontend directory, serve the frontend.
![](https://private-user-images.githubusercontent.com/23440767/259560850-042fcbde-a472-4f3c-936e-0922e0b6910a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU0NDA3NzksIm5iZiI6MTcyNTQ0MDQ3OSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NjA4NTAtMDQyZmNiZGUtYTQ3Mi00ZjNjLTkzNmUtMDkyMmUwYjY5MTBhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA0VDA5MDExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc1ZDE0MWU3YjI1MGIxNDNkYTI2ZDYwYTNhZjlkNzQyMTI4ODI3YmQ3MDMyZjQ5MDFlOTAzNWM2NWE5NGE4MDMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ms9KhzYh2v-q6BgUJKT4Cv43z0ECymlSv61QF_pgW9s)
Now you can go to the local link provided to view the frontend.
![](https://private-user-images.githubusercontent.com/23440767/259561123-d4328c4b-4b3e-407d-8bc4-e4739645e5c3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU0NDA3NzksIm5iZiI6MTcyNTQ0MDQ3OSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NjExMjMtZDQzMjhjNGItNGIzZS00MDdkLThiYzQtZTQ3Mzk2NDVlNWMzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA0VDA5MDExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY2MTZhYTA2YWIyYTUxN2Q1YjJlMjYyNzUzNzYxMWMwOTQwOWIyYmE1YTMyZThjYWIzYWY5Y2I2Y2YxNzk2ZWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.xP_sCHA0IsQ4DvNN5_jmpuFvf9zD_7o-508M6AjLZU0)
You can use the install-tools.py
script to install tools such as Visual Studio Code, Burp Suite Community, JD-GUI, and Docker.
python3 install-tools.py