├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── MANIFEST.in ├── Mussel ├── apple_ios │ ├── Makefile │ ├── README.md │ ├── deps │ │ ├── plist.py │ │ └── sign.plist │ ├── hook.m │ ├── main.m │ └── mussel.m └── macos │ ├── Makefile │ ├── deps │ ├── plist.py │ └── sign.plist │ └── main.m ├── README.md ├── TERMS_OF_SERVICE.md ├── seashell ├── __init__.py ├── commands │ ├── app.py │ ├── devices.py │ ├── ipa.py │ ├── listener.py │ └── rpc.py ├── core │ ├── __init__.py │ ├── api.py │ ├── app.py │ ├── console.py │ ├── device.py │ ├── hook.py │ └── ipa.py ├── data │ ├── AppIcon.png │ ├── Mussel.app │ │ ├── Info.plist │ │ ├── main │ │ └── mussel │ ├── banners │ │ ├── apple.colors │ │ ├── apples.colors │ │ ├── bug.colors │ │ ├── cydia.colors │ │ ├── honey.colors │ │ ├── hook.colors │ │ ├── icloud.colors │ │ ├── mac.colors │ │ ├── phone.colors │ │ ├── phone2.colors │ │ ├── shell.colors │ │ └── shell2.colors │ ├── builtins.png │ ├── hook │ ├── logo.png │ ├── preview │ │ ├── demo.mp4 │ │ ├── hook.mp4 │ │ ├── hook.png │ │ ├── ipa.cast │ │ ├── ipa.svg │ │ ├── listen.cast │ │ ├── listen.svg │ │ ├── mussel.png │ │ ├── patch.mp4 │ │ ├── player.cast │ │ ├── player.svg │ │ ├── safari.cast │ │ ├── safari.svg │ │ ├── sms.cast │ │ └── sms.svg │ └── tips │ │ ├── tip1.colors │ │ ├── tip2.colors │ │ └── tip3.colors ├── lib │ ├── __init__.py │ ├── config.py │ └── loot.py ├── modules │ └── apple_ios │ │ ├── contacts.py │ │ ├── hook.py │ │ ├── photos.py │ │ ├── safari_bookmarks.py │ │ ├── safari_history.py │ │ ├── sms.py │ │ ├── unhook.py │ │ └── voicemail.py └── utils │ ├── __init__.py │ ├── rpc.py │ └── ui │ ├── __init__.py │ ├── banner.py │ └── tip.py └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | .venv 2 | build 3 | dist 4 | seashell.egg-info -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity 10 | and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | entysec@gmail.com. 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series 86 | of actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or 93 | permanent ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within 113 | the community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.0, available at 119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 120 | 121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 122 | enforcement ladder](https://github.com/mozilla/diversity). 123 | 124 | [homepage]: https://www.contributor-covenant.org 125 | 126 | For answers to common questions about this code of conduct, see the FAQ at 127 | https://www.contributor-covenant.org/faq. Translations are available at 128 | https://www.contributor-covenant.org/translations. 129 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing 2 | 3 | [fork]: /fork 4 | 5 | [pr]: /compare 6 | 7 | [code-of-conduct]: CODE_OF_CONDUCT.md 8 | 9 | [templates]: templates 10 | 11 | Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. 12 | 13 | Please note that this project is released with a [Contributor Code of Conduct][code-of-conduct]. By participating in 14 | this project you agree to abide by its terms. 15 | 16 | ## Issues and PRs 17 | 18 | If you have suggestions for how this project could be improved, or want to report a bug, open an issue! We'd love all 19 | and any contributions. If you have questions, too, we'd love to hear them. 20 | 21 | We'd also love PRs. If you're thinking of a large PR, we advise opening up an issue first to talk about it, though! Look 22 | at the links below if you're not sure how to open a PR. 23 | 24 | ## Submitting a pull request 25 | 26 | 1. [Fork][fork] and clone the repository. 27 | 2. Create a new branch: `git checkout -b my-branch-name`. 28 | 3. Make your changes, fix bugs, add modules, plugins or commands and perform tests. 29 | 4. Push to your fork and [submit a pull request][pr]. 30 | 5. Pat your self on the back and wait for your pull request to be reviewed and merged. 31 | 32 | Here are a few things you can do that will increase the likelihood of your pull request being accepted: 33 | 34 | - Follow the standard of [templates][templates]. 35 | - Keep your changes as focused as possible. If there are multiple changes you would like to make that are not dependent 36 | upon each other, consider submitting them as separate pull requests. 37 | - Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). 38 | 39 | Work in Progress pull requests are also welcome to get feedback early on, or if there is something blocked you. 40 | 41 | ## Resources 42 | 43 | - [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) 44 | - [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) 45 | - [GitHub Help](https://help.github.com) 46 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020-2024 EntySec 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include seashell/data * 2 | recursive-include seashell/modules * 3 | recursive-include seashell/plugins * 4 | recursive-include seashell/commands * 5 | -------------------------------------------------------------------------------- /Mussel/apple_ios/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # MIT License 3 | # 4 | # Copyright (c) 2020-2024 EntySec 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in all 14 | # copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | # SOFTWARE. 23 | # 24 | 25 | APP_DIR = Mussel.app 26 | INSTALL_DIR = ../../seashell/data 27 | IPA_FILE = Mussel.ipa 28 | 29 | OBJS = $(addprefix $(APP_DIR)/,main Info.plist) 30 | ARCHS = -arch arm64 31 | 32 | CC = clang 33 | CFLAGS = $(ARCHS) -isysroot $(SDK) -framework Foundation -framework UIKit -lobjc -o 34 | 35 | SIGN = ldid 36 | SIGN_FLAGS = -Sdeps/sign.plist 37 | 38 | HOST = 127.0.0.1 39 | PORT = 8888 40 | 41 | .PHONY: all clean ipa 42 | 43 | all: $(OBJS) 44 | 45 | $(APP_DIR)/main: main.m 46 | $(CC) $(CFLAGS) $@ $< 47 | $(SIGN) $(SIGN_FLAGS) $@ 48 | 49 | $(APP_DIR)/Info.plist: 50 | python3 deps/plist.py $(HOST) $(PORT) $(APP_DIR)/Info.plist 51 | 52 | $(OBJS): | $(APP_DIR) 53 | 54 | $(APP_DIR): 55 | mkdir -p $(APP_DIR) 56 | 57 | install: $(OBJS) 58 | cp -r $(APP_DIR) $(INSTALL_DIR) 59 | 60 | hook: hook.m 61 | $(CC) $(CFLAGS) -o $@ $< 62 | $(SIGN) $(SIGN_FLAGS) $@ 63 | ct_bypass -i $@ -o $@ -r 64 | 65 | ipa: $(APP_DIR) 66 | mkdir Payload 67 | cp -r $(APP_DIR) Payload/ 68 | zip -r $(IPA_FILE) Payload/ 69 | rm -rf Payload/ 70 | 71 | clean: 72 | rm -rf $(APP_DIR) $(IPA_FILE) -------------------------------------------------------------------------------- /Mussel/apple_ios/README.md: -------------------------------------------------------------------------------- 1 | # Mussel 2 | 3 | *Trampoline* for SeaShell payload written for iOS devices vulnerable to CoreTrust bug. 4 | 5 | ## Building 6 | 7 | `make