[Reversing] VirtualProtect BreakPoint Ollydbg에서 VirtualProtect에서 브레이크포인트를 설정하는 방법unpack 시 알게 된 내용 Alt +F1 누르게 되면 아래와 같은 그림에 "bp VirtualProtect" 입력 후 진행하게 되면 해당 부분에서 BreakPoint가 걸리게 된다. Ctrl+G단축키를 누르게 되면 아래와 같은 팝업창이 실행이 되는데 해당 팝업창에 "kernel32.VirtualProtect" 입력 후 ok 해당 부분으로 가게 된다. 이후 BreakPoint을 설정 후 진행하게 되면 된다.
[Reversing] APC Injection_QueueUserAPC() - 샘플 파일 다운로드> 첨부파일 APC인젝션은 비동기 함수 호출로 직접 호출하는 형태가 아닌 CALLBACK 함수를 통해 호출하는 것이다.QueueUserAPC() 함수를 이용하는데 해당 함수가 호출되기에는 스레드가 Alertable 상태여야며, 또 스레드가 Alertable 상태가 되기 위한 조건은 sleep(), wait() 관련 API를 통해야 된다는 조건이 있다. alertable 상태란? 사용자가 조정할 수 있는 유일한 스레드의 상태이다. (SleepEx, WaitForSingleObjectEx, WaitForMultipleObjectsEx, SignalObjectAndWait, MsgWaitForMultipleObjec..
[Reversing] Self Creation, 디버깅 Emotet 분석중(그림 1)을 살펴보면 서비스 실행 한도 시간을 수정한 후 해당 서비스 실행 파일의 EP의 2byte 값을 무한루프로 변경해 주는 것을 확인 할 수 있다. 이후 서비스를 시작할 때 해당 서비스를 Attach를 한 후 원복 후 디버깅을 진행 할 수 있다.. 그림 1 – 서비스 디버깅 CVE-2017-11882 분석중취약점 발생 원인 부분을 살펴보면 Microsoft Office의 수식 편집기(EQNEDT32)을 이용하여 쉘 코드를 실행하는 한다는 사실을 알 수 있었다. 즉, Cve-2017-11882.rtf을 실행 시 수식 편집기가 실행 되면서 취약점이 발생하는 걸 확인하였다. (그림 2)와 같이 EQNEDT32.EXE의 Entry ..
[Reversing] Malwarebytes CrackMe: a step-by-step tutorial 악성코드 분석 훈련용 샘플로 MalwareByte에서 제작하였다.Malwarebytes Crackme로 분석 연습용이며, CrackMe에서 다양한 기술을 보여주므로 좋은 경험이 되었다. > https://blog.malwarebytes.com/tag/malwarebytes-crackme/> https://jeongzzang.com/99 - 샘플 파일 다운로드> 훈련용 파일
[Reversing] Process Hollowing 기법 프로레스 할로잉 기법은 자식 프로세스를 이용하여 프로세스 자체를 인젝션하는 것으로 간략하게 말하자면 절차는 자식 프로레스를 서스펜드 상태로 만든 뒤 기존 악성 프로세스의 정보를 얻어 자식 프로세스의 각 위치에 매핑을 한다. 이후 메모리를 할당과 악성 데이터를 삽입한 후 서스펜드 상태를 풀어주게 되면 악성 행위를 하게된다.. source code> https://github.com/theevilbit/injection/tree/master/ProcessHollowing 프로세스 생성(SUSPENDED) BOOL CreateProcessA( LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATT..
[Reversing] Inline Code Patch [Reversing] Inline Code Patch ② 원하는 코드를 직접 수정하기 어려운 경우 코드 케이브라고 하는 패치 코드를 삽입한 후 실행해 프로그램을 패치시키는 기법을 인라인 코드(Inline Code Patch)라고 합니다.또 하나의 개념은 코드 게이브(Code Cave) 입니다. 흐름을 변경하여 삽입된 코드 영역을 거쳐서 수행되도록 하는 기법을 말합니다. 위 파일을 통해 실습을 할 것입니다.[프로그램 실행시 팝업창] - 살펴보니, 텍스트 박스에 unpack me와 같은 문자가 보입니다.- x64 dbg를 통해 살펴보겠습니다. 1. x64 dbg & 흐름분석- EntryPoint로 이동을 하겠습니다.401000 PUSHAD- PUSHAD를..
[Reversing] PE 파일 만들기④ 마지막으로 어셈코드를 제작할 것입니다.[Reversing] PE 파일 만들기①[Reversing] PE 파일 만들기②[Reversing] PE 파일 만들기③ 1. x64 dbg- 지금까지 만들어진 파일을 올려보겠습니다.- 해당 VA 주소는 코드섹션(.text Section)입니다.- 현재는 0으로 채워져 있으니 코드섹션에 어셈코드를 추가할 것입니다. [0x401000 x64 dbg] [.text Section PE] 2. .text Section- 이전 게시물에 있는 파일을 열어보시면 위와 같이 .text Section 부분이 0으로 채워져있습니다.- 이전에 말했듯이 해당(30h)부분에 어셈코드를 제작할 것입니다.- 200h 부터 추가할 것입니다. [어셈코드 추가..
- Total
- Today