2010.09.06 22:01 System

Matt 님 블로그를 돌아다니다가 발견했습니다


Windows Movie Maker vulnerability 라고 쳐봤더니

최근에 Remote Exploit 이 있었던 모양입니다


OS 종속적인 버그가 있었던 모양이네요

특이하게도, Vista는 Exploit 되는데, Server 제품군 들과 7은 영향 받지 않았습니다


<그림1. Bug에 영향받지 않는 OS들>

패치 전, 후 파일을 받아서 비교해봤는데

한 두 군데 고친것도 아니었고

Binary Differ 프로그램을 이용해봐도 아직 감이 안오더라구요 -.-

아무튼 각설 하고 본론으로 들어갑니다

앞서 발표된 Remote 취약점과는 달리 기술적 난이도도 높지 않고 

아 이런 경우도 있구나 하고 넘어갈 정도의 버그입니다

DLL Hijacking 역시 상당한 위협수준이 될 수 있습니다

아래 동영상을 보시면 감이 오실겁니다

KB: We can"t fix this one - Microsoft DLL Hijacking Exploit from Offensive Security on Vimeo.






위 링크를 보셨으면 금방 이해하셨겠지만

간단히 설명해보겠습니다

Windows Movie Maker의 확장자 , mswmm 혹은 프로그램이 설치된 폴더에

%SystemRoot% 폴더를 만듭니다

그 폴더 안에 system32폴더를 만들고

해당 소스로 hhctrl.ocx를 컴파일하여 system32 폴더 안에 넣으면 됩니다

어때요? 정말 쉽죠?


<코드1. hhctrl.ocx의 소스>

이제 mswmm 이나 프로그램을 실행시키게 되면

떠야 할 Windows Movie Maker는 실행되지 않고 

계산기가 실행되는 것을 볼 수 있습니다

이를 야기하는 코드를 찾아볼까요?


<그림2. 버그를 야기하고 있는 부분>

환경변수를 이용하는것 이외에는 별 이상도 없는 그런 코드입니다만

바로 그 환경 변수가 문제가 됩니다

절대 경로라면 이상 없이 넘어갔을 테지만 말이죠

그 원인이 되는 것은 바로

DLL이 로딩되는 경로 순서 입니다


1) dll을 로드하려는 프로그램의 current directory
2) 현재 windows의 current directory
3) system path = %SystemRoot%
4) windows path = %windir%
5) path 환경변수에 등록된 곳들


3번 System path 보다  1번을 먼저 찾기 때문에

해당 디렉토리에 %SystemRoot%system32가 있으면 그곳을 먼저 찾는 거죠

그래서 hhctrl.ocx를 로딩하는데, 그 파일이 조작되었다면 말 다한거죠

실행 시키고 싶은 코드를 실행 시킬 수가 있는 겁니다

예를 들어, 관리자 권한으로 실행되는 프로그램에서 이러한 취약점이 있다면

관리자 권한으로 프로그램을 실행 할 수가 있게 되구요

심각한 버그는 아니지만, 아주 사소한 것으로도 이러한 Hijacking 이 일어날 수 있다는 것이

정말 재밌네요 :D


Posted by LinkC

블로그 이미지
LinkC

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

공지사항

Yesterday27
Today12
Total324,522

달력

 « |  » 2019.01
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

최근에 받은 트랙백

글 보관함


. .