1년전 쯤 사내 세미나로 진행했던 Memory Breakpointer 개발기 별로 중요한 내용도 아니고 책에도 다 나와있는 내용들이니 공유해도 될것 같아 엄청난 고민끝에 툴을 만들었더니 나뭇잎책에 이 방식이 나와있었다는 점은 함정. (그러니 여러분 책을 읽으세요 책을.) 초보 분석가들에게 도움이 되길 바람 이상 끗! 요람(CreateProcess)에서 무덤(ResumeThread)까지 from Hyoje Jo PS : 내가생각해도 난 졸라 개멍청했구나..
바쁜 현대인을 위한 3줄 요약ptrace system call을 통한 디버깅 여부 확인특정 함수에 시작위치에 0xCC가 존재하는지 확인드디어 리눅스 악성코드들이 안티디버깅에 눈을 뜨기 시작함간만에 리눅스 랜섬웨어가 접수되어 두뇌유희를 즐길 겸 디버거에 올렸다. [그림 1] 메인 함수 중간의 코드를은 언뜻봐도 "안녕 난 랜섬웨어고 이제부터 너희를 암호화 할꺼야" 라는 냄새를 폴폴 풍기고 있고 정작 눈을 사로 잡은건 위/아래쪽 빨간박스의 코드들이었다.어떤 함수를 거치고 나와 그 결과에 따라 exit를 시켜버리다니.. 설마해서 분석을 시작했다.sub_50091() [그림 2] 디컴파일 한 sub_500091sub_500091 함수를 디컴파일 해보면 위와 같은 코드가 나오는데.... 어떤 syscall numb..
바쁜 현대인을 위한 3줄 요약 DeviceIoControl을 통해 PhysicalDrive0~2까지의 크기를 가져옴 8바이트 중 상위 4 바이트가 0x19인지 확인 () 0x19미만이면 100GB 보다 작으므로 악성동작 하지 않음 매우간단한 안티디버깅 방법이다. PhysicalDrive0~ PhysicalDrive2(CreateFileA)까지의 특정 데이터를 가져와(DeviceIoControl) 모두 곱해 더해준 다음 특정값 이상인지 확인하고 리턴한다. 좀 더 보기쉽게 코드를 정리해보자 깔끔하다. 분석을 위해 DeviceIoControl API부터 알아보자. DeviceIoControl (https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa363216..
Fortinet 에서 공개한 metamorphic Code 가 들어있는 Ransomeware (Nabucur) 관련자료1 : https://blog.fortinet.com/2016/01/26/metamorphic-code-in-ransomware관련자료2 : https://blog.fortinet.com/2016/06/07/real-time-polymorphic-code-in-ransomware ※ Metamorphic : http://www.dbguide.net/knowledge.db?mobile&cmd=view&boardConfigUid=21&boardUid=152658 ※ 이번 포스팅에서는 악성코드의 동작에 대해서만 다룬다. 개요Nabucur는 이미지 파일을 암호화 하고 화면을 잠그는 랜섬웨어의 한..