{"id":15303906,"url":"https://github.com/tenable/hidden-services-revealer","last_synced_at":"2025-10-23T22:33:25.041Z","repository":{"id":250701132,"uuid":"833202844","full_name":"tenable/hidden-services-revealer","owner":"tenable","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-02T18:05:25.000Z","size":16,"stargazers_count":20,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-02T07:04:43.564Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tenable.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-24T14:56:02.000Z","updated_at":"2024-10-01T10:26:28.000Z","dependencies_parsed_at":"2024-10-01T07:04:39.066Z","dependency_job_id":"baf0e43f-d0d7-4dcc-a3d6-951666d74073","html_url":"https://github.com/tenable/hidden-services-revealer","commit_stats":null,"previous_names":["tenable/hidden-services-revealer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fhidden-services-revealer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fhidden-services-revealer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fhidden-services-revealer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fhidden-services-revealer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tenable","download_url":"https://codeload.github.com/tenable/hidden-services-revealer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223655198,"owners_count":17180674,"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-10-01T07:01:09.505Z","updated_at":"2025-10-23T22:33:19.985Z","avatar_url":"https://github.com/tenable.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Jenganizer - Hidden Service Revealer for AWS\nJenganizer is a tool to map hidden services in AWS. It does this by following the triggered events of a user's actions.\nWhen a user performs an action in AWS, it can trigger other events in other services. By following these events, users\ncan identify services that are indirectly deployed by their actions. This can be important, as these resources can \npresent security risks which should be managed and controlled.\n\n## Installation\n### Install\nYou can install the package from pypi.org\n```bash\npip install jenganizer\n```\n\n## Usage\n\n```bash\njenganizer --help\n```\n\n```\nUsage: jenganizer [OPTIONS]\n\nOptions:\n  --username TEXT      The username to filter events by  [required]\n  --profile-name TEXT  The AWS profile name to use\n  --region-name TEXT   The AWS region name to use\n  --time-start TEXT    The start time for the event filter, format: YYYY-MM-DD\n                       HH:MM:SS+00:00\n  --time-end TEXT      The end time for the event filter, format: YYYY-MM-DD\n                       HH:MM:SS+00:00\n  --time-span TEXT     The time span, in minutes, to filter, going back from\n                       now (use this instead of time_start and time_end)\n  -d, --depth INTEGER  The depth of triggered events to follow. Depth=0: only\n                       initial calls by the user, Depth=1: initial calls and\n                       calls triggered by the initial calls, etc.\n  -o, --output TEXT    The output file to write the triggered events to\n  -v, --verbosity LVL  Either CRITICAL, ERROR, WARNING, INFO or DEBUG\n  --help               Show this message and exit.\n\n\n```\n\nThe way to map hidden services is to perform the initial call to the service with a specific user for the action you \nwant to map, `jenganizer` will then follow the triggered events to find the resource indirectly deployed to other services.\n\nIn order to zoom in on the right events, you can use the `--time-start` and `--time-end`, or `--time-span`.\n\n### The depth parameter\nThe `--depth` parameter is used to specify how many levels of triggered events to follow. Level 0 only looks at events\ncalled directly from the user, level 1 looks at events called by the user and events called by the services used \nby those events. Such an examination naturally highlights some false positive, so it is important to verify the results.\n\n### Results\nThe results are printed to the console as a list of events, and a file \n(default name: `triggered_events.json`) is written with the full events.\nThese events can be used to identify hidden services in AWS.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fhidden-services-revealer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftenable%2Fhidden-services-revealer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fhidden-services-revealer/lists"}