{"id":21933178,"url":"https://github.com/link-wolf/stockholm","last_synced_at":"2026-04-28T23:30:58.419Z","repository":{"id":194804381,"uuid":"691624078","full_name":"Link-Wolf/stockholm","owner":"Link-Wolf","description":"42 project - Prototype of a ransomware, without the ransom","archived":false,"fork":false,"pushed_at":"2024-09-25T13:03:03.000Z","size":207,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-27T12:49:41.998Z","etag":null,"topics":["42","42born2code","42school","cpp","cybersecurity","linux","malware","ransomware"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Link-Wolf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-14T14:51:50.000Z","updated_at":"2024-09-25T13:03:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"cbf145fe-a440-464f-9e5d-9db29d40a478","html_url":"https://github.com/Link-Wolf/stockholm","commit_stats":null,"previous_names":["link-wolf/stockholm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Link-Wolf%2Fstockholm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Link-Wolf%2Fstockholm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Link-Wolf%2Fstockholm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Link-Wolf%2Fstockholm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Link-Wolf","download_url":"https://codeload.github.com/Link-Wolf/stockholm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244960984,"owners_count":20538911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42","42born2code","42school","cpp","cybersecurity","linux","malware","ransomware"],"created_at":"2024-11-29T00:08:44.420Z","updated_at":"2026-04-28T23:30:58.383Z","avatar_url":"https://github.com/Link-Wolf.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n \u003ca href=\"https://github.com/Link-Wolf/stockholm\" title=\"Go to GitHub repo\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?label=Link-Wolf\u0026message=stockholm\u0026color=blue\u0026logo=github\u0026style=for-the-badge\" alt=\"Link-Wolf - stockholm\"\u003e\u003c/a\u003e\r\n \u003ca href=\"https://\"\u003e\u003cimg src=\"https://img.shields.io/badge/42_grade-100%2F_100-brightgreen?style=for-the-badge\" alt=\"42 grade - 100 / 100\"\u003e\u003c/a\u003e\r\n \u003ca href=\"https://\"\u003e\u003cimg src=\"https://img.shields.io/badge/Year-2022-ffad9b?style=for-the-badge\" alt=\"Year - 2022\"\u003e\u003c/a\u003e\r\n \u003ca href=\"https://github.com/Link-Wolf/stockholm/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/Link-Wolf/stockholm?style=for-the-badge\u0026color=yellow\" alt=\"stars - stockholm\"\u003e\u003c/a\u003e\r\n \u003ca href=\"https://github.com/Link-Wolf/stockholm/network/members\"\u003e\u003cimg src=\"https://img.shields.io/github/forks/Link-Wolf/stockholm?style=for-the-badge\u0026color=lightgray\" alt=\"forks - stockholm\"\u003e\u003c/a\u003e\r\n \u003ca href=\"https://github.com/Link-Wolf/stockholm/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/Link-Wolf/stockholm?style=for-the-badge\u0026color=orange\" alt=\"issues - stockholm\"\u003e\u003c/a\u003e\r\n \u003ca href=\"https://www.linux.org/\" title=\"Go to Linux homepage\"\u003e\u003cimg src=\"https://img.shields.io/badge/OS-linux-blue?logo=linux\u0026logoColor=white\u0026style=for-the-badge\u0026color=9cf\" alt=\"OS - linux\"\u003e\u003c/a\u003e\r\n\u003c/div\u003e\r\n\r\n\u003c!-- PROJECT LOGO --\u003e\r\n\u003cbr /\u003e\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003ca\u003e\r\n    \u003cimg src=\"https://www.42mulhouse.fr/wp-content/uploads/2022/06/logo-42-Mulhouse-white.svg\" alt=\"Logo\" width=\"192\" height=\"80\"\u003e\r\n  \u003c/a\u003e\r\n\r\n  \u003ch3 align=\"center\"\u003ePiscine Cybersecurity - stockholm\u003c/h3\u003e\r\n\r\n  \u003cp align=\"center\"\u003e\r\n   \u003cem\u003eHarmless malware\u003c/em\u003e\u003cbr/\u003e\r\n    A ransomware without the ransom\r\n    \u003cbr /\u003e\r\n    \u003cbr /\u003e\r\n    \u003ca href=\"https://github.com/Link-Wolf/stockholm/issues\"\u003eReport Bug\u003c/a\u003e\r\n    ·\r\n    \u003ca href=\"https://github.com/Link-Wolf/stockholm/issues\"\u003eRequest Feature\u003c/a\u003e\r\n  \u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003c!-- TABLE OF CONTENTS --\u003e\r\n\u003cdetails\u003e\r\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\r\n  \u003col\u003e\r\n    \u003cli\u003e\r\n      \u003ca href=\"#goal\"\u003eGoal\u003c/a\u003e\r\n    \u003c/li\u003e\r\n    \u003cli\u003e\r\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\r\n      \u003cul\u003e\r\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\r\n      \u003c/ul\u003e\r\n    \u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"#usage-examples\"\u003eUsage examples\u003c/a\u003e\u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\r\n  \u003c/ol\u003e\r\n\u003c/details\u003e\r\n\r\n\u003c!-- GOAL --\u003e\r\n\r\n## Goal\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003ca\u003e\r\n\t\u003cimg src=\"assets/stockholm_illu.webp\" alt=\"stockholm illu\"\u003e\r\n  \u003c/a\u003e\r\n\u003c/div\u003e\r\n\u003c/br\u003e\r\n\r\nThis cybersecurity project aims to understand how a malware works and focus on ransomware.In our case the program will only affect a small portion of the local files.\r\n\r\nSince it's only a prototype, there's isn't any ransom to pay to decrypt the files. Plus, the program will only affect the files in the `~/infection` directory and the spread will stay local.\r\n\r\n\u003e The program is written in C++\r\n\r\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\r\n\r\n\u003c!-- GETTING STARTED --\u003e\r\n\r\n## Getting Started\r\n\r\nBecause it's a simple C++ project, there isn't much to say here\r\n\r\n\u003e NOTE: Despite the fact that the program is an harmless malware, it's still a malware. So please, don't use it on your computer but on a virtual machine and more importantly don't use it for malicious purposes.\r\n\r\n### Prerequisites\r\n\r\nHaving a C++ compiler like c++\r\n\r\n### Installation\r\n\r\n1. Clone the repo\r\n\r\n    ```sh\r\n    $\u003e git clone https://github.com/Link-Wolf/stockholm.git\r\n    ```\r\n\r\n2. Compile the program\r\n\r\n    ```sh\r\n    $\u003e cd stockholm\r\n    $\u003e make\r\n    ```\r\n\r\n3. Execute it\r\n\r\n    ```sh\r\n    $\u003e ./stockholm [(-h|--help)|(-v|--version)] [(-s|--silent)] [(-r|--reverse) KEY]\r\n    ```\r\n\r\n    \u003e The `-h` (or `--help`) option is used to display the help message\r\n    \u003e The `-v` (or `--version`) option is used to display the version of the program\r\n    \u003e The `-s` (or `--silent`) option is used to run the program in silent mode and avoid the display of each file affected\r\n    \u003e The `-r` (or `--reverse`) option is used to decrypt the files affected by the program. The `KEY` is the key used to decrypt the files\r\n\r\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\r\n\r\n\u003c!-- USAGE EXAMPLES --\u003e\r\n\r\n## Usage examples\r\n\r\n![](assets/pre_infection.png)\r\n\r\nThe whole `~/infection` directory is affected by the program\r\n\r\n![](assets/infection.png)\r\n\r\nDecrypting the files with the key\r\n\r\n![](assets/uninfection.png)\r\n\r\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\r\n\r\n\u003c!-- CONTRIBUTING --\u003e\r\n\r\n## Contributing\r\n\r\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\r\nDon't forget to give the project a star! Thanks again!\r\n\r\n1. Fork the Project\r\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\r\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\r\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\r\n5. Open a Pull Request\r\n\r\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flink-wolf%2Fstockholm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flink-wolf%2Fstockholm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flink-wolf%2Fstockholm/lists"}