-
Notifications
You must be signed in to change notification settings - Fork 2
Getting Started
WebbinRoot edited this page Jul 28, 2026
·
2 revisions
- Tenancy: top-level OCI account boundary; can think of it like a compartment with a different ID at the root level.
- Compartment: logical scope boundary for resources and IAM policy.
- Principal: identity making API calls (user, group, dynamic group, service principal).
- Region / AD: physical location context for resources and APIs.
- OCID: globally unique OCI resource identifier.
- Authenticates as a selected OCI principal.
- Enumerates OCI services into workspace-backed SQLite tables (
enum_allto enumerate all at once). - Supports deeper detail pulls (
--get) and artifact collection (--download). - Review data in the SQLite tables or via something like
data export excel. Usedata export treeimageto get an image of the compartment hierarchy. - Runs config finding checks (
process_config_check) over collected data. - Exports OpenGraph JSON for BloodHound path analysis (
process_oracle_cloud_hound_data).
- Python
3.11+ - OCI credentials (API key, security token, instance principal, or resource principal)
- Explicit authorization to test the target OCI environment
Install from PIP (https://pypi.org/project/ocinferno/)
virtualenv .venv
source .venv/bin/activate
pip install ocinferno
ocinfernoInstall from source checkout:
git clone https://github.com/NetSPI/OCInferno.git
virtualenv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .Module-entrypoint equivalent:
python -m ocinfernoProxy behavior summary:
- Main tool launch supports
--auth-proxywhich applies only to startup auth exchange flows and probably is N/A in most cases. - All other proxy configurations can be set with the
--proxyflag per module run, or by setting a proxy inconfigsas a workspace-wide default.
- Add or select credentials at startup.
- Verify compartment visibility:
modules run enum_comp- Run full baseline collection:
modules run enum_all --download --get --comp --opengraph- Export quick review output (Excel export needs the optional
[excel]extra —pip install "ocinferno[excel]"; CSV/JSON work in the base install):
data export excelDefault Excel path:
./ocinferno_output/<workspace_id>_<workspace_name>/exports/sqlite_excel/sqlite_blob.xlsx
Example day-one export:

- Generate a OpenGraph JSON file given the info enumerated. Import this into Bloodhound (see installation instructions) to see a graph output
- Auth mode details: Authentication Reference
- Workspace menu options (configs/proxies/cred swapping/etc.): Workspace Instructions
- Module flags and service coverage: Orchestration Module Reference
- High-value download workflows: Downloads to Disk
- Data querying and exports: Data View/Export
- Graph semantics: OpenGraph - Node/Edge Tables
- Default priv-esc path reference: OpenGraph - Default Priv Escalation Mode
- IAM conditional behavior: OpenGraph - IAM Conditionals
- Inheritance/include-all behavior: OpenGraph - Inheritance & IncludeAll
- Static config findings reference: ConfigChecker - Static Config Checks
Home | Getting Started | Auth | Workspace | Orchestration Modules | Downloads to Disk | Data View/Export | Operator Runbook | Troubleshooting and FAQ | OpenGraph - Node/Edge Tables | OpenGraph - Default Priv Escalation Mode | OpenGraph - IAM Conditionals | OpenGraph - Inheritance & IncludeAll | ConfigChecker - Static Config Checks | Module Development Guide
- Authentication Reference
- Workspace Instructions
- Orchestration Module Reference
- Enumeration Module Reference
- Exploit Module Reference
- Downloads to Disk
- Data View/Export
- Troubleshooting and FAQ