id: privesc-strace

info:
  name: strace - Privilege Escalation
  author: daffainfo
  severity: high
  description: |
    strace is a diagnostic, debugging, and instructional utility for Linux. It is used to monitor the system calls and signals that a program receives, allowing users to trace and analyze its interactions with the kernel.
  reference:
    - https://gtfobins.github.io/gtfobins/strace/
  metadata:
    verified: true
    max-request: 3
  tags: code,linux,strace,privesc,local

self-contained: true
code:
  - engine:
      - sh
      - bash
    source: |
      whoami

  - engine:
      - sh
      - bash
    source: |
      strace -o /dev/null whoami

  - engine:
      - sh
      - bash
    source: |
      sudo strace -o /dev/null whoami

    matchers-condition: and
    matchers:
      - type: word
        part: code_1_response
        words:
          - "root"
        negative: true

      - type: dsl
        dsl:
          - 'contains(code_2_response, "root")'
          - 'contains(code_3_response, "root")'
        condition: or
# digest: 4b0a00483046022100b2f29c4110e6326a53b2a08ff54e03c735ea900b6119fd1496c8e226903e3f59022100c9f434d8ac041c8939c163fe7dcfc253d872aa86f7a38bda739bb672982df616:922c64590222798bb761d5b6d8e72950