Docker에서 metabase 를 설치하여 BI를 사용하고 있었는데, 최근 팀 메시지로 온 내용 중에 metabase가 설치된 서버에서 비트코인 채굴을 해서 아래와 같은 채굴 관련 도메인으로 접근하는 일이 있었음.
pool.supportxmr.com
pool-hk.supportxmr.com
초반에는 아무것도 몰라서 clamav 를 돌려서 확인해봤지만 바이러스라던가 멀웨어 걸린 파일이 없어서 서버만 종료 시켰음.
하지만 후반에 docker가 설치된 쪽에서 metabase가 있는 폴더에 config.json 이라는 파일에서 위 url 로 가는 스크립트가 있었음.
해당 부분은 metabase에서 23년 7월 부터 있었던 보안이슈에서 확인 할 수 있었다.
https://www.metabase.com/blog/security-incident-summary
metabse 에서 H2 DB 를 무료로 사용할 수 있어서 H2 를 모든 버전에 넣어 왔었는데 여기서 문제가 생겼었다.
위 글을 읽으면
1. Call /api/session/properties to get the setup token.
2. Use the setup token to call /api/setup/validate.
3. Take advantage of the missing checks to get H2 to execute commands on the host operating system.
4. Open a reverse shell, create admin accounts, etc.
1. 설정 토큰을 얻으려면 /api/session/properties 를 호출
2. 설정 토큰을 사용하여 /api/setup/validate 를 호출
3. H2가 호스트 운영체제에서 명령을 실행하도록 함.
4. 리버스 쉘, 관리자 계정 등
이렇게 있음.
결국 0.48 이하는 다 따고 들어와서 원격으로 명령어를 실행할 수 있다는 말이 되는 걸로 보였음.
(0.48 이상 부터는 문제가 없다고 나와있음.)
해당 부분의 문제점을 해결하기 위해서는 최신 버전으로 업데이트를 하거나 아니면 H2 DB가 제거된 파일을 사용해야한다.
이후에 출근 했을때 H2 DB 제거 말고 최신 버전으로 업데이트해서 기존에 있던 BI 세팅 부분과 충돌되는 부분이 없는지 확인 한 후에 다시 글을 수정 하도록 함.
Comment