<악성코드 분석공부>/<여분지> 7

안드로이드 디컴파일러에서 리소스 찾기

#안드로이드 #리소스 #리버싱 대단한 지식은 아닙니다. 가끔 디컴파일러로 보면 위처럼 string 을 가져오는데 뭔지 궁금할 때가 있다. 함수 원형에 따르면 string 인자가 아닌 int 값이 올 경우 리소스 id 를 가리킨다고 하는데 어디에 있는지 찾아보면 해당 넘버가 있는 곳이 있다. C와 R 사이에 이상한 넘버가 적혀있는 클래스 파일인데, 해당 클래스는 어플에서 쓰는 모든 리소스에 대한 id 가 적혀있는 파일이다. 보통 안드로이드 어플 코딩을 할 때, R 이라는 객체를 선언 후, 참조를 하면서 리소스를 다룬다고 한다. 그래서 이처럼 디컴파일러에서 R 객체를 참조하는 구문을 잘 보여줄 때도 있지만, 맨 처음 사진 처럼 리소스 id 만 딱 보여주고 알아맞혀봐라는 식의 dex 난독화가 걸려있는 경우에는..

Remote Template Injection 공격기법

#문서형악성코드 #공격기법 #Remote Template Injection 최근에 중국 문서형 악성코드를 분석하면서 자주 쓰이는 문서형 악성코드 공격기법에 대해 정리해보기로 한다. Remote Template Injection 이라고 워드파일에는 템플릿 파일을 이용하여 악성코드를 안전하게 퍼트릴 수 있는 방법이 존재한다. 워드에는 미리 만들어진 템플릿 양식이 있고, 이 파일을 구성하는데에는 템플릿 설정, 매크로 등등이 담겨있는 .dotm 파일이 존재한다. 템플릿 형식으로 만든 docx 파일을 zip 파일로 만들어 압축을 푼 뒤, word/\_rels/settings.xml.rels 파일을 설정하면 외부로 부터 불러올 dotm 파일을 설정할 수 있다. 만약, 불러오는 dotm 파일에 악성매크로가 존재한다면..

Cyberchef online - 데이터 변환, 디코딩/인코딩

https://gchq.github.io/CyberChef/ 싸-이버 쉐프라는 데이터 변환전용 서비스이다. 굳이 파이썬으로 악성코드 데이터? 를 변환할 필요없이 여기다 올리면 딱딱 변환된다. 편리한듯. 사용예시) 사진 처럼 Recipe 탭에 어떤 데이터로 부터 무엇으로 변환할 것인지 function 들을 가져다 놓고 Input 에 데이터를 넣으면 알맞게 변환된다. 끝.

Process Hollowing 기법 실습

#Process Hollowing #Malware - Process Hollowing 이란? Process Hollowing 은 간략히 설명하면, 정상적인 타겟파일을 suspended 상태의 프로세스로 실행 시킨 다음, 해당 프로세스 안에 악성코드 데이터를 삽입시키고 suspend 상태를 해제함과 동시에 악성코드를 정상 프로세스로 둔갑시켜 실행시키는 방식이다. CreateProcess -> NtUnmapViewOfSection -> VirtualAlloc -> WriteProcessMemory -> SetContextThread -> ResumeThread 의 흐름으로 진행된다. - 예제로 보는 Process Hollowing - OS 환경 Windows 10(x86) - 소스 #include #incl..

ProcMon "Unable to load Process Monitor device driver" 에러

#ProcessMonitor #VMware #ProcMon Win7 Ultimate x64 버전이 깔린 VMware 에서 Process Monitor 가 실행이 원활히 안되었다. 해당 오류창을 뿜뿜 뿜어냈는데, 알아보니 윈도우 7 특정버전의 보안업데이트가 미비하여 실행이 안되는거라고... 아래 링크 파일 해당 VM 에서 실행시키면 된다. Download Security Update for Windows 7 for x64-based Systems (KB3033929)

VMware Windows 에서 RDP 환경 구축하기

#VMware #RDP #원격데스크탑 #분석환경 노트북을 하나 새로 장만했다. 구형 노트북은 그냥 집에 두고 VM 돌려서 원격이나 붙일 참이다. 대강 망 구성(?) 이라고 하면 이렇다. 집에서 그냥 공유기 하나 붙잡고 쓸 때의 상황 집 밖에서 공인IP를 통해 통신할 때의 상황 후자는 급하게 필요한 상황이 아니어서 일단 전자를 기준으로 해보자. 첫 번째로는 해당 Windows VM 세팅에 들어간다. 그리고 Network Adapter 세팅에서 커넥션 타입을 Bridged 로 설정해놓는다. 아마 기본적으로 대부분은 NAT 로 쓰고 있어서 호스트 PC 랑은 다른 대역을 쓰면서 원하면 포워딩을 했을 것이다. Bridged 세팅은 호스트 PC 의 공유기에 VM 이 실제로 하나 더 물려있는 것처럼 물리 공유기와 직..

반응형