Windows 10에 기본 탑재되어 있는 ASLR 기능을 우회하여 자신이 원하는 코드를 삽입할 수 있는 취약점을 소개하는 PDF 파일입니다. 


쉽게 이해할 수 있도록 PPT 형식의 재미있게 풀어썼으며, 단계적으로 취약점을 수행하면서 독자가 따라할 수 있도록 배려하였습니다. 


WINDBG를 이용하여 WIndows 10의 커널 부분에서 특정부분은 주소의 랜덤화가 수행되지 않는 것을 확인하고, 해당 부분에 원하는 코드를 삽입 함으로써 공격을 시도할 수 있었습니다. 


최신 윈도우에서 나타난 취약점인 만큼 참고하시면 좋을 것 같습니다.


BypassAslrWin10.pdf


도움이 될 만한 글이라 퍼왔습니다.


크립토락커 악성코드를 샌드박스 상에서 실행시켜 생성되는 파일과 동작원리 등을 자세히 분석한 글입니다. 관심있는 분들이면 쉽게 볼 수 있어서 기존의 이론적인 방법들이 악성코드에서 어떻게 사용되는지 이해할 수 있습니다. 가볍게 읽어주셔도 좋습니다.



[FNGS 연구소] 크립토락커(Crypt0L0cker) 5 부 : 악성코드 분석 - http://fngs.tistory.com/18

아카이브 - https://web.archive.org/web/20151208095058/http://fngs.tistory.com/18

현대암호에 대한 전반적인 설명으로 시작하여 공인인증서의 구조를 살펴보고, 이를 브루트포싱으로 크래킹하는 내용을 담았습니다.


http://www.slideshare.net/ied206/4th-inc0gnito

XE 1.7.3.2의 LFI(Local File Inclusion)에 사용된 기술 입니다. (참고 : http://webhackerkhuti.blogspot.kr/2013/10/xe-1732-lfi.html)

PNG의 IDAT 부분에 웹셀코드를 삽입한 뒤, 나중에 PHP 형식으로 로드하면 웹쉘로 사용할 수 있습니다. 


정상적인 사진파일처럼 인식하기 때문에 이미지 라이브러리에서도 에러없이 사용 가능합니다.

웹쉘 코드를 이미지 코드속에 숨기고 싶을 때 참고하시기 바랍니다. 



원본 : https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/


Encoding Web Shells in PNG IDAT chunks.pdf


윈도우에서는 일반적으로 파일 이름을 왼쪽에서 오른쪽으로 읽어나가고 확장자는 맨 오른쪽에 적혀있습니다. 하지만 오른쪽에서 왼쪽으로 읽도록 강제하는 유니코드가 있습니다. ( http://www.fileformat.info/info/unicode/char/202E/index.htm ) 

이 유니코드를 이용하여 파일이름을 거꾸로 읽도록 하면 확장자를 파일명 맨 앞에 두어도 됩니다. 윈도우에서는 이 유니코드가 나오는 순간부터 문자를 거꾸로 읽어 '파일\u202e pwh.exe' 를 '파일 exe.hwp' 로 사용자에게 표시하게 됩니다.


이렇게 되면 윈도우 상에서는 확장자에 맞게 한글 문서로 표시하게 되고, 사용자는 의심없이 파일을 실행합니다. 하지만 윈도우는 표시된 파일명과 별개로 실제 확장자인 exe 파일로 읽어 응용프로그램 형태로 실행합니다. 


이 유니코드는 윈도우는 물론 유니코드를 지원하는 각종 프로그램에는 모두 사용이 가능하기 때문에 파일 전송이 가능한 각종 메신저에서도 실제 파일명 대신에 변조된 파일명을 표시하게 됩니다. 


이를 악용한 악성코드 공격이 실제로도 있고 지금도 발생하고 있습니다. 이 공격기법에 대한 영어 PDF 파일입니다. 한글 PDF 파일을 찾아보려고 했지만 블로그 상에 기술적 내용이 포스팅 된 곳은 많았지만 PDF 파일은 결국 못 찾았습니다. 


관련 포스팅 : 

[주의]한글 이력서 문서파일로 위장한 표적형 공격 발견

http://erteam.nprotect.com/451


Unicode 를 이용한 윈도우 확장자 변조 가능 취약점을 이용한 악성코드 주의

http://viruslab.tistory.com/1986


 Right To Left Override (RLO) Unicode Can Be Used In Multiple Spoofing Cases.pdf



프로그램마다 실행시 필요한 DLL 파일들을 불러오는 과정에서 찾는 파일이 특정 디렉토리에 없을 경우 다른 디렉토리까지 검색하여 같은 이름의 dll 파일을 불러들이는 기능을 이용하여 DLL 하이재킹을 시도하는 방식입니다. 


악성 dll 을 이름만 같게하여 프로그램에서 자동으로 불러들이도록 하는 것인데, 문제는 악성dll 파일이 굳히 로컬내의 위치하지 않더라도 다른 컴퓨터의 공유폴더에만 해당 파일이 있어도 되기 때문에, 같은 랜상에 위치하거나 VPN 등을 사용할 경우 굉장히 위험할 수 있습니다. 



윈도우 환경에서 애플리케이션의 dll 하이재.pdf


추후에 나오게 될 아이폰에도 클라우드 기반 I-클라우드를 탑재할 만큼 클라우드 연구가 활발하게 이루어지고 있는 만큼 이 자료도 매우 유용하리라 생각합니다.

 

다들 흥미로운 주제가 아닐까 생각됩니다. 백신 무력화를 위해서 각종 기법이 나오고 있는데, 그 중 하나가 실행압축 (UPX 등등) 입니다.

이 압축기술이 날로 새롭다보니 백신에서도 분석하는데 고생합니다. 백신탐지를 막기위해 네이트온 관련 악성코드는 40KB 밖에 되지 않는 간단한 소스, 압축하는 놀라운 기술력을 보여줍니다.

KISA 에서 공개한 만큼 기술자료 공개는 법적으로 아무 문제가 없습니다.


기사를 통해서 MHTML 취약점에 대해서 접한 후, 리뷰를 급하게 작성합니다.

1. 취약 대상
  Windows 사용자

2. 핵심 기법
  주소에 MHTML: 첨부할 경우 여러 필터링 통과 가능

3. 응용
  <iframe src="MHTML:http://target/file/any.html!cookie"></iframe>

 <iframe src="mhtml:http://target/file/any.html?a=header with content-type"></iframe> 
 or content-type의 대한 보안이 있는 경우 따로 파일에 저장 후 html에 인젝션 해서 불러온다.

 <OBJECT CLASSID=CLSID:1111111-1111-1111-1111-111111111111 CODEBASE=file_path></OBJECT> 
 클라이언트의 파일을 실행할 수 있다.


제가 아는 Virut 는 웜의 한 종류로써 컴퓨터의 scr, exe 과 같은 실행파일을 모두 감염시켜 컴퓨터를 사실상 마비를 시키는 웜으로 알고 있었습니다.

Virut 감염시 감염 파일 숫자는 기하급수적으로 늘기 마련이였습니다. 하지만 이 문서를 보면 전혀 다른 Virut를 볼 수 있습니다. DDOS 를 위한 파일로써 사용되어지고 있습니다.

Virut 가 포괄적인 의미인지는 모르겠습니다만, 지금까지 봐왔던 Virut 와는 다른 것 같습니다.


+ Recent posts