{"id":20493884,"url":"https://github.com/qeeqbox/rhino","last_synced_at":"2025-04-13T17:21:47.103Z","repository":{"id":55133240,"uuid":"259426142","full_name":"qeeqbox/rhino","owner":"qeeqbox","description":"Agile Sandbox for analyzing Windows, Linux and macOS malware and execution behaviors","archived":false,"fork":false,"pushed_at":"2023-11-12T01:58:34.000Z","size":30971,"stargazers_count":67,"open_issues_count":1,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-27T08:11:21.613Z","etag":null,"topics":["agile","analysis","api","behavior","customizable","linux","macos","malware","react-interface","sandbox","virtualbox","vms","webinterface","windows"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qeeqbox.png","metadata":{"files":{"readme":"README.md","changelog":"changes.md","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":"2020-04-27T19:04:36.000Z","updated_at":"2025-02-13T17:29:49.000Z","dependencies_parsed_at":"2024-11-15T17:48:04.536Z","dependency_job_id":null,"html_url":"https://github.com/qeeqbox/rhino","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/qeeqbox%2Frhino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qeeqbox%2Frhino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qeeqbox%2Frhino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qeeqbox%2Frhino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qeeqbox","download_url":"https://codeload.github.com/qeeqbox/rhino/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750854,"owners_count":21155795,"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":["agile","analysis","api","behavior","customizable","linux","macos","malware","react-interface","sandbox","virtualbox","vms","webinterface","windows"],"created_at":"2024-11-15T17:37:14.618Z","updated_at":"2025-04-13T17:21:47.080Z","avatar_url":"https://github.com/qeeqbox.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/qeeqbox/rhino/master/readme/rhinologo.png\"\u003e\u003c/p\u003e\n\n#\n[![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/rhino/master/info\u0026label=version\u0026query=$.version\u0026colorB=blue\u0026style=flat-square)](https://github.com/qeeqbox/rhino/blob/master/changes.md) [![Generic badge](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/qeeqbox/rhino/master/info\u0026label=build\u0026query=$.dockercompose\u0026colorB=green\u0026style=flat-square)](https://github.com/qeeqbox/rhino/blob/master/changes.md) [![Generic badge](https://img.shields.io/static/v1?label=%F0%9F%91%8D\u0026message=Thanks\u0026color=yellow\u0026style=flat-square)](https://github.com/qeeqbox/woodpecker/stargazers)\n\nAgile Sandbox for analyzing malware and execution behaviors. Customizable, Expandable and can be quickly altered during the analysis iteration. Inspired by the Rhinoceros and Agile methodology.\n\n## React Web Interface\n\u003cimg src=\"https://raw.githubusercontent.com/qeeqbox/rhino/master/readme/introv.gif\" style=\"max-width:768px\"/\u003e\n\n## Output \n- [Cerber Ransomwere Windows](https://github.com/qeeqbox/Rhino/tree/master/example/cerber-output-windows)\n- [Firefox Link Linux](https://github.com/qeeqbox/Rhino/tree/master/example/firefox-linux)\n\n## General Features\n- Customizable actions and settings\n- Actions are draggable, removable and editable\n- In-time actions tracker (failed, running or success)\n- Some actions work on both Linux and Windows (Auto-switching)\n- Task screen recording, input/output files and network traffic are included\n- Build and save tasks of each iteration\n- Overview stats for recent and old tasks\n- React interface and Flask API for easy integration\n- MongoDB and Redis searching statements (Find, Sort and Limit )\n- VMs are automatically terminated (prevents VMs from locking)\n- Setup, Initialize and Run the project using a Bash script\n- Project expands dynamically based on VM entries\n- Custom Remote control (Experimental, used to snapshot VMs)\n- Auto VMs mapping and switching\n- \u0026 More features to Explore\n\n## Roadmap\n- Continue implementing the rest of actions (Currently there are 10 out of 65 actions implemented)\n- Add import settings to the web interface\n- Add multi-submit tasks\n- Refactor the web interface\n\n## Easy installation!\n\u003cimg src=\"https://raw.githubusercontent.com/qeeqbox/rhino/master/readme/install.gif\" style=\"max-width:768px\"/\u003e\n\n#### On ubuntu 18 or 19 System (Auto-configure)\n```bash\ngit clone https://github.com/qeeqbox/rhino.git\ncd rhino\nchmod +x ./run.sh\n./run.sh auto_configure\n```\nThe project interface http://localhost:5000/dashboard will open automatically after finishing the initialization process\n\n#### On ubuntu 18 or 19 System (Auto-configure Dummy)\n```bash\ngit clone https://github.com/qeeqbox/rhino.git\ncd rhino\nchmod +x ./run.sh\n./run.sh auto_configure_dummy\n```\nThe project interface http://localhost:5000/dashboard will open automatically after finishing the initialization process\n\n#### On ubuntu 18 or 19 System (Manually)\n```bash\ngit clone https://github.com/qeeqbox/rhino.git\ncd rhino\nchmod +x ./run.sh\n./run.sh\n\nChoose an option:\n1) Setup requirements (docker, docker-compose and VirtualBox)\n2) Initialize your VMs settings (VM name, snapshot, username and password)\n3) Initialize dummy VMs settings (VM name, snapshot, username and password are dummy)\n4) Setup the project\n5) Start the project \n6) Exit the project and restore VMs on local\n9) Auto-configure dummy project\n\nChoose 1,2,4 then 5. Once you are done, close the project with ctr+c\nopen localhost:5000/dashboard\n```\n\n## Resources\n- Linux documentation\n- React documentation\n- VirtualBox SDK\n- pyvbox and VirtualBox APIs\n- ionicons\n- llorentegerman\n- My old projects\n- Please let me know if i missed a resource or dependency\n\n## Other Licenses\nBy using this framework, you are accepting the license terms of each package listed below:\n- https://www.virtualbox.org/wiki/Licensing_FAQ\n- https://github.com/sethmlarson/virtualbox-python/blob/master/LICENSE\n- https://github.com/facebook/create-react-app/blob/master/LICENSE\n- https://flask.palletsprojects.com/en/1.0.x/license/\n- https://github.com/celery/celery/blob/master/LICENSE\n- https://github.com/mher/pymongo/blob/master/LICENSE\n- https://redislabs.com/legal/licenses/\n- https://github.com/andymccurdy/redis-py/blob/master/LICENSE\n- https://github.com/pandas-dev/pandas/blob/master/LICENSE\n- https://github.com/pyca/bcrypt/blob/master/LICENSE\n- https://github.com/giampaolo/psutil/blob/master/LICENSE\n- https://github.com/celery/billiard/blob/master/LICENSE.txt\n- https://www.npmjs.com/package/video-react\n- https://www.npmjs.com/package/uuid\n- https://www.npmjs.com/package/simple-flexbox\n- https://www.npmjs.com/package/serve\n- https://www.npmjs.com/package/recharts\n- https://www.npmjs.com/package/react-scripts\n- https://www.npmjs.com/package/react-router-dom\n- https://www.npmjs.com/package/react-movable\n- https://www.npmjs.com/package/react-json-view\n- https://www.npmjs.com/package/react-dom\n- https://www.npmjs.com/package/rc-menu\n- https://www.npmjs.com/package/rc-dropdown\n- https://www.npmjs.com/package/axios\n- https://www.npmjs.com/package/aphrodite\n- https://github.com/ionic-team/ionicons/blob/master/LICENSE\n\n## Disclaimer\\Notes\n- Do not deploy without proper configuration\n- Setup some security group rules and remove default credentials\n\n## Other Projects\n[![](https://github.com/qeeqbox/.github/blob/main/data/social-analyzer.png)](https://github.com/qeeqbox/social-analyzer) [![](https://github.com/qeeqbox/.github/blob/main/data/analyzer.png)](https://github.com/qeeqbox/analyzer) [![](https://github.com/qeeqbox/.github/blob/main/data/chameleon.png)](https://github.com/qeeqbox/chameleon) [![](https://github.com/qeeqbox/.github/blob/main/data/osint.png)](https://github.com/qeeqbox/osint) [![](https://github.com/qeeqbox/.github/blob/main/data/honeypots.png)](https://github.com/qeeqbox/honeypots) [![](https://github.com/qeeqbox/.github/blob/main/data/url-sandbox.png)](https://github.com/qeeqbox/url-sandbox) [![](https://github.com/qeeqbox/.github/blob/main/data/mitre-visualizer.png)](https://github.com/qeeqbox/mitre-visualizer) [![](https://github.com/qeeqbox/.github/blob/main/data/woodpecker.png)](https://github.com/qeeqbox/woodpecker) [![](https://github.com/qeeqbox/.github/blob/main/data/docker-images.png)](https://github.com/qeeqbox/docker-images) [![](https://github.com/qeeqbox/.github/blob/main/data/seahorse.png)](https://github.com/qeeqbox/seahorse)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqeeqbox%2Frhino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqeeqbox%2Frhino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqeeqbox%2Frhino/lists"}