Android 1.x/2.x the real youdev feat. init local root exploit.

안드로이드 취약점이 발견됐습니다.

드디어 안드로이드 폰들에게 광명의 빛이.. ~~~ 올레!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

루팅의 공격 과정은 기존의 공격 방식과 좀 다릅니다.

기존의 공격 방식을 간단하게 설명하면....

- Firmware 수정을 통한 강제로 firmware 밀어 넣기.
- update.zip을 통한 루트 권한 획득.
- 커널 취약점.

이었습니다. 허나 이번 취약점은 안드로이드에서의 문제점인데요. (실제 폰에서만 동작하는... 가상의 애뮬레이터에서는 동작하지 않음)

자 초 간단 분석을 해 보도록 합시다.

--------------------------------------------------------------
이 분석 과정은 분석가 Silverbug의 지맘대로 분석으로 절대로 전문가적인 내용이 아님을 미리 밝혀드립니다.

자 그럼 공격자의 입장에서 어떤 식으로 공격이 가능한지 알아보자.

이 데이터를 소켓을 통해 강제로 보내면 된다. 내용은 아래처럼...
ACTION=add0DEVPATH=~~~~
SUBSYSTEM=firmware0~~
FIRMWARE=공격자가 지정한 hotplug 설정 파일(백도어)

/proc/sys/kernel/hotplug 에 공격자가 지정한 디렉터리의 exploid가 들어가게 되고..  그 hotplug 실행.

그럼 root는 hotplug 파일을 공격자가 만든 hotplug 파일을 읽어들이게 되고..
hotplug 파일 안에는 hotplug의 경로가 아닌 공격자가 만든 백도어(트로잔)의 경로를 넣어두어 루트가 실행하도록 한다.


백도어는 대략 일반 리눅스에서처럼 아래의 코드처럼 작성하면 된다. (아래의 컴파일된 코드를 다른 곳으로 복사 또는 권한 변경)

char *sh[] = {"/system/bin/sh", 0};
setuid(0);
setgid(0);
execve(*sh, sh, env);

익스플로잇 코드는 root 권한으로 재마운트를 통해 rootshell을 카피하도록 하였다.

드디어 염원이던 모토로이도 루팅이 됐다. 하지만 모토로라 제품의 경우 RSA로 펌웨어를 체크하기 때문에 현재로서는 ... 사용자가 만든 펌웨어는 나올 수 가 없을 것이다. (2.2 프로요 업데이트는 업체에서 해줘야 ㅠㅠ 하는)

즉 루팅만 된다는..

아래의 URL을 통해 루팅 과정을 볼 수가 있다.
http://alldroid.org/default.aspx?g=posts&t=493

외국에 공개된 멋진 코드는 아래와 같다...

더보기







 

« PREV : 1 : 2 : 3 : 4 : 5 : ... 30 : NEXT »