본문 바로가기

기본 - 악성 코드 분석9

파일 암호화 관련 API CryptAcquireContextA CSP(Crystographic Service Provider) 핸들 얻기 CryptCreateHash 해쉬 만들기 CryptHashData 해쉬 값 계산 CryptDeriveKey 키 만들기 CryptEncrypt 암호화 CryptGetHashParam 해쉬 계산해서 얻기 CryptDecrypt 복호화 CryptAcquireContext 유저용 키 컨테이너 만들기 2020. 10. 18.
메모리 관련 API CreateFileMapping 파일을 메모리로 로드하는 파일 매핑 핸들을 생성하고 메모리 주소를 통해 접근할 수 있게 한다. 실행기, 로더, 인젝터는 이 함수를 이용해 PE 파일을 읽고 수정한다. GetProcAddress 메모리로 로드한 DLL에서 함수 주소를 검색 FindResource 리소스 찾기 SizeofResource 리소스 크기 확인 LoadResource 가상 메모리 포인터 반환 LockResource LoadResource한 메모리 실제 포인터 반환 MapViewOfFile 메모리로 파일을 매핑해서 메모리 주소를 통해 파일 내용에 접근할 수 있게 함, 수정 가능 ReadProcessMemory 원격 프로세스 메모리를 읽을 때 사용 Toolhelp32ReadProcessMemory 원격 .. 2020. 10. 18.
키로깅 관련 API GetAsyncKeyState 특정 키를 누르고 있는 것을 확인 할 때 사용한다. Malware는 종종 이 기능을 사용하여 keyLogger를 구현 GetKeyState 키로거에서 키보드에서 특정 키의 상태를 얻는데 사용 MapVirtualKey 가상 키 코드를 문자 값으로 변환하는데 사용 Keybd_event 키보드 이벤트 발생 함수 Mouse_event 마우스 이벤트 발생 함수 AttachThreadInput 한 스레드에서 다른 스레드로 키보드와 마우스 입력과 같은 입력 이벤트를 수신하도록 합니다. 키보드 및 기타 스파이웨어는 이 함수를 사용 GetForegroundWindow 현재 바탕화면의 전경(foreground)에 있는 창의 핸들을 반환, 키로거는 일반적으로 이 함수를 사용하여 사용자가 키 입.. 2020. 10. 18.
네트워크 관련 API InternetOpenW 1. 실제 악성코드 다운로드 코드 로직 InternetOpenURL 및 InternetReadFile과 같은 WinINet에서 High-Level 인터넷 액세스 기능을 초기화 InternetConnectW 2. 실제 악성코드 다운로드 코드 로직 HTTP,FTP,고퍼의 세션을 생성 HttpOpenRequestW 3. 실제 악성코드 다운로드 코드 로직 서버에 전달한 요구 정보를 만듬, 실제 서버에 전달되지는 않음 InternetQueryOptionW 4. 실제 악성코드 다운로드 코드 로직 InternetSetOptionW 5. 실제 악성코드 다운로드 코드 로직 HttpSendRequestW 6. 실제 악성코드 다운로드 코드 로직 만들어진 요구 사항을 서버에 보냄 HttpQueryIn.. 2020. 10. 14.