본문 바로가기

전체 글

(49)
Windows 수동으로 Driver Entry 찾기 Driver Entry 윈도우 드라이버를 리버스 엔지니어링할 때 우선적으로 살펴보아야 할 부분 중 하나는DriverEntry가 되겠다. DriverEntry는 드라이버가 로드될 때 처음 실행되는 함수이며항상 프로그램의 시작점이 되는 main 함수부터 살펴보듯이 커널 드라이버도 DriverEntry부터 살펴보면서 드라이버 초기화 과정과 주요 핸들러 등록 (dispatch table) , 드라이버가 어떤 기능을 하는지, 어떤 IOCTL 코드나 함수 포인터를 설정하는지 확인할 수 있다. 악성 드라이버의 경우 DriverEntry에서 보안 소프트웨어를 우회하거나 SSDT(System Service Descriptor Table) 후킹을 수행 할 수도 있기 때문에초기화 과정을 살펴볼 필요가 있다. 마침 동적으로 ..
[ARM] 함수 호출 규약 함수 호출 규약 (Calling Convention) 이란? 함수 호출 규약은 함수 호출 시 인자를 전달하는 방식, 반환 값을 처리하는 방법, 호출자의 스택 정리 방식 등을 정의하는 규칙이다.이는 운영체제와 컴파일러 언어에 따라 다양하게 호출 규약이 존재한다. ARM 어셈블리 명령에서 레지스터로 연산의 결과를 임시로 저장하는 역할을 한다.이때 각 레지스터의 역할, 순서에 대해 이해하는 것이 중요하다. 함수 호출 규약은 CPU 아키텍처(x86 , x86-64) 및 운영체제 (Windows , Linux)에 따라 다르게 적용된다. 32bit(x86)와 64비트(x86-64) 기준으로 차이점을 정리하면 다음과 같다. 32비트 (x86)64비트 (x86-64)레지스터EAX, EBX, ECX, EDX, ESI, ..
Hyper-V windbg 원격 디버깅 설정 Hyper-V에서 windbg 설정 VM으로 윈도우 커널 원격 디버깅을 하기 위해서 설정을 하려 하는데Hyper-V 2세대 가상머신에서는 설정 창에서 COM 포트 장치가 보이지 않는다. 검색을 해보니 Powershell 명령으로 COM 포트를 활성화시켜줘야 한다.   1. VM 종료기존 Virtual Machine을 종료한다   2. 호스트 PC 설정호스트 PC에서 Powershell 관리자 권한 실행하여 다음과 같은 명령어를 실행한다. 우선 가상 컴퓨터 보안 부팅 옵션을 해제해야한다. set-vmfirmware [가상 컴퓨터 이름] -enablesecureboot offset-vmfirmware Windows10 -enablesecureboot off    가상컴퓨터 파이프 주소를 지정하기 위해 다음 ..
2025 정보처리기사 노트 1.  소프트웨어 설계 1) 소프트웨어 생명주기소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등 과정을 각 단계별로 나눈 것쉽게 말해 요리를 하는 방법을 소프트웨어 생명주기에 비유할 수 있다.생명주기 모형 - 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형 2) 소프트웨어 공학소프트웨어 위기를 극복하기 위한 방안으로 연구된 학문, 도구, 관리기법 등을 통하여 품질과 생산성을 향상소프트웨어 공학의 기본 원칙1) 현대적인 프로그래밍 기술을 계속적으로 적용2) 개발된 소프트웨어 품질이 유지되도록 지속적으로 검증3) 소프트웨어 개발 관련사항 및 결과에 대한 명확한 기록을 유지 ※ 소프트웨어 위기 : 하드웨어 개발속도를 소프트웨어가 따라가지 못하는 것 -> 사용자의 요구사항을 감당할 수없음  3)..
Practical Malware Analysis [Lab 1-3] Short bio분석 환경Windows XP 샘플 파일1Lab01-03.exe Questions1) VirusTotal Detections? 2) Packed/Obfuscated? 3) Import Hints? 4) Host/Network Based Indicators? 1) VirusTotal Detections?FileNameLab01-03.exeMD59c5c27494c28ed0b14853b346b113145 SHA-256 7983a582939924c70e3da2da80fd3352ebc90de7b8c4c427d484ff4f050f0aec Detection ratio66/73Creation Time2011-03-26 06:54:39 UTC 2) Packed/Obfuscated?Lab01-02.ex..
Practical Malware Analysis [Lab 1-2] Short bio분석 환경Windows XP 샘플 파일1Lab01-02.exe Questions1) VirusTotal Detections?2) Packed/Obfuscated?3) Import Hints?4) Host Based Indicators? 1) VirusTotal Detections? FileNameLab01-02.exeMD5 8363436878404da0ae3e46991e355b83 SHA-256c876a332d7dd8da331cb8eee7ab7bf32752834d4b2b54eaa362674a2a48f64a6 Detection ratio59/72Creation Time 2011-01-19 16:10:41 UTC 2) Packed/Obfuscated?Lab01-02.exe2011-01-..
Practical Malware Analysis [Lab 1-1] Short bio분석 환경Windows XP 샘플 파일1Lab01-01.exe2Lab01-01.dll Questions1) VirusTotal Detections?2) Compilation Date?3) Packed/Obfuscated?4) Import Hints? 5) Host Based Indicators? 6) Network Based Indicators? 7) Suggested Purpose? 1) VirusTotal Detections? FileNameLab01-01.exeMD5bb7425b82141a1c0f7d60e5106676bb1 SHA-256 58898bd42c5bd3bf9b1389f0eee5b39cd59180e8370eb9ea838a0b327bd6fe47 Detection ratio ..
Windows Driver 개발환경 셋팅과 간단한 디버그 프린트 출력 Windows Driver?Windows 운영 체제와 하드웨어 간의 통신을 가능하게 하는 소프트웨어 구성요소이며운영 체제의 커널 모드에서 실행되며 하드웨어 장치의 기능을 제어하고 관리할 수 있다. 주로 하드웨어 장치의 작동을 제어하며 키보드, 마우스, 프린터  동작을 제어하는각각의 드라이버들이 시스템에 존재한다. 운영체제와 하드웨어 간의 인터페이스를 제공하므로 응용 프로그램이 하드웨어를 직접 제어하지 않고운영체제를 통해 간접적으로 제어할 수 있다. 입출력 (I/O) 요청을 처리하여 운영 체제와 하드웨어 간의 데이터 전송을 관리한다.일반적으로. sys 확장자를 가진다.  Driver 개발 시 고려 사항드라이버는 커널 모드에서 실행되므로 오류가 발생하면 시스템 전체가불안정해질 수 있으므로 철저한 테스트와 디..