일일 보안이슈
ExploitAlert
WordPress Easy Modal Plugin Multiple Security Vulnerabilities
Microsoft Windows 7 SP1 x86 GDI Palette Objects Local Priv Escalation MS17-017
CMS Made Simple – Reflected XSS
RapidTyping DLL HIJACKING
MS 24개 취약점 패치
MS 8월 업데이트 출시. 대표적인 취약점은 아래와 같다. 기사원문
– CVE-2017-8620: Windows Search Remote Code Execution Vulnerability
– CVE-2017-8633: Windows Error Reporting Elevation of Privilege Vulnerability
– CVE-2017-8627: Windows Subsystem for Linux DoS Vulnerability
SAP 19개 취약점 패치
SAP 8월 업데이트. 3개의 ‘높음’ 위험도, ‘보통’으로 분류된 취약점. ‘높음’으로 분류된 취약점은 아래와 같다. 기사원문
– Directory Traversal in SAP NetWeaver AS Java Web Container
– Code Injection in Visual Composer 04s iviews
– Cross-Site AJAX Requests in SAP BusinessObjects
Adobe 패치
Flash Player, Acrobat and Reader, Experience Manager (enterprise CMS), Digital Editions (e-book reader) 에 존재하는 취약점 패치. 기사원문
Discord 이용한 ROBLOX 게이머 해킹사고
ROLBOX 는 178,000,000 개 이상의 계정이 등록된 유명 온라인 멀티플레이 게임. 해커는 유명 음성채팅 프로그램 Discord 의 API를 이용. API를 이용하면 사용자 정의 코드 및 앱을 실행할 수 있다. 이를 통해 ROBLOX 인증 크리덴셜이 담긴 브라우저 쿠키를 탈취, 게임머니를 훔치는 해킹을 수행했다.
정확히는 Discord API 가 제공하는 웹 훅을 이용. 웹 훅은 Discord 가 특정 채널 혹은 특정 앱이나 프로그램을 이용중인 사용자에게 메시지를 보낼 수 있게 하는 기능. 사용자 PC에 설치된 프로그램을 알 수 있단 점에서 정보유출 창구로 악용될 소지가 있다. 웹훅 악용 방식은 다음과 같다.
- 목표 PC가 Discord 웹훅이 포함된 악성코드에 감염. (이번 경우엔 TSPY_RAPID.A. (TrendMicro 진단명) 게이밍 포럼에 치트프로그램으로 위장한 채 업로드돼있었다) Virustotal 보고서
- 악성코드는 ROBLOX 실행까지 대기, 실행시 사용자 계정 쿠키 탈취
- Discord 를 이용, 탈취한 쿠키를 특정 채널이나 사용자에게 전송
- 이 쿠키는 공격자가 ROBLOX 접속에 사용, 게임머니 탈취 및 환전
전송에 FTP나 이메일, 웹과 달리 Discord 를 사용한단 점에선 특이한 악성코드이나 어찌됐든 감염이 선행되야 한 단 점에서, 충분한 주의로 예방할 수 있는 악성코드. 분석보고서
디즈니 아이폰/안드로이드 앱 이용한 추적행위로 고소
Walt Disney 사는 부모의 동의 없이 iOS 와 안드로이드에 설치된 아동용 앱을 통해, 사용자 활동을 추적한 혐의로 고소됐다. 여기엔 디즈니가 써드파티업체와 공유하는 개인식별정보가 포함된다. 비단 디즈니만의 문제는 아님, Upsight(모바일 마케팅 회사), Unity Technologies(게임개발사), Kochava(모바일 분석회사) 등이 포함된다. 기사원문
윈도우 취약점: Arbitrary Directory Creation to Arbitrary File Read
유저레벨에서 파일접근과 디렉토리 접근은 CreateFile 과 CreateDirectory 로 구분됨. 하지만 커널레벨에서 두 함수는 모두 ZwCreateFile 의 래핑함수. 커널래벨에선 CreateOptions 파라미터로 FILE_DIRECTORY_FILE
나 FILE_NON_DIRECTORY_FILE
를 전달함으로 써 파일에 접근하는지 폴더에 접근하는지 식별한다. 커널 드라이버에서 볼 수 있는 간단한 취약점 예제는 다음과 같다.
NTSTATUS KernelCreateDirectory(PHANDLE Handle, PUNICODE_STRING Path) {
IO_STATUS_BLOCK io_status = { 0 };
OBJECT_ATTRIBUTES obj_attr = { 0 };
InitializeObjectAttributes(&obj_attr, Path, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE);
return ZwCreateFile(Handle, MAXIMUM_ALLOWED,
&obj_attr, &io_status,
NULL, FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ | FILE_SHARE_DELETE,
FILE_OPEN_IF, FILE_DIRECTORY_FILE, NULL, 0);
}
주목할부분은 세 부분, 첫째, CreateOptions 파라미터로 전달되는 FILE_DIRECTORY_FILE. 둘째, Disposition 파라미터로 전달되는 FILE_OPEN_IF.(디렉토리 없을시 생성, 있을 시 열기 옵션) 셋째, Zw 함수를 호출한다는 점. 이 그것. Zw 함수를 호출한다는 것은 커널 권한으로 호출한단 얘기고, 일체의 인자값 검증을 수행하지 않는다. 이를 방지하기 위해선 InitializeObjectAttrivutes 의 인자로 전달되는 OBJECT_ATTRIBUTES 의 OBJ_FORCE_ACCESS_CHECK 플래그를 설정하면 된다. 하지만 위 예제에선 그렇지 않음. 자세한 내용은 Google Project Zero 블로그 참고