{"id":"f8ed0e8f-7438-4b79-85eb-f358ef2fbebd","title":"Github Self Hosted Runner Changes Detected","description":"A self-hosted runner is a system that you deploy and manage to execute jobs from GitHub Actions on GitHub.com.\nThis rule detects changes to self-hosted runners configurations in the environment. The self-hosted runner configuration changes once detected,\nit should be validated from GitHub UI because the log entry may not provide full context.\n","author":"Muhammad Faisal (@faisalusuf)","status":"test","level":"low","date":"2023-01-27","modified":"","tags":["attack.impact","attack.discovery","attack.collection","attack.persistence","attack.privilege-escalation","attack.initial-access","attack.stealth","attack.t1526","attack.t1213.003","attack.t1078.004"],"technique_ids":["T1078.004","T1213.003","T1526"],"logsource":{"product":"github","service":"audit","definition":"Requirements: The audit log streaming feature must be enabled to be able to receive such logs. You can enable following the documentation here: https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-audit-log-streaming"},"falsepositives":["Allowed self-hosted runners changes in the environment.","A self-hosted runner is automatically removed from GitHub if it has not connected to GitHub Actions for more than 14 days.","An ephemeral self-hosted runner is automatically removed from GitHub if it has not connected to GitHub Actions for more than 1 day."],"references":["https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners","https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#search-based-on-operation"],"source_path":"rules/application/github/audit/github_self_hosted_runner_changes_detected.yml","source_sha256":"208334a0ff539dd57671c8c64ac919b74fe7e10c708f539d0bee92c2cde8f7c7","source_url":"https://github.com/anpa1200/sigma/blob/b249e9683190cffdcaf188ccbfb90bf4759844e1/rules/application/github/audit/github_self_hosted_runner_changes_detected.yml","license":"Detection Rule License 1.1","license_url":"https://github.com/SigmaHQ/Detection-Rule-License/blob/main/LICENSE.Detection.Rules.md","yaml":"title: Github Self Hosted Runner Changes Detected\nid: f8ed0e8f-7438-4b79-85eb-f358ef2fbebd\nstatus: test\ndescription: |\n    A self-hosted runner is a system that you deploy and manage to execute jobs from GitHub Actions on GitHub.com.\n    This rule detects changes to self-hosted runners configurations in the environment. The self-hosted runner configuration changes once detected,\n    it should be validated from GitHub UI because the log entry may not provide full context.\nauthor: Muhammad Faisal (@faisalusuf)\ndate: 2023-01-27\nreferences:\n    - https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners\n    - https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#search-based-on-operation\ntags:\n    - attack.impact\n    - attack.discovery\n    - attack.collection\n    - attack.persistence\n    - attack.privilege-escalation\n    - attack.initial-access\n    - attack.stealth\n    - attack.t1526\n    - attack.t1213.003\n    - attack.t1078.004\nlogsource:\n    product: github\n    service: audit\n    definition: 'Requirements: The audit log streaming feature must be enabled to be able to receive such logs. You can enable following the documentation here: https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-audit-log-streaming'\ndetection:\n    selection:\n        action:\n            - 'org.remove_self_hosted_runner'\n            - 'org.runner_group_created'\n            - 'org.runner_group_removed'\n            - 'org.runner_group_runner_removed'\n            - 'org.runner_group_runners_added'\n            - 'org.runner_group_runners_updated'\n            - 'org.runner_group_updated'\n            - 'repo.register_self_hosted_runner'\n            - 'repo.remove_self_hosted_runner'\n    condition: selection\nfalsepositives:\n    - Allowed self-hosted runners changes in the environment.\n    - A self-hosted runner is automatically removed from GitHub if it has not connected to GitHub Actions for more than 14 days.\n    - An ephemeral self-hosted runner is automatically removed from GitHub if it has not connected to GitHub Actions for more than 1 day.\nlevel: low\n","validation":"yaml_parsed_not_backend_compiled_or_live_validated","techniques":[{"key":"enterprise/T1078.004","id":"T1078.004","name":"Cloud Accounts","page":"techniques/enterprise/T1078.004/"},{"key":"enterprise/T1213.003","id":"T1213.003","name":"Code Repositories","page":"techniques/enterprise/T1213.003/"},{"key":"enterprise/T1526","id":"T1526","name":"Cloud Service Discovery","page":"techniques/enterprise/T1526/"}],"data_path":"data/detection-rules/f8ed0e8f-7438-4b79-85eb-f358ef2fbebd.json","kind":"sigma"}
