{"id":13828702,"url":"https://github.com/sentinella-enterprises/cyber-security-framework","last_synced_at":"2025-07-09T06:32:42.523Z","repository":{"id":219509777,"uuid":"106028031","full_name":"sentinella-enterprises/cyber-security-framework","owner":"sentinella-enterprises","description":"The CyberSecurity Framework (CSF for short) is a local Python3 scripting package which aims directly on Cyber Security auditing, where you can execute and create new programs for any purpuse that go under your own responsibility to fit your needs. (You can still use/extend it to fit on any unrelated needs of your own).","archived":false,"fork":false,"pushed_at":"2017-10-28T12:54:25.000Z","size":524,"stargazers_count":37,"open_issues_count":0,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-08-04T09:09:03.186Z","etag":null,"topics":["csf","cyber","cyber-security","framework","python","python36","security"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sentinella-enterprises.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-10-06T16:44:35.000Z","updated_at":"2024-08-04T09:09:05.240Z","dependencies_parsed_at":null,"dependency_job_id":"6aa0e03b-f9ef-45fc-838e-ae0ce75ec7c8","html_url":"https://github.com/sentinella-enterprises/cyber-security-framework","commit_stats":null,"previous_names":["sentinella-enterprises/cyber-security-framework","black-security/cyber-security-framework"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sentinella-enterprises%2Fcyber-security-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sentinella-enterprises%2Fcyber-security-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sentinella-enterprises%2Fcyber-security-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sentinella-enterprises%2Fcyber-security-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sentinella-enterprises","download_url":"https://codeload.github.com/sentinella-enterprises/cyber-security-framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225492420,"owners_count":17482869,"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":["csf","cyber","cyber-security","framework","python","python36","security"],"created_at":"2024-08-04T09:03:01.474Z","updated_at":"2024-11-20T08:31:00.421Z","avatar_url":"https://github.com/sentinella-enterprises.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# **CSF - Cyber Security Framework**\n[![state](https://img.shields.io/badge/state-beta-blue.svg)]() [![license](https://img.shields.io/github/license/black-security/cyber-security-framework.svg)](LICENSE)\n[![last-commit](https://img.shields.io/github/last-commit/black-security/cyber-security-framework.svg)]()\n[![contributors](https://img.shields.io/github/contributors/black-security/cyber-security-framework.svg)]()\n[![repo-size](https://img.shields.io/github/repo-size/black-security/cyber-security-framework.svg)]()\n- #### By the **Black**Security Team (c).\n   [![Twitter Follow](https://img.shields.io/twitter/follow/blackviruscript.svg?style=social\u0026label=Follow)](https://twitter.com/BlackViruScript)\n\nThe CyberSecurity Framework (CSF for short) is a local Python3 scripting package which aims directly on Cyber Security auditing, with it, you can execute and create new programs for **any purpose that go under your own responsibility** to fit your needs. (You can still use/extend it to fit on any unrelated needs of your own).\n\n## **NOTES**:\n- This is a beta project, core features \u0026 modules can still be updated and require major changes over all programs. Use it at your own risk.\n\n## Instalation\n**You are going to need [Python](https://www.python.org/) \u003e= v3.6 installed in order to execute CSF.**\n\nOnce you have got Python installed, you can simply execute the following commands on your operating system's terminal to download \u0026 prepare **Black**Security's Cyber Security Framework for use.\n```\ngit clone https://github.com/black-security/cyber-security-framework.git\ncd cyber-security-framework\npip install -r requirements.txt\n```\n\n## Using CSF\nTo display a help message with details on CSF's arguments you can simply trigger the `-h/--help` flag as shown below.\n```\n$ csf.py --help\nusage: csf.py [-h] [-l [DIR]] [-d] [-e PROGRAM]\n\noptional arguments:\n -h, --help            show this help message and exit\n -l [DIR], --list [DIR]\n                       List available programs.\n -d, --debug           Debug program listing (-l/--list must be specified).\n -e PROGRAM, --exec PROGRAM, --execute PROGRAM\n                       Execute the specified program.\n```\n### Listing Programs:\n - **List all working programs**:\n   ```\n   $ csf.py --list\n   ```\n   Example:\n   ```\n   $ csf.py --list\n   [i] There are 16 programs available on 12 folders!\n   |--crypto: (1/0)\n   |  |--hkbit             Symmetric index based bit inversion cryptography.\n   |--network: (3/2)\n   |  |--client            Network Client.\n   |  |--sniffer           Sniff and parse IPv4 traffic reporting anomalies sent from and to the interface of\n   |  |                    the specified address.\n   |  |--whois             Query \u0026 output whois data.\n   |  |--link: (1/0)\n   |  |  |--mac-lookup     IEEE EUI (Extended Unique Identifier) lookup tool.\n   |  |--tor: (2/0)\n   |  |  |--eph-hs         Ephemeral Hidden Server (EPH-HS) management program.\n   |  |  |--fingerprintor  Retrieves descriptive information from hidden service addresses (via .onion\n   |  |  |                 descriptors).\n   |--remote: (0/5)\n   |  |--dns: (3/0)\n   |  |  |--dnask          Utility to build and execute DNS queries ...\n   |  |  |--dns-zt         Request a zone transfer (AXFR Query) from a DNS server.\n   |  |  |--nsmap          Map DNS Records.\n   |  |--rdp: (1/0)\n   |  |  |--rdp-c          Create simple RDP connection files.\n   |  |--snmp: (1/0)\n   |  |  |--snmpprint      SNMP data \"walking\" program.\n   |  |--ssl: (1/0)\n   |  |  |--heartbleed     Verify and exploit the heartbleed bug ...\n   |  |--web: (0/2)\n   |  |  |--apis: (1/0)\n   |  |  |  |--fullcontact Performs contact info queries against email-addresses, twitter usernames, phone\n   |  |  |  |              numbers, company names and domains ...\n   |  |  |--cdn: (2/0)\n   |  |  |  |--cloudsnarf  Identify IPv4 hosts behind CDNs using certificate data.\n   |  |  |  |--crimeflare  Uncovering bad guys hiding behind CloudFlare ...\n   ```\n - **List all working programs on a specific folder**:\n   ```\n   $ csf.py --list FOLDER\n   ```\n   Example:\n   ```\n   $ csf.py --list remote\n   |--remote: (0/5)\n   [i] There are 9 programs available on 8 folders!\n   |  |--dns: (3/0)\n   |  |  |--dnask          Utility to build and execute DNS queries ...\n   |  |  |--dns-zt         Request a zone transfer (AXFR Query) from a DNS server.\n   |  |  |--nsmap          Map DNS Records.\n   |  |--rdp: (1/0)\n   |  |  |--rdp-c          Create simple RDP connection files.\n   |  |--snmp: (1/0)\n   |  |  |--snmpprint      SNMP data \"walking\" program.\n   |  |--ssl: (1/0)\n   |  |  |--heartbleed     Verify and exploit the heartbleed bug ...\n   |  |--web: (0/2)\n   |  |  |--apis: (1/0)\n   |  |  |  |--fullcontact Performs contact info queries against email-addresses, twitter usernames, phone\n   |  |  |  |              numbers, company names and domains ...\n   |  |  |--cdn: (2/0)\n   |  |  |  |--cloudsnarf  Identify IPv4 hosts behind CDNs using certificate data.\n   |  |  |  |--crimeflare  Uncovering bad guys hiding behind CloudFlare ...\n   ```\n - **Debug program listing**:\n   ```\n   $ csf.py --list --debug\n   ```\n   Example:\n   ```\n   $ csf.py --list --debug\n   [!] .\\remote\\test.py:\n    -  NameError: (.\\remote\\test.py line #18 in \u003cmodule\u003e)\n       'abc'\n    -  name 'abc' is not defined\n     ```\n\n### Executing Programs:\n```\n$ csf.py --execute PROGRAM [ARGUMENTS]\n```\nExample:\n```\n$ csf.py --execute remote/dns/dnask google.com --metaquery --rdtype ANY\nid 56855\nopcode QUERY\nrcode NOERROR\nflags QR RD RA\n;QUESTION\ngoogle.com. IN ANY\n;ANSWER\ngoogle.com. 216 IN AAAA 2800:3f0:4001:80a::200e\ngoogle.com. 6 IN A 172.217.30.78\ngoogle.com. 53467 IN NS ns2.google.com.\ngoogle.com. 53467 IN NS ns4.google.com.\ngoogle.com. 53467 IN NS ns3.google.com.\ngoogle.com. 53467 IN NS ns1.google.com.\n;AUTHORITY\ngoogle.com. 53467 IN NS ns1.google.com.\ngoogle.com. 53467 IN NS ns3.google.com.\ngoogle.com. 53467 IN NS ns2.google.com.\ngoogle.com. 53467 IN NS ns4.google.com.\n;ADDITIONAL\nns1.google.com. 260848 IN A 216.239.32.10\nns2.google.com. 259410 IN A 216.239.34.10\nns3.google.com. 259364 IN A 216.239.36.10\nns4.google.com. 259280 IN A 216.239.38.10\n```\n\n## **Extending**\nTo create an executable program, which can be ran through the `csf.py --execute` command, all you need to do is subclass the `core.modules.base.Program` class and implement a `run` method on it. Once this class is initialized you can access a `parser` attribute which holds an `argparse.ArgumentParser` object, used to define \u0026 parse command line arguments into your program ...\n### Example\n```python\n# Import the class \"Program\" and function \"print\" from the core \"base\" and \"console\" modules.\nfrom core.modules.base import Program\nfrom core.modules.console import print\n\n\nclass MyProgram(Program):\n    def __init__(self):\n        # Initialize the base class (core.modules.base.Program).\n        super().__init__()\n        self.parser.add_argument(\"foo\", type = str, help = \"Foo str.\")\n        self.parser.add_argument(\"bar\", type = int, help = \"Bar int.\")\n        self.parser.add_argument(\"-b\", \"--baz\", type = str, help = \"Baz str.\")\n        self.parser.add_argument(\"-q\", \"--qux\", type = str, default = \"Quux\", help = \"Qux str.\")\n\n    def run(self):\n        print(f\"foo = {self.arguments.foo}, bar = {self.arguments.bar}, baz = {self.arguments.baz}, qux = {self.arguments.qux}\")\n```\n**TIP: You can also base on other program's code to roll your own, like so, you have something usable to base on.**\n\n\n\nCopyright (c) 2017 BlackSecurity Team.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsentinella-enterprises%2Fcyber-security-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsentinella-enterprises%2Fcyber-security-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsentinella-enterprises%2Fcyber-security-framework/lists"}