# SS7 Exploitation Library
The SS7 Exploitation Library provides a collection of non-interactive functions to execute various SS7 attacks.
**Creator:** Mohammad Taha Gorji
## Features
- **Non-interactive functions for executing SS7 attacks:**
- **Location Tracking:**
- `run_sri()` – Executes the SendRoutingInfo attack.
- `run_psi()` – Executes the ProvideSubscriberInfo attack.
- `run_srism()` – Executes the SendRoutingInfoForSM attack.
- `run_ati()` – Executes the AnyTimeInterrogation attack.
- `run_srigprs()` – Executes the SendRoutingInfoForGPRS attack.
- **Interception:**
- `run_ul()` – Executes the UpdateLocation attack.
- **Fraud:**
- `run_simsi()` – Executes the SendIMSI attack.
- `run_mtsms()` – Executes the MTForwardSMS attack.
- `run_cl()` – Executes the CancelLocation attack.
- **Denial of Service (DoS):**
- `run_purge()` – Executes the PurgeMS attack.
- **Exploits Downloader:**
- `download_exploits()` – Downloads and extracts the SigPloit-ss7 exploits from GitHub if the `ss7` directory is not present.
- **Command-Line Interface (CLI):**
- When executed as a standalone script, the library provides a simple CLI interface for testing and usage.
## Installation
Users can install the library using pip:
```bash
pip install ss7
Requirements
- Python 3.x
- Java (required to execute the JAR files)
- Internet connection (for downloading exploits when necessary)
Usage
Importing the Library
Below is an example of how to import and use the library in your Python project:
import ss7
# Download exploits if the 'ss7' directory does not exist
ss7.download_exploits()
# Execute a specific attack, for example, SendRoutingInfo:
try:
ret = ss7.run_sri()
print("SendRoutingInfo executed with exit code:", ret)
except Exception as e:
print("Error during execution:", e)
API Reference
download_exploits()
- Description: Checks if the
ss7directory exists. If not, downloads the SigPloit-ss7 repository from GitHub, extracts it, moves thess7folder to the current directory, and removes temporary files. - Usage:
download_exploits() - Returns: None
run_sri()
- Description: Executes the
SendRoutingInfo.jarfile located inss7/attacks/tracking/sri. - Usage:
run_sri() - Returns: Exit code from the executed command.
run_psi()
- Description: Executes the
ProvideSubscriberInfo.jarfile located inss7/attacks/tracking/psi. - Usage:
run_psi() - Returns: Exit code from the executed command.
run_srism()
- Description: Executes the
SendRoutingInfoForSM.jarfile located inss7/attacks/tracking/srism. - Usage:
run_srism() - Returns: Exit code from the executed command.
run_ati()
- Description: Executes the
AnyTimeInterrogation.jarfile located inss7/attacks/tracking/ati. - Usage:
run_ati() - Returns: Exit code from the executed command.
run_srigprs()
- Description: Executes the
SendRoutingInfoForGPRS.jarfile located inss7/attacks/tracking/srigprs. - Usage:
run_srigprs() - Returns: Exit code from the executed command.
run_ul()
- Description: Executes the
UpdateLocation.jarfile located inss7/attacks/interception/ul. - Usage:
run_ul() - Returns: Exit code from the executed command.
run_simsi()
- Description: Executes the
SendIMSI.jarfile located inss7/attacks/fraud/simsi. - Usage:
run_simsi() - Returns: Exit code from the executed command.
run_mtsms()
- Description: Executes the
MTForwardSMS.jarfile located inss7/attacks/fraud/mtsms. - Usage:
run_mtsms() - Returns: Exit code from the executed command.
run_cl()
- Description: Executes the
CancelLocation.jarfile located inss7/attacks/fraud/cl. - Usage:
run_cl() - Returns: Exit code from the executed command.
run_purge()
- Description: Executes the
PurgeMS.jarfile located inss7/attacks/dos/prgms. - Usage:
run_purge() - Returns: Exit code from the executed command.
License
This project is licensed under the MIT License.
Contributing
Contributions are welcome. Please submit pull requests or open issues for any improvements or bug fixes.
Contact
For any questions or support, please contact the repository maintainer.
Metadata
Release files for ss7 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ss7-1.0.1.tar.gz | 3.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ss7-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.1 kB
Release files / ss7-1.0.1.tar.gz
| Download URL | ss7-1.0.1.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39277b6b768ecbb67901d3f9449870b161dd9a4087131c3394e1dfb599eb3cee
|
|
BLAKE2b-256 checksum How to use checksums |
862ec6e48d2f391d594f89cd9b4ed112e772a422b023b1b499c6ff09755a7c92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.1
|
Release files / ss7-1.0.1-py3-none-any.whl
| Download URL | ss7-1.0.1-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a2f459d8184a602d1317ee7b1a6b956c151904829d2c852620fbb433d04df5d
|
|
BLAKE2b-256 checksum How to use checksums |
9f02fb0afa430415547ad46e0dd5ece2bc77a4b517d7ea74750d4da878eaa41c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.1
|
Security for ss7 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.