반응형

공부해요 93

34. 고급 글로벌 API 후킹 - IE 접속 제어

후킹 대상 API 후킹 대상이 되는 API는 주로 프로세스의 동작을 제어하거나 모니터링하는 데 사용됨. 예를 들어, wininet.dll의 InternetConnectW() API는 인터넷 연결을 설정하는 데 사용되며, 이를 후킹함으로써 특정 사이트로의 접속을 가로채거나 리디렉션할 수 있음. 또한, ntdll.dll의 ZwResumeThread()는 스레드를 재개하는 함수로, 이를 후킹하여 프로세스의 실행 흐름을 제어하거나 악성 스레드의 행동을 조작할 수 있음. 이러한 API 후킹을 통해 특정 웹사이트 접속을 차단하거나 리디렉션하고, 접속 관련 정보를 수집하는 등의 작업을 할 수 있음. IE 접속 제어의 경우, wininet.dll의 InternetConnectW()와 ntdll.dll의 ZwResume..

33. '스텔스' 프로세스

API코드 패치는 프로세스 메모리에 로딩된 라이브러리 이미지에서 후킹을원하는 API 코드 자체를 수정하는 방법API코드 패치는 프로세스 메모리에 로딩된 라이브러리 이미지에서 후킹을원하는 API 코드 자체를 수정하는 방법임API 후킹에서 가장 널리 사용되는 방법 왤까.. 대부분의 API를 후킹할 수 있으니까  API 후킹과 프로세스 은닉API 후킹의 기본API 후킹은 시스템 API 호출을 가로채 동작을 변조하거나 데이터를 필터링하는 기술이다.운영 체제는 API를 통해 시스템 정보를 제공하며, 후킹 기술을 사용하면 이러한 정보의 결과를 조작할 수 있다.ZwQuerySystemInformation API 후킹ZwQuerySystemInformation API는 시스템의 프로세스 정보를 반환하는 데 사용되는 대..

파일 시스템 관리 퀴즈

1. 파일 시스템 메타정보와 파일 메타 정보의 차이를 다루는 정보의 관점에서 간단히 서술하시오파일 시스템 메타 정보는 시스템 전체네 관한 정보를 다루고 파일 메타정보는 파일에 관한 정보를 다룬다.2. 하드링크와 소프트링크 설명으로 옳은 것을 모두 고르시오.a. 원본파일과 하드링크 파일은 동일한 아이노드 번호를 공유한다.b. 소프트링크는 심볼릭 링크로도 불린다.c. 심볼릭링크는 바로가기 역할을 한다.a, b, c3. 유닉스 파일 시스템에서 i-node는 몇개의 인덱스를 가지는가?15개

파일 시스템 관리

파일 시스템과 관리 파일사용자/응용 프로그램 관점- 정보를 저장하고 관리하는 논리적인 단위컴퓨터 시스템 관점- 정보를 저장하는 컨테이너- 저장된 0과 1의 데이터 덩어리, 바이트의 시퀀스- 영구 저장 장치나 일시 저장 장치에 저장 운영체제의 역할- 파일의 생성, 읽기, 기록 등 모든 과정 제어- 응용 프로그램은 운영체제 없이 파일을 다루는 것은 불가능 하드 디스크 장치의 구조스핀들 모터: 플래터 회전 장치논리보드: 시스템의 입출력 연결회로베이스: 하드디스크 몸체파킹 램프: 헤드 주차 장치헤드: 데이터 기록 판독 장치플래터: 데이터 저장 공간 하드 디스크 장치의 구조하드디스크는 호스트 컴터랑 입출력 버스로 연결되어있다. 하드디스크 내에는 디시크 제어 모듈이랑 디스크 매체 모듈이 잇고 디스크 제어 모듈에는 ..

32. 계산기, 한글을 배우다

API 후킹 기법 중 DLL 인젝션 기법이 있음 프로세스에 인젝션된 DLL 파일은 IAT를 후킹해 프로세스에서 호출되는 특정 API의 기능을 변경한다. windows 계산기 프로세스에 사용자 DLL파일을 삽입해서 IAT의 use32 SetWindowTextW() API 주소를 후킹함 후킹당하면 숫자를 한글로 출력.. API 후킹 기법하기로 했으면 후킹 대상 API를 선정해야된다. 그러려먼 후킹을 원하는 기능을 제공하는 API를 찾는거는 어렵다..파일 생성: kernel32!CreateFile()레지스트리 생성: advapi32!RegCreateKeyEx()네트워크 접속: kernel32!ws2_32!connect()올리디버거로 열어서보면 일케 두개 API 찾을 수 있음 저 젤위에거랑 맨아래 text드간거..

31. 디버거 이야기

OllyDbg http://www.ollydbg.de OllyDbg v1.10www.ollydbg.de편리하고 가볍고 빠르고 무료임 근데 32비트에서만 됨 IDA Pro http://www.hex-rays.com/idapro ida-proDiscover IDA Pro, the industry standard for code analysis and vulnerability research. Powerful disassembler, debugger, and decompiler in one tool. Get started now!hex-rays.com현재 최고의 디스어셈블러 디버건데 비쌈 복잡함 초기 로딩 시간도 많이걸림 WinDbg https://learn.microsoft.com/ko-kr/windows-..

30. 메모장 WriteFile() 후킹

디버거(Debugger) - 디버깅 프로그램 디버기(Debuggee) - 디버깅 당하는 프로그램 디버거 기능 디버기가 올바르게 실행되는지 확인하고 예상치 못한 프로그램의 오류를 발견하는 것 디버거의 동작 원리 디버거 프로세스로 등록되면 운영체제는 디버기에서 디버그 이벤트가 발생할 때 디버기의 실행을 멈추고 해당 이벤트를 디버거에게 통보 exception도 디버그 이벤트에 해당된다. 만약에 디버깅 중 아니였으면 그냥 자체예외처리 아니면 OS의 예외 처리 루틴이 됨. 디버그 이벤트 종류 • EXCEPTION_DEBUG_EVENT: 요게 디버깅 관련 이벤트.. • CREATE_THREAD_DEBUG_EVENT • CREATE_PROCESS_DEBUG_EVENT • EXIT_THREAD_DEBUG_EVENT •..

29. API 후킹: 리버싱의 '꽃'

후킹? 정보 가로채기, 실행 흐름 변경하기 -> 원래와는 다른 기능을 제공함 후킹의 과정 - 디스어셈블러/디버거를 이용해 프로그램의 구조와 동작 원리를 파악 - 버그 수정 또는 기능 개선에 필요한 훅(Hook) 코드를 개발 - 실행 파일과 프로세슷 메모리를 자유롭게 조작해 훅 코드 설치 Win32 API를 후킹하는걸 API 후킹이라 함. 메시지 후킹이랑 같이 젤 많이 사용된다. API란? 애플리케이션이 시스템 자원을 쓰려면 시스템 커널에 요청해야됨. 이 때 Win32 API를 이용한다. 실제 애플리케이션 코드 실행하려면 DLL 로딩되는데 모든 프로세스에는 기본적으로 kernel32.dll이 로딩되고 이거는 ntdll.dll을 로딩시킨다. API 후킹 Win32 API 호출을 중간에서 가로채서 제어권을 얻..

가상메모리 퀴즈

1. 페이지 폴트가 계속 발생하여 메모리 프레임에 페이지가 반복적으로 교체되고 디스크 입출력이 증가해 CPU 활용률이 떨어지는 것을 무엇이라 하는가?더보기스래싱 2. 페이지 폴트가 일어나는 이유가 무엇인가?더보기CPU가 액세스 하려는 페이지가 물리 메모리에 없어서 3. LRU를 구현하는 방식에 대한 설명으로 올바르지 않은 것은?① 페이지 번호를 스택에 넣어서 순서를 결정한다.② 카운터를 통해 각 페이지 항목에 사용 시간 레지스터를 붙이고 프로세스의 클록을 기준으로 사용 시간 레지스터를 업데이트해 가장 오래된 페이지를 찾는다③ 페이지마다 참조비트를 사용해 왼쪽으로 쉬프트하여 최근의 페이지를 찾는다.④ MFU는 가장 많이 사용한 페이지를 대치한다.⑤ 하드웨어적으로 구현이 어려운 경우, 모든 페이지에대해 참조..

가상메모리

가상 메모리 개념주소 공간과 물리 메모리 크기의 한계.. 큰 프로그램의 실행시 문제점?- 큰 프로세스가 물리 메모리 보다 큰 경우에..- 여러 프로세스들을 합친 크기가 물리 메모리보다 큰 경우에.. 가삼 메모리 개요가상 메모리가 왜 필요한가? 물리 메모리 한계를 극복하는 해결책이 됨가상 메모리 기법 핵심- 물리 메모리를 디스크 공간으로 확장: 프로세ㅐ스를 물리 메모리랑 보조기억장치에 나눠서함. 프로세스한테 큰 공간있는것처럼 착각 시킴- 스와핑: 물리 메모리가 부족할 대 실행에 필요하지 않은 부분은 디스크로 이동시킴, 실행 필요할때만 메모리로 이동 복습은 여까지만.. 가상 메모리 어떻게 구현하는가 -요구 페이징(demand paging)페이징 기법 토대로 프로세스의 일부 페이지들만 물리 메모리에 할당하고,..

반응형