Cyber Jawara is an annual national cyber security competition in Indonesia. The 2018 final stage was held in Bali as part of Code Bali International Cyber Security Conference and Exhibitions.
The 2018 final contest is driven by Attack & Defense CTF rule with custom scoring and mechanisms. Each team is given a set of services. CTF Administrator generate and distribute the flags to each service for each tick (1 tick = ~10 minutes). Score is calculated for each round (1 round = 3 ticks) based on successful attacks (number of captured flags) and successful defense (number of defended flags). The goal of each team is to find , patch their services, and exploit other team's services in order to get the flags.
This repository contains Cyber Jawara 2018 Final services docker en. No pre-existing knowledge of docker is required, just execute some simple commands and you can test the services. No Attack & Defense Platform & Docker Manager included (only the services).
Install the docker/docker-compose on Ubuntu:
The installation steps of docker and docker-compose for others operating system might be slightly different, please refer to the docker documentation for details.
Each service run with different port.
You may want to delete the en after the test.
|ID |Description |How to Connect in Local |
|-----------------------|---------------|----------------------------|
| p00-warmup | Welcome to Cyber Jawara 2018 and welcome to Bali! Please familarize yourself with this Attack & Defense CTF. You can try to patch this web service by using this Patcher Platform and attack the others with the Flagger Platform. Score for this service is 0. | |
| p01-firmware | This web service is running with a standalone binary executable and simulating a firmware (not a real firmware). You need to find the ways to get into administrator area. | |
| p02-sandbox | In this web service, you can run a sandboxed x64 Linux Shellcode by pasting hex string that encodes x64 instructions. Sandboxing is done with a ptrace-based syscall filter to block execve and execveat sysall. You need to find the ways to get the flag. For patching, you are only allowed to patch sandbox.c. Functionality tests to write a string to stdout or file and read a file will be performed. | |
| p03-imagemanipulator | An image manipulator with PHP for resize, crop, rotate, flip, mirror, grayscale, and sepia effect. | |
| p04-coderunner | E user inputted for code execution is dangerous. For protection, dangerous PHP functions are disabled. For additional layer of protection, Web Application Firewall (WAF) with ModSecurity is also used. You can configure the WAF by modifying waf.conf to protect this service. | |
| p05-cyrpto | This is a crypto service using AES/Rijndael 256. This service will encrypt the flag file and user inputted string. You need to break the encryption and try to recover the flag. For patching, you are only allowed to patch crypto.cpp and key. Functionality test will try to encrypt and decrypt with your key. Please don't change the block cipher mode of operation. | nc 127.0.0.1 50500 |
| p06-hades | This binary can compute the longest increasing subsequence of 64 bit numbers with O(n^2) time complexity. Can you pwn it like a pro? For patching, you are only allowed to patch 64 bytes. For this service, all attack points are multiplied by 1.5x. | nc 127.0.0.1 50600 |
| p07-exifreader | EXIF or Exchangable Image File is a format that is a standard for storing interchange information in digital photography image files using JPEG compression. This web based app is useful for forensic analysis to quickly read the EXIF data inside an image. | |
| p08-hackme | Can you hack this simple and ob website? It seems easy, but the website is protected by Web Application Firewall (WAF) with ModSecurity. You can configure the WAF by modifying waf.conf for more protection. | |
| p09-poseidon | Hackers also need to understand data structure and algorithm. Do you know if ext3 filesystem tracks directory entries in a balanced binary search tree using red-black tree? memory areas (VMAs) in Linux are also tracked with red-black trees, as are epoll file descriptors, cryptographic keys, and network packets in the "hierarchical token bucket" scheduler. Now, please try to pwn this binary search tree service. For patching, you are only allowed to patch 16 bytes. For this service, all attack points are multiplied by 1.5x. | nc 127.0.0.1 50900 |
| p10-assignment | Laravel is popular and loved by many. This web app is a simple assignment submission apps made with Lara you can upload an archi all of your exploit code (.c/.cpp/.py/.sh) and compute the SHA1 checksum of each file. For this service, all attack points are multiplied by 1.5x. | |
| p11-zeus | In-memory key-value database server like Redis and Memcache is widely used for caching in a production server. Can you pwn this key-value database service? You need to reverse engineered it first to know what data structure is used for storing the data. This service is also run with sandbox. For patching, you are only allowed to patch 32 bytes in 'zeus' binary and only 2 bytes in 'zeus_sandbox'. For this service, all attack points are multiplied by 2x. | nc 127.0.0.1 51100 |
In original Cyber Jawara 2018 final contest, docker en were built on October 9th, 2018. Results of apt update and apt install might be different when you build the services. All binary problems (p01-firmware, p02-sandbox, p05-crypto, p06-hades, p09-poseidon, and p11-zeus) are created to be solved in Ubuntu 18.10 with glibc 2.28 but it might be possible to solve the problems in other Ubuntu , other Linux distros, or other glibc . If you want to contribute so the installed dependency are fixed, you are very welcomed.
We know we use docker in "wrong way" when preparing the contest en but at least they works like expected during competition.
In original contest, flags are generated and distributed for each tick and placed in /var/flag/ directory with random name. In this test en, a placeholder flag file is placed in /var/flag/00000000000000000000000000000000.
You can contribute by adding the link to your write up here. A service can has more than one so solutions are welcomed.
开发语言:PHP
Star 数:79
该项目属于CTF思路方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Cyber Jawara 2018 Final - Attack & Defense CTF services environments based on Docker.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | CJ2018-Final-CTF - Cyber Jawara 2018 Final - Attack & Defense CTF ser |
| 所属分类 | CTF思路 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 23:59:05 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 292 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |