{"id":13650667,"url":"https://github.com/Orange-Cyberdefense/fenrir-ocd","last_synced_at":"2025-04-22T18:32:15.933Z","repository":{"id":41497659,"uuid":"94413103","full_name":"Orange-Cyberdefense/fenrir-ocd","owner":"Orange-Cyberdefense","description":null,"archived":false,"fork":false,"pushed_at":"2020-10-08T15:16:08.000Z","size":39,"stargazers_count":214,"open_issues_count":7,"forks_count":45,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-01-24T00:44:49.465Z","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/Orange-Cyberdefense.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-15T07:37:19.000Z","updated_at":"2024-01-09T10:13:13.000Z","dependencies_parsed_at":"2022-09-05T07:00:21.026Z","dependency_job_id":null,"html_url":"https://github.com/Orange-Cyberdefense/fenrir-ocd","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/Orange-Cyberdefense%2Ffenrir-ocd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orange-Cyberdefense%2Ffenrir-ocd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orange-Cyberdefense%2Ffenrir-ocd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orange-Cyberdefense%2Ffenrir-ocd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Orange-Cyberdefense","download_url":"https://codeload.github.com/Orange-Cyberdefense/fenrir-ocd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250297482,"owners_count":21407217,"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-02T02:00:39.175Z","updated_at":"2025-04-22T18:32:15.680Z","avatar_url":"https://github.com/Orange-Cyberdefense.png","language":"Python","funding_links":[],"categories":["Tools"],"sub_categories":[],"readme":"                            *,ood8888booo,*\n                         *,od8           8bo,*\n                      *,od                   bo,*\n                    *,d8                       8b,*\n                   *,o                           o,    ,a8b*\n                  *,8           FENRIR            8,,od8  8*\n                  *8'      Valérian LEGRAND      d8'     8b*\n                  *8                           d8'ba     aP'*\n                  *Y,                       o8'         aP'*\n                   *Y8,                      YaaaP'    ba*\n                    *Y8o                   Y8'         88*\n                     *`Y8               ,8\"           `P*\n                        *8o        ,d8P'              ba*\n                  *ooood8888888P\"\"\"'                  P'*\n               *,od                                  8*\n            *,dP     o88o                           o'*\n           *,dP          8                          8*\n          *,d'   oo       8                       ,8*\n          *$    d$\"8      8           Y    Y  o   8*\n         *d    d  d8    od  \"\"boooaaaaoob   d\"\"8  8*\n         *$    8  d  ood'-I   8         b  8   '8  b*\n         *$   $  8  8     d  d8        `b  d    '8  b*\n          *$  $ 8   b    Y  d8          8 ,P     '8  b*\n          *`$$  Yb  b     8b 8b         8 8,      '8  o,*\n               *`Y  b      8o  $$       d  b        b   $o*\n                *8   '$     8$,,$\"      $   $o      '$o$$*\n                *$o$$P\"                 $$o$*\n\n\n# FENRIR\n\nFENRIR is a tool designed to be used \"out-of-the-box\" for penetration tests and offensive engagements. Its main feature and purpose is to bypass wired 802.1x protection and to give you an access to the target network.  \n\n**Keep in mind FENRIR is still a _Work in Progress_**\n\nBranches : \n+ master : main branch for (relatively) stable code\n+ bleeding : branch with hotfixes and latest updates\n\n# Usage\n\n*FENRIR must be ran as root and you must have 2 network interfaces if you want it to work*\nAlso, check that both network interfaces are in promisc mode and that ip_forwarding is enabled (see Install section)\n\nTo run it :\n```\nsudo python Interface.py\n```\n\nNotice that FENRIR's interface supports autocompletion\n\nYou can run shell commands with \"!\"\n```\n!ls -la\n```\n\nYou first have to create a virtual tap for FENRIR with :\n```\ncreate_virtual_tap\n```\n\nThen you can either configure it manually or start autoconfiguration :\n```\nset \u003coption\u003e \u003cvalue\u003e\nautoconf\n```\n\nOnce FENRIR is configured you can run it normally or in debug mode\n```\nrun\nrun_debug\n```\n\n*The wiki pages are coming shortly with examples and better explanations !*\n\n\n# Troubleshooting\n\nAre you interfaces in promisc mode ? Even FENRIR's tap interface ?  \nYou external interfaces must not have an IP address, only the tap hsould have one  \nYour default route should be pointing to the tap interface  \nHave you enabled ip_forwarding ?  \nFENRIR will tell you if it is lacking configuration. It must have at least the legitimate host IP and MAC addresses.  \nNot all protocols are currently supported ! But feel free to help the project by creating a module !  \nIf you have found a bug, report it to me ! I'll look at it as quickly as i can.\n\n\n# Disclaimer\n\n+ I suck at naming stuff \u0026 especially function names\n+ The code is always a work-in-progress, there are bugs and weird stuffs ! Feel free to throw bug tickets \u0026 pull requests\n+ Java sucks\n\n\n# Current and planned features\n\n*Specific protocol modules have their own separate table below !*\n\n| Feature                          | Current state  | Details |\n| :------------------------------: | :------------: | ------- |\n| 802.1x tapping and bypass        | Done           | N/A |\n| Stealth                          | Partially Done | Other specific headers L2/L3 are to be added |\n| Autoconfiguration                | Done           | N/A |\n| Reverse connections capabilities | Done           | Currently being reworked |\n| Port translation                 | TODO           | Collision issue avoidance |\n| Runtime interface                | Done           | N/A |\n| Better stats                     | TODO           | |\n| Bug smashing                     | Doing          | Bugs, bugs everywhere |\n| Code cleaning                    | Doing          | It needs it badly ! |\n| Not developed in Java            | Done !!!       | *'Cause we all know Java sucks right ? :)* |\n\n\n# Protocol modules table\n\n| Protocol                | Current state             | Details |\n| :---------------------: | :-----------------------: | ------- |\n| IP                      | Done (FENRIR Core)        | N/A |\n| ARP                     | Done                      | N/A |\n| ICMP                    | Done                      | N/A |\n| LLMNR/NBNS (Responder)  | Partially Done            | Need to push it inside a separate module |\n| SSH                     | TBD                       | Need to figure out key exchange rewritting |\n| SMB                     | TBD                       | Next thing on my ToDo list ! |\n| ???                     | ???                       | ??? |\n\n\n# Install\n\n+ apt-get update\n+ apt-get upgrade\n+ apt-get install python-pip\n+ apt-get install build-essential\n+ apt-get install python-dev\n+ pip install python-pytun\n+ pip install scapy\n+ pip install Cmd2\n+ git clone *this repo*\n\n# Important note on install\n\nIt seems that with the arrival of Python3 some prerequisite packages are now bugged. For now, to avoid bugs while we migrate this tool to Python3, one should remove any files from the following packages and install them like this:\n+ sudo -H -E pip install \"cmd2\u003c=0.7.0\"\n+ sudo -H -E pip install \"scapy\u003c=2.3.2\"\n\nFor running FENRIR \n+ sysctl net.ipv4.ip_forward=1\n+ ifconfig *iface1* promisc\n+ ifconfig *iface2* promisc\n\nIf you have any problem with installation, shoot me an email ! I can probably help you out !\n\n\n# Have a beer and participate !\n\nThe project is open for pull requests and bug reports ! The great thing is I would be more than happy to offer you a beer for any form of contribution. Please participate in this project and help me make it better :)  \nAnd if you don't know where to start or want some help, do not hesitate to contact me !\n\nAlso, if you want to chat about the project or ask questions, you can find me on IRC : __WaffleWrath__\n\n\n# Docs \u0026 Vids\n\nMy presentation of 802.1x bypass techniques and FENRIR are available on the [Hack in Paris website](https://hackinparis.com/archives/2017/#talk-2017-Network-Access-Control-and-Bypass-Techniques)  \n\n\n# License\n\n_This software is licensed under the terms of the MIT license_\n\n\n---\n*by Valérian Legrand (main developer), Andrei Dumitrescu and Quentin Biguenet (contributors)*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOrange-Cyberdefense%2Ffenrir-ocd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOrange-Cyberdefense%2Ffenrir-ocd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOrange-Cyberdefense%2Ffenrir-ocd/lists"}