Malware 14

PEB를 이용한 DLL로드

옛날에 PEB를 공부하면서 간과했던 부분이 이제서야 중요하다는 것을 깨닫고 이렇게 정리 해본다. 악성코드를 분석하던 중 위와 같이 Import 되는 라이브러리는 하나밖에 없는데 바이너리를 실행 시켜보면 kernel32.dll등 데 WinAPI를 자유자재로 사용하는 것을 볼 수 있습니다. 어떻게 이것이 가능하냐????? [중요] 바로 PEB를 이용해 현재 로드된 모듈들을 가져와서 사용하는 것입니다. [ 중요 ] 간단하게 설명하자면 PEB구조체의 필드중에 'Ldr'이라는 포인터 변수가 있다. Ldr은 _PEB_LDR_DATA라는 구조체를 가지고, 이는 현재 프로세스에서 로드한 모듈들의 정보를 담고 있다. 즉, Ldr은 현재 프로세스에서 로드된 모듈들의 정보를 가지고 있다. [참고] 32비트는 0xc만큼 떨어..

Malware 2020.08.23

cb-bitcoinstealer.exe (비트코인 주소를 바꾸는 악성코드)

해당 악성코드는 C#으로 컴파일 되어있어서 'dotPeek'이라는 c#디컴파일러로 디컴파일 을 진행하여 정적분석을 진행하였습니다. 결론은 cb-bitcoinstealer.exe는 자기 자신을 다음과 같은 경로에 복사를 하는 것을 확인 할 수있고, 이후 rekeywiz64.exe를 자식프로세스로 생성합니다. rekeywiz64.exe가 실행되면 [중요] FormBackground 객체를 생성합니다. 악성코드의 주요행위는 FormBackground에 있습니다. 이제부터 FormBackground를 분석해 보겠습니다. 이제부터 클립보드의 대한 통제권은 해당 악성코드가 가지게 됩니다. [ 코드 분석1 ] 'm.Msg != 797' --> 797은 클립보드가 변환되면 같는 message입니다. 즉 , 클리보드가 ..

Malware 2020.08.23

호크아이 악성코드 분석

정적분석 샌드박스 결과를 보면 흐름은 대충 이러하다고 추측이 가능합니다. "자식프로세스를 생성하고 거기에 코드인젝션?이나 특정행위를 하게 한다." 정도 추측이가능합니다. IDA로 분석 도중 AutoIt으로 만들어진 바이너리라는 것을 알게 되었습니다. "exe2auit"을 이용해 디컴파일 해서 분석할 수 있었지만 디컴파일전 먼저 IDA로 분석을 해보았습니다. CreateProcess에 bp를 걸고 자식프로세스를 생성할때 잡을려고햇는데 왜 안되지 ㅡㅡ 그래서 결국 분석보고서를 보고 힌트를 얻었다. [중요] 안티후킹?(정확한 용어가 맞는지 모르겠다.)이 적용 되어있었다. 보통 프로그램이 실행이되면 ntdll, kernel.dll 등 기본적인 dll이 로딩이 되는데 이때 0x7xxxxxxx주소로 로딩이된다. 하..

Malware 2020.08.05