기본의 swf는 자체적인 XOR 또는 Script가 존재하였지만, 요즘 나오는 Swf파일은 ActionScirpt를 이용하는 경우를 많이 볼 수 있다. 샘플 19.swf 는 일반 swf같아 보이지만, 1개의 swf에 6버전별로 6개의 swf가 들어가 있는 파일이다. 이런 경우 첫 시작점을 찾는 것이 중요하다. 어느정도 눈썰미가 있다면 시작점은 “26 1B 10 C4” 이란것을 금방 알 수 있을 것이다. 기존에는 Sothink SWF Decompiler v4.0을 사용하였지만, 4.0버전에서는 보이지 않던 액션스크립트가 5.0에서는 보이기 때문에 이제 5.0이상으로 갈아타시길 바랍니다. 5.0으로 샘플 19.swf를 보게 되면 다음과 같은 버전별로 구성되어 있다는 것을 알 수 있다. (샘플 툴킷 소개에 올..
샘플 14.swf는 CWS로 압축이 되어 있지만, 기존에 사용하던 swfdecomp.exe로는 압축이 풀리지 않는다. Sothink SWF Decompiler로 열어보면 의심스러운 부분은 존재한다. 그림을 보면 연속적인 aaaa 부분을 지난 다음 90909090으로 시작 되는 코드부분이 있다. 이 부분이 ShellCode로 의심되는 부분이다. 우선 의심스런 부분만 짤라내서 보자. 분석툴 다운로드에서 Action_Script_Viewer를 다운로드 한다. 이후 샘플 14.swf를 오픈하여 Yes 나 Yes to All을 선택하고 Error log를 닫는다. 그리고 Special Tags 탭으로 이동 하여 원하는 태그에 마우스우측버튼을 눌러 save as시킵니다. Save 시킨 swf 파일은 FileInsi..
자 이제부터는 조금씩 어려워진다. 기본 지식이 쬐~~~금씩은 필요하니 잘 따라오기 바랍니다. 일단 샘플 13.swf는 압축이 풀려 있는 상태이다. 하단 부분을 보니 url로 의심되는 부분이 있다. 아무래도 XOR값이 있을 듯 하다. 복호화 방법은 13.swf를 뒤져서 XOR값을 얻어오는 것이다. ultra로 13.swf를 오픈 후 OllyDbg의 Attach옵션을 이용하여 ultra프로그램을 오픈하자. 이후 Memory Map을 열어 Ctrl+B로 FWS의 스트링을 메모리맵에서 검색한다. 그럼 Ultra에서 오픈 중인 13.swf의 파일을 찾아준다. 찾은 13.swf가 원본인지 확인을 한 다음, 13.swf파일이 맞다면 마우스 우측버튼의 Disassemble를 클릭 한다. 에셈블리어로 보다 보면 XOR ..
Swf는 Shockwave Flash Object로써 Flash파일이다. 이를 이용하여 악성코드를 다운로드 할 수 있다. Swf 또한 일반 PE의 실행압축처럼 압축이 가능하다. 샘플 12.swf파일을 보면 아래의 그림이 바로 압축이 되어 있는 CWS상태이다. 우선 CWS로 압축 된 상태를 swfc11.exe(swfdecomp.exe)로 디코딩을 하면 다음과 같이 FWS로 같이 압축이 해제된다. 그 이후 하단 부분을 보면 원하는 url을 얻을 수 있다. (참고사항) swfdecomp.exe의 사용방법은 swf파일을 swfdecomp.exe 파일 위로 Drag 하면 된다. 이번 강좌는 스크립트보다는 SWF파일에 있는 URL을 찾아내는 방법이라고 해야할까??;; 암튼 따라해보시면 쉽다!!