ICT게시판
보안 분류

새로운 Nimbuspwn Linux 취약점으로 해커에게 루트 권한 부여

작성자 정보

  • 작성일

컨텐츠 정보

본문

4ab25e5504c5c66416f659eb36f8aa2e_1651315008_4963.jpg


Nimbuspwn으로 집합적으로 추적되는 새로운 취약점 세트를 통해 로컬 공격자는 Linux 시스템에 대한 권한을 상승시켜 백도어에서 랜섬웨어에 이르는 멀웨어를 배포할 수 있습니다.


Microsoft의 보안 연구원은 오늘 보고서에서 취약점이 취약한 시스템에서 루트 권한을 얻기 위해 함께 연결될 수 있다고 언급한 문제를 공개했습니다.


CVE-2022-29799 및 CVE-2022-29800으로 추적되는 Nimbuspwn 보안 문제는  Linux 시스템에서 연결 상태 변경을 전송하는 구성요소인 networkd -dispatcher 에서 발견되었습니다.


취약점 발견은 "시스템 버스에서 메시지 수신"으로 시작되어 연구원들이  네트워크 디스패처에 대한 코드 흐름을 검토하도록 했습니다.


Nimbuspwn 보안 결함은 디렉터리 탐색, 심볼릭 링크 경쟁 및 TOCTOU(time-of-check-time-of-use) 경쟁 조건 문제를 의미한다고 Microsoft 연구원 Jonathan Bar Or는  보고서 에서 설명합니다 .


관심을 끈 한 가지 관찰은  networkd-dispatcher  데몬  이 시스템에 대한 루트 권한으로 부팅 시 실행되고 있다는 것이었습니다.


4ab25e5504c5c66416f659eb36f8aa2e_1651315008_54.jpg


연구원은 데몬이 " _run_hooks_for_state"  라는 메서드를 사용 하여 감지된 네트워크 상태에 따라 스크립트를 검색하고 실행하는 것을 알아냈습니다.


"_run_hooks_for_state" 에 의해 구현된 로직   에는 "/etc/networkd-dispatcher/.d" 디렉토리에 있는 루트 사용자와 루트 그룹이 소유한 실행 가능한 스크립트 파일을 반환하는 것이 포함됩니다.


 사용자 정의 환경 변수를 제공하면서 subprocess.Popen 이라는 프로세스를 사용하여 위 위치에서 각 스크립트를 실행  합니다.


4ab25e5504c5c66416f659eb36f8aa2e_1651315008_5767.jpg


Microsoft의 보고서에 따르면 " _run_hooks_for_state"  에는 여러 보안 문제가 있습니다.


1. 디렉터리 탐색  ( CVE-2022-29799 ): 흐름의 어떤 기능도 OperationalState 또는 AdministrativeState를 삭제하지 않습니다. 

상태는 스크립트 경로를 빌드하는 데 사용되므로 상태에는 "/etc/networkd-dispatcher" 기본 디렉터리에서 탈출하기 위한 디렉터리 탐색 패턴(예: "../../")이 포함될 수 있습니다.

2. Symlink race : 스크립트 검색과 subprocess.Popen 모두 기호 링크를 따릅니다.

3. TOCTOU (Time-of-check-time-of-use ) 경쟁 조건( CVE-2022-29800 ) : 스크립트가 검색되고 실행되는 사이에는 특정 시간이 있습니다. 

공격자는 이 취약점을 악용하여 networkd-dispatcher가 루트가 소유한 것으로 생각하는 스크립트를 그렇지 않은 스크립트로 교체할 수 있습니다.


시스템에 대한 낮은 권한을 가진 공격자는 임의의 신호를 보내 루트 수준 권한으로 에스컬레이션하기 위해 위의 취약점을 함께 연결할 수 있습니다.


성공적인 악용을 위한 단계의 개요는 공격의 세 단계를 다루는 아래 이미지에 캡처되어 있습니다.


4ab25e5504c5c66416f659eb36f8aa2e_1651315008_6255.jpg


Bar Or는 TOCTOU 레이스 컨디션이 가능하려면 여러 파일을 심어야 한다고 말합니다. 

커스텀 익스플로잇을 구현하기 위한 그의 실험에서 세 번의 시도 후에 성공이 기록되었습니다.


4ab25e5504c5c66416f659eb36f8aa2e_1651315008_6872.jpg
 

Nimbuspwn을 성공적으로 활용하는 것은 익스플로잇 코드가 권한 있는 서비스나 프로세스에서 버스 이름을 소유할 수 있을 때 가능합니다.


연구원은 “[연구에 사용된] 버스 이름을 일반적으로 소유하는 systemd-networkd 서비스가 기본적으로 부팅 시 시작되지 않는 Linux Mint를 포함하여 이것이 가능한 환경이 많이 있습니다. "


또한 Bar Or는 세계 쓰기 가능한 위치에서 임의의 코드를 실행하는 추가 "systemd-network 사용자로 실행되는 프로세스"를 찾았습니다. 예: 여러  gpgv  플러그인(  apt-get이  설치 또는 업그레이드될 때 실행됨), Erlang Port Mapper Daemon( epmd ) 일부 시나리오에서 임의의 코드를 실행할 수 있습니다.


n etworkd -dispatcher 의 유지 관리자인 Clayton Craft  는 Nimbuspwn 취약점을 해결하는 필수 업데이트를 배포했습니다.


Linux 사용자는 운영 체제에 대한 수정 사항이 제공되는 즉시 시스템을 패치하는 것이 좋습니다.


*** 자동 번역본으로 오역과 의역이 있을 수 있으며 자세한 내용은 관련 링크의 원문을 확인 하시길 바랍니다.        

관련자료

댓글 0
등록된 댓글이 없습니다.
전체 524 / 1 페이지
번호
제목


 
알림 0