posted by 블르샤이닝 2013. 5. 23. 17:21
728x90
엑셀파일만 해당된다. 





xlsview.zip



Another_OLE_Doc_Viewer_src.zip


---------------------------------------

근데 엑셀 매크로 바이러스는 엑셀을 실행해서 alt + F11 키 누르면 VBA(매크로 함수 기능) 코드 확인가능하다....누가 자꾸 엑셀 찾아보는것같은데 엑셀 자체 프로그램으로 분석하고 만약 잠겨있다면 그때 엑셀 파일에 대한 파일 내부의 구조를 보는게(근데 암호화되면 확인이 안된다고 보는게 편하다) 좋다. 이상 끝

728x90
posted by 블르샤이닝 2013. 4. 2. 09:51
728x90

출처 : http://badcob.tistory.com/entry/vmware-detection


악성코드 샘플을 수집해서 분석하는 중에 Vmware에서 실행을 하려 해도 
제대로 실행이 되질 않는 놈이 있더군요. 몇번 클릭질 해보다 안되겠다 싶어 
트레이싱을 해보니 아무래도 vmware 를 인식하고 알아서 죽는것 같더이다.

그래서 vmware detection 이라는 키워드로 구글링을 한참 해봤지만 
원하는 자료가 쉬이 나오질 않으니, 시간은 점점 흐르고 분석 문서는 작성해야되는데
악성코드를 실행조차 못하는 상황T_T.. 그러던 와중에 원하는 자료를 발견(!)해서 정리해 둡니다.





In instruction에 대한 설명 - http://en.wikibooks.org/wiki/X86_Assembly/Other_Instructions

I/O Instructions

in dest, src

The IN instruction almost always has the operands AX and DX (or EAX and EDX) associated with it. DX (src) frequently holds the port address to read, and AX (dest) receives the data from the port. In Protected Mode operating systems, the IN instruction is frequently locked, and normal users can't use it in their programs.


DX(src)는 읽을 port address를 가지고 있고, AX(dest)는 그 port의 데이터를 받습니다.

위의 코드에서, "in   eax, dx" 가 실행될 때, 
dx에는 0x5658(port address)이, eax에는 0x564D5867 (VMXh)이 들어 있습니다. 

즉  In  0x564D5867, 0x5658  요런 모양으로 실행되겠죠. 

그 후에 ebx의 값을 0x564D5867 과 비교해서 같으면 Vmware 환경에서 작동하는 것으로 판단,
종료 시킵니다. 


참고 사이트  : http://isc.sans.edu/diary.html?storyid=3190


728x90
posted by 블르샤이닝 2013. 1. 2. 16:09
728x90

출처 : http://kkamagui.tistory.com/807


MBR부터 윈도우 부팅 과정 디버깅!?!

요 몆주간 윈도우 부팅 과정(MBR부터 시작하는...)을 확인할 필요가 있어서 여러가지로 찾던 중, VMware와 IDA Pro를 이용하는 방법을 발견했습니다. 물론, 이 방법 외에도 여러 방법들이 있겠지만, VMware의 빠른 속도와 IDA Pro의 강력함이 더해지니 꽤 괜찮아서 이렇게 쓰고 있습니다. ^^;;;
(혹시 다른 방법을 알고 계시면 살짝 알려주세요 >ㅁ<)/~)

VMware에 디버그 옵션 설정하기

VMware로 생성한 가상 머신이 있는 폴더에 가보면 .vmx로 끝나는 파일이 있을 겁니다. 이 파일을 노트패드와 같은 에디터로 열면 여러 설정값들이 보일텐데, 가장 아래 줄로 이동해서 다음 3줄을 추가합니다.

debugStub.listen.guest32 = "TRUE"
debugStub.hideBreakpoints = "TRUE"
monitor.debugOnStartGuest32 = "TRUE"

위 3줄은 VMware가 디버그 포트를 열어서 GDB로 OS를 디버깅할 수 있게 하는 옵션인데요, 이 옵션을 추가한 뒤 VMware를 실행시키면 바로 시작이 안되고 그냥 멈춰있습니다. ^^;;; 까만 화면이 나오거나 아래처럼 화면 가운데에 녹색 Play 버튼 같은게 나올 수 있는데, 둘다 정상이니 걱정하지 않으셔도 됩니다.


<VMware 디버깅 대기 화면>


IDA Pro로 VMware에 연결하기

VMware가 멈춰있다면 이제 IDA Pro를 실행합니다. 그리고 메뉴의 debug -> Attach -> Remote GDB debugger를 클릭하여 VMware에 붙일 준비를 합니다. "Remote GDB debugger"를 선택하면 옵션창이 표시되는데, "Hostname" 항목에는 localhost를 입력하고 "Port" 항목에는 8832를 입력하면 접속할 준비가 모두 끝납니다. ^^;;;


<Remote GDB debugger 선택 화면>



<Debug Option 설정 화면>


"Choose process to attach to"라는 창이 뜨면 그냥 ID 0번, 즉 <attach to the process started on target>으로 맞춰주세요. ^^;;;

Happy Debugging

처음에 디버거가 붙으면 BIOS의 첫부분부터 시작이 될텐데요, 사실 BIOS의 동작은 크게 안 궁금하니 브레이크 포인트를 0x7c00에 하나 걸어주고 브레이크 포인트가 걸린 뒤부터 진행하면 MBR부터 확인할 수 있습니다. ^^


 

<디버깅 화면>


이제 따라가는 일(?)만 남았군요. ^^)-b
그럼 즐거운 디버깅(?) 하세요 ^^)/~


728x90
2012. 10. 30. 16:37

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

posted by 블르샤이닝 2012. 10. 29. 14:15
728x90

리버싱 외국 커리큘럼


http://fumalwareanalysis.blogspot.com.au/p/malware-analysis-tutorials-reverse.html


단 영어라는점.....~~~ㅎㅎ 해석느리지만 가능할겁니다. 공대 영어는 쉽다는 점~

728x90
posted by 블르샤이닝 2012. 10. 19. 14:47
728x90
파이어 폭스의 암호를 알아내는것

SELECT hostname, encryptedUsername, encryptedPassword FROM moz_logins


아래 그림과 같이 mozlite3.dll 을 이용해 해당 쿼리를 날려 파이어폭스의 암호를 알아낸다고 한다. 


파이어 폭스의 계정 정보를 가지고 있는 파일은 prefs.js 이다. 해당 정보의 상위 주소로 가게 되면 해당 파일의 조건문


으로 되어있어 확인 후 계정 정보를 알아내려고 하는것을 알 수 있다


ida화면


추가 정보 

---------------------------------------------------------------------------------------------------------

북마크와 방문 기록

  • places.sqlite

이 파일은 여러분의 모든 북마크와 이전에 방문했던 웹사이트들의 목록이 포함되어 있습니다. 더 많은 정보를 위해서는 북마크 를 참고하세요.

패스워드

여러분의 패스워드는 필요한 두개의 다른 파일에 저장되어 있습니다.

  • key3.db - 이 파일은 여러분의 패스워드를 위한 데이터베이스 키가 저장되어 있습니다. 저장된 패스워드들을 옮기기 위해서는 반드시 이 파일과 아래 파일을 복사해야 합니다.
  • signons.sqlite - 패스워드를 저장.

더 많은 정보를 위해서는 암호 기억하기 를 참고하세요.

사이트에 관한 설정

  • permissions.sqlite

이 파일은 한 사이트에 기반하여 결정된 여러분의 Firefox 승인정보들을 담고 있습니다. 예를 들어, 어떤 사이트들이 쿠키 설정이나 확장기능 설치, 이미지 보기, 팝업 열기 등이 허용되었거나 불허되었는지에 대한 정보들을 저장하고 있습니다.

검색 사이트

  • search.sqlite
  • \searchplugins\ 폴더

만약 여러분이 검색 사이트를 추가하였다면 그것들은 \searchplugins\ 폴더에 저장됩니다.search.sqlite 파일은 Firefox에서 보여지는 검색 사이트들의 순서를 저장합니다. 더 많은 정보를 위해서는 검색 바 를 참고하세요.

개인 사전

  • persdict.dat

이 파일은 여러분이 Firefox 사전에 추가한 단어들을 저장하고 있습니다. 만약 여러분이 한번도 Firefox사전에 단어를 추가한 적이 없다면 이 파일은 존재하지 않습니다. 더 많은 정보를 위해서는 맞춤법 검사 사용하기를 참고하세요.

자동완성 기록

  • formhistory.sqlite

이 파일은 여러분이 Firefox 검색바에서 검색한 내용과 웹사이트의 폼에 입력한 정보들을 저장하고 있습니다. 더 많은 정보를 위해서는 폼 자동완성을 참고하세요.

쿠키

  • cookies.sqlite

쿠키 는 이전에 로그인했던 웹사이트의 로그인 유지, 여러분이 허용한 웹사이트의 설정 저장, 이전에 방문한 특정 웹사이트들의 사용자 인증등의 다양한 목적으로 사용됩니다. 더 많은 정보를 위해서는 쿠키를 참고하세요.

보안 증명 설정들

  • cert8.db

이 파일은 여러분의 모든 보안 증명 설정들과 여러분이 Firefox로 가져온 SSL 증명들을 저장합니다.

내려받기

  • mimeTypes.rdf

이 파일은 알려진 파일타입에따라 어떤 행동을 했는지에 대한 여러분의 설정을 저장합니다. 더 많은 정보를 위해서는 파일 타입 관리하기를 참고하세요.

사용자 스타일

  • \chrome\userChrome.css
  • \chrome\userContent.css

만약 이 파일들이 존재한다면 이 파일들은 파이어폭스나 특정 웹사이트 또는 html 엘리먼트들의 행동이나 모습들에 대해 사용자가 임의로 정의한 변경 사항들을 저장합니다. 대부분의 사람들은 이 파일이 없습니다. 만약 여러분의 \chrome\ 폴더안에 userChrome-example.css 파일과userContent-example.css 파일이 있더라도 무시하여도 됩니다.

728x90

'리버싱' 카테고리의 다른 글

winupack unpack  (0) 2012.10.30
리버싱의 기초부터 잘 정리된 교육사이트이다.  (0) 2012.10.29
프로그램 체크를 통한 안티 리버싱(?)  (0) 2012.10.18
파일들의 매직넘버  (0) 2012.09.25
안티리버싱[옛날자료]  (0) 2012.09.03
posted by 블르샤이닝 2012. 10. 18. 11:23
728x90

안티리버싱이라고 하기엔 좀 애매한 부분이 잇지만, 동적분석 및 분석을 방해하기 위해서 쓰이기 때문에 안티리버싱이라 하겠다. 이건 개인적인 소견이다~ㅎㅎ 


퍼온글과 내가 본 부분을 덧붙이겠다. 문제되면 비공개로 바꾸도록 하겠습니다.

------------------------------------------------------------------------------------


커널모드 드라이버를 사용하는 디버거들은 이름이 정해진 장치들과 통신하여 작동 됩니다. 그래서 이 장치이름으로 핸들을 얻기를 시도했을때 성공한다는 것은 디버거가 활성화 되어 있다는 의미는 아니더라도 현재 존재는 하고 있다는 뜻입니다. 이를 이용해 CreateFile() 함수의 dwCreationDisposition 파라메타에 OPEN_EXISTING 을 전달하고 다음 디바이스 이름들을 넣는 방식으로 디버거의 존재를 알 수 있습니다. 

 

HANDLE WINAPI CreateFile(
  _In_      LPCTSTR lpFileName,
  _In_      DWORD dwDesiredAccess,
  _In_      DWORD dwShareMode,
  _In_opt_  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  _In_      DWORD dwCreationDisposition,
  _In_      DWORD dwFlagsAndAttributes,
  _In_opt_  HANDLE hTemplateFile
);
 

 

• SoftICE: \\.\SICE\\.\SIWVID\\.\NTICE
• RegMon: \\.\FILEVXG\\.\REGSYS
• FileMon: \\.\FILEVXG\\.\FILEM
• \\.\TRW
• SoftICE extender: \\.\ICEEXT


아래 그림은 해당 프로그램이 동작하는것을 확인하는 코드부분으로 해당 프로그램이 동작시 윈도우 메시지 창을 띄운다.

ida 코드부분



728x90