{"id":13795530,"url":"https://github.com/smythtech/sdnpwn","last_synced_at":"2025-05-12T23:32:21.723Z","repository":{"id":96619153,"uuid":"87711541","full_name":"smythtech/sdnpwn","owner":"smythtech","description":"An SDN penetration testing toolkit","archived":false,"fork":false,"pushed_at":"2024-10-04T08:23:40.000Z","size":108,"stargazers_count":116,"open_issues_count":3,"forks_count":47,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-18T10:33:40.475Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/smythtech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","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-04-09T13:45:20.000Z","updated_at":"2024-10-04T08:23:44.000Z","dependencies_parsed_at":"2024-08-03T23:15:27.061Z","dependency_job_id":null,"html_url":"https://github.com/smythtech/sdnpwn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smythtech%2Fsdnpwn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smythtech%2Fsdnpwn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smythtech%2Fsdnpwn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smythtech%2Fsdnpwn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smythtech","download_url":"https://codeload.github.com/smythtech/sdnpwn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253840964,"owners_count":21972570,"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":[],"created_at":"2024-08-03T23:00:58.304Z","updated_at":"2025-05-12T23:32:21.344Z","avatar_url":"https://github.com/smythtech.png","language":"Python","readme":"[![Mentioned in Awesome SDN Security](https://awesome.re/mentioned-badge.svg)](https://github.com/lopezalvar/awesome-sdn-security)\n# What is sdnpwn? \nsdnpwn is a toolkit and framework for testing the security of Software-Defined Networks (SDNs). For more information check out this article: https://sdnpwn.net/2017/08/22/what-is-sdnpwn/\n\n# Installation\n\nFirst download sdnpwn using git\n\n```\ngit clone https://github.com/smythtech/sdnpwn\n```\n\nMake the sdnpwn.py and setup.sh scripts executable\n\n```\nsudo chmod +x sdnpwn.py\nsudo chmod +x setup.sh\n```\n\nThe setup.sh script takes care installing software required for sdnpwn to function. Just run ./setup.sh and follow the instructions.\n\n```\nsudo ./setup.sh\n```\n\n# Usage\n\nCheatsheet: https://sdnpwn.net/tools/sdnpwn/\n\nFunctionality in sdnpwn is divided into different modules. Each attack or attack type is available from a certain module.\n  \nModules can be executed like so:\n\n```  \n./sdnpwn.py \u003cmodule name\u003e \u003cmodule options\u003e\n```\n \nThe mods module can be used to list all available modules:\n  \n```\n./sdnpwn.py mods\n```\n  \nMore information about a certain module can be accessed using the info module:\n\n```  \n./sdnpwn.py info mods\n```\n\nThe above command would retrieve more information about the mods module, such as a description and available options.\n\n# Todo\nNecesary tasks:\n- Check that the set-up script is still suitable. \n- Test all modules to check for any issues. Verify they function as expected.\n- Fix any bugs that arise based on the above testing.\n- Add consistent signal handling throughout all modules.\n- Add consistent help menu access throughout all modules.\n- Check the OpenFlow library used by of-switch. This needs to be updated or changed.\n- Clean up/optimise code where possible.\n\nOther tasks:\n- Add more OpenFlow versions to the of-switch module. This may require a swap to a different OpenFlow library and possibly a full re-write.\n- Look at creating a p4-switch module that provides similar features to of-switch. \n- Improve accuracy of the sdn-detect module.\n- Add more information for fingerprinting controllers. Structure the fingerprinting data in a better way (external file?). \n- Add up-to-date application templates for the onos-app module.\n- Add modules for vulnerabilities that have been made public in the past few years. \n- Clean up/optimise code. \n\n# Further Information\nCheck out https://sdnpwn.net for articles and tutorials on using various sdnpwn modules and the attacks they use.\n\n# Disclaimer\nThis tool comes without warranty. The developers of this tool decline all responsability for malicious or illegal use, and impact caused by malicious or illegal use. \n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmythtech%2Fsdnpwn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmythtech%2Fsdnpwn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmythtech%2Fsdnpwn/lists"}