포스팅 내용

국내외 보안동향

유닉스 서버 관리 유틸리티 Webmin에서 백도어 발견

Backdoor found in Webmin, a popular web-based utility for managing Unix servers


Linux, FreeBSD, OpenBSD 서버 등 원격 유니스 기반 시스템을 관리하기 위해 사용하는 웹 기반 애플리케이션인 Webmin에서 백도어 메커니즘이 발견되었습니다.


이 백도어 메커니즘은 원격 공격자가 Webmin을 실행하는 기기에서 루트 권한으로 악성 명령을 실행하도록 허용합니다. 


공격자는 해킹을 통해 Webmin으로 관리되는 시스템을 공격하는 것이 가능합니다.


Webmin 설치된 취약한 기기 백만 건 이상 돼


Webmin 팀은 GitHub 페이지를 통해 Webmin 프로그램이 세계적으로 1백만 회 이상 설치되었다고 주장했습니다. 


다양한 필터를 통해 인터넷에 연결된 장비를 검색해 주는 Shodan에서 Webmin을 검색하면 인터넷에 공개된 Webmin 인스턴스만 215,000개 이상임을 확인하실 수 있습니다. 


Webmin이 설치된 장비는 공격자가 내부 네트워크를 해킹하거나 방화벽을 우회하지 않아도 접근 및 공격이 가능합니다.


관리할 서버에 Webmin을 설치하기만 하면 웹 브라우저를 통해 원격으로 유닉스 시스템을 수정할 수 있어, Webmin는 리눅스 시스템 관리자들 사이에서 매우 인기가 많습니다. 


그저 기본적인 디스크 할당량 업데이트나 데몬 시작 및 중지 등을 지원하는 것이 아닙니다.


Webmin을 통해 OS 및 내부 설정 변경, 신규 사용자 생성, Apache, BIND, MySQL, PHP, Exim 등 원격 시스템에서 실행되는 앱의 구성 사항을 업데이트할 수도 있습니다.


Webmin 프로젝트는 핵심 기능 확장, 주요 배포판 및 Virtualmin, Usermin과 같은 파생 프로젝트를 지원하는 100개 이상의 모듈을 함께 제공합니다.


Webmin 백도어의 발견


많은 시스템 관리자들이 사용하는 Webmin이지만, Webmin 코드 내 백도어가 소스코드에 1년 이상이나 숨어있었던 것으로 나타났습니다.


터키의 보안 연구원인 Özkan Mustafa Akkuş는 Webmin 소스코드에서 인증되지 않은 공격자가 Webmin 앱을 실행 중인 서버에서 코드를 실행하도록 허용하는 취약점을 발견했습니다.


이 버그는 CVE-2019-15107로 등록되었으며, Akkuş는 이달 초 DEF CON 27 보안 컨퍼런스의 AppSec Village에서 그가 발견한 취약점에 대해 발표했습니다.


다른 보안 연구원들도 관련 취약점을 연구하였는데, 지난 주말 새로운 정보가 발견되었습니다.


빌드 인프라 해킹


Webmin의 개발자는 이 취약점이 코딩 실수가 아닌 해킹된 빌드 인프라에 악성코드가 주입되어 발생한 것이라고 밝혔습니다.


이 코드는 GitHub을 제외하고 SourceForge를 통해 다운로드되는 Webmin 패키지에만 존재했습니다. 


하지만 Webmin 웹사이트에서 SourceForge 링크를 공식 다운로드 URL 목록에 포함시켰기 때문에 문제점이 줄어들지는 않았습니다.


Webmin 팀은 해킹된 빌드 인프라가 해킹된 개발자 기기를 참조하고 있었는지, 해킹된 SourceForge 계정을 참조하는지는 밝히지 않았습니다.


이에 대해 SourceForce 대표는 해커가 SourceForge의 어떠한 취약점도 악용하지 않았으며, SourceForge는 프로젝트 관리자가 그들의 계정을 통해 업로드한 것만 호스팅 한다고 밝혔습니다.


Webmin 설치, 기본적으로 취약하지는 않아


Akkuş의 초기 분석에 따르면, 이 취약점은 관리자들이 Webmin의 웹 기반 계정에 패스워드 만료 정책을 적용하는데 사용하는 Webmin 기능에 존재했습니다.


이 Webmin 기능이 활성화되어 있을 경우, 공격자는 Webmin 서버로 전송되는 HTTP 요청 내 "|" 문자를 사용한 쉘 명령을 붙여 Webmin의 제어권을 얻을 수 있습니다.


Webmin 팀에 따르면, Sourceforge에서 다운로드한 1.882 ~ 1.921 사이의 모든 버전이 악성 백도어 코드를 포함하고 있는 것으로 나타났습니다.


Webmin 팀은 해당 백도어 메커니즘 제거를 위해 8월 18일 Webmin 버전 1.930이 공개하였습니다.


백도어가 포함된 Webmin 버전은 2018년 3월부터 1년 이상 수 십만 회 다운로드되었습니다.


다행인 점은 Webmin 설치 후 기본 설정에서는 패스워드 만료 기능이 비활성화되어 있다는 것입니다. 


Webmin 관리자들이 Webmin 계정에 대한 패스워드 만료 기능을 활성화 하기 위해서는 설정 파일을 수정해야만 합니다. 


따라서 설치된 대부분의 Webmin은 이 악용 시도로부터 안전할 것으로 추측됩니다.


하지만 Webmin의 빌드 인프라를 손상시킨 해커가 Webmin 1.890에서 패스워드 만료 기능의 기본 설정을 변경하려 시도했다는 점입니다. 


이때 해당 기능은 모든 webmin 사용자들에게 디폴트로 활성화되었습니다.


그러나 해당 수정 작업은 완벽하지 않았기 때문에 일부 사용자들에게 에러를 발생시켰습니다.


이 사용자들이 Webmin 관리자에게 발견된 에러를 제보해 다음 버전에서는 디폴트로 해당 기능이 꺼지도록 복구되었습니다.


Webmin 팀은 사용자들에게 1.930으로 업그레이드할 것을 권고했습니다.


또한 1.900 ~ 1.920 버전 사용자들은 /etc/webmin/miniserv.conf 에서 passwd_mode= line 을 삭제하고 /etc/webmin/restart 를 실행하는 방법으로 대체할 수 있습니다.





출처:

https://www.zdnet.com/article/backdoor-found-in-webmin-a-popular-web-based-utility-for-managing-unix-servers/

https://blog.firosolutions.com/exploits/webmin/?fbclid=IwAR2JNvcUaxBb4-X7372AmS4Ejmw44n-CsWCEs304jTb7_wPL5hRfPlJVp8w

티스토리 방명록 작성
name password homepage