'race condition'에 해당되는 글 1건

  1. 2012.09.14 Race condition
Exploit/System2012. 9. 14. 22:10

Race condition



OS Concept에서 Race condition이란 두 프로세스간에 리소스를 사용하기 위해 다투는 과정을 말합니다.


하지만 해킹 기법으로 Race condition을 말 할 때에는

setuid를 가진 취약한 데몬과 공격자의 exploit이 서로 경쟁하는 상태를 말합니다.


Race condition에 취약한 데몬의 조건은 다음과 같습니다.

- setuid 포함

- 임시파일 생성

- 임시파일의 이름을 공격자가 알아야 함

- Race condition에 대한 대처 미비


기본적인 Race condition을 시도해 보겠습니다.

crack이라는 임시 파일을 생성하는 데몬을 Race condition을 통해 exploit을 시도해 보겠습니다.

해당 데몬은 root 권한으로 setuid가 걸려있습니다.


데몬이 생성하는 임시파일에

사용자의 id와 password를 저장하고 있는 /etc/passwd을

반복적으로 링크를 거는 프로그램을 만듭니다.


Link의 개념을 모르시면 다음 글을 읽고 오세요.

 -> http://slimv.tistory.com/entry/SymbolicHard-link


데몬을 반복적으로 실행하는 프로그램을 만듭니다.

/etc/passwd에 맞게 id와 권한을 써 넣도록 합니다.


이제 두 프로그램을 동시에 실행합니다.


/etc/passwd를 열어보면 공격자가 입력한 id 정보가 등록되어 있습니다.


등록한 id로 접속이 가능합니다.

설정한 대로 root 권한을 가지고 있습니다.


공격에 성공했습니다.


'Exploit > System' 카테고리의 다른 글

Return To Library  (0) 2012.11.24
Format String Bug  (0) 2012.11.14
Posted by slimV