안티디버깅 4

치트엔진으로 안티디버깅 우회 해보기 IsDebuggerPrensent -2 (Code Cave)

전에 작성한 IsDebuggerPrenset를 치트엔진을 사용해서 Code Cave 기법으로 우회를 해 보겠습니다. 요새 어셈 스크립트 작성하는게 재미있네요 .. 위 opcode를 보면은 전에 작성한 opcode랑 다르다는 것을 알 수 있습니다. 전에 C코드 솔루션을 C#으로 했더라구요 ... BP를 설정하면 IsDebuggerPrenset 함수가 탐지하여 " 디버깅 탐지 " 라는 문자열을 출력합니다. 해당 함수를 타깃으로 Code Cave를 해 볼 것입니다. 먼저 어떤 식으로 스크립트를 작성 할 것인지 생각해보자면 공간을 생성 한 후 IsdebuggerPresent 함수를 불러온다. eax 값을 초기화 하고 eax 값이 00인지 비교하고 맞으면 원본 코드로 복귀 아니면 무한루프 이런 식으로 작성할 것입..

치트엔진으로 안티디버깅 우회 해보기 - PEB

PEB구조체를 이용해서 안티디버깅을 적용하고 치트엔진으로 우회 하는 실습을 해보겠습니다. PEB는 간단하게 BeingDebugged 값을 체크하는 안티디버깅 기법입니다. 자세한거는 나중에 Windbg를 공부하면서 알아보도록 하겠습니다. 위는 간단한 소스코드 입니다. 디버깅이 탐지 될 때 " 디버깅 탐지 " 를 띄우고, 그 반대로 " 정상 " 을 띄우는 소스코드 입니다. 치트엔진을 켜고 프로세스를 attach 합니다. 현재 디버깅을 안 해서 " 정상 " 이라고 출력 중 입니다. 이번에 추가적으로 툴을 하나 더 실행 시킵니다. " Process Explorer " 라는 좋을 툴입니다. 대표적으로 프로세스 리스트 (Suspend, Resume, Terminate, Dump) 해당 프로세스의 Thread, TC..

GandCrab 4.3 Javascript 분석 -2

이번 분석 건은 Ahnlab 블로그에 기재된 ' 자바스크립트 내에 포함된 GandCrab 랜섬웨어 (V3 제거유도) ' 입니다. http://asec.ahnlab.com/1152?category=342979 상세분석은 아니며, 분석보다는 연구 한 것에 가깝습니다. GandCrab을 실행하기 위한 자바스크립트 입니다. 자바스크립트 난독화를 복호화 시키는 과정입니다. 복호화를 끝마친 상태입니다. 안티바이러스 체크 및 GandCrab 드랍, 실행 감사합니다.

치트엔진으로 안티디버깅(IsDebuggerPresent) 우회 해보기

이번에는 치트엔진 툴을 사용하여 안티디버깅(Anti - Debugging) 기법 중 가장 기초적인 IsDebuggerPresent 를 우회 해보겠습니다. 먼저 아래 간단한 소스코드를 컴파일 하겠습니다. IsDebuggerPresent 함수를 무한루프를 돌리는 소스입니다. 디버깅이 탐지가 되면 " 디버깅 탐지 " 메시지를 출력하고 아닐시 " 정상 " 메시지가 출력됩니다. 해당 소스를 컴파일해서 실행시키면 아래와 같이 출력됩니다. 이제 치트엔진을 켜서 해당 프로그램을 attach 시켜줍니다. 왼쪽 상단에 모니터 그림을 클릭하고 Process List 에서 해당 프로그램을 Open 해줍니다. 그리고 Memory View 에서 아무 곳에 BP를 설정 해주면 아래와 같이 " 디버깅 탐지 " 메시지가 출력됩니다. ..