일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 윈도우 커널 드라이버
- C언어 패킷캡쳐
- vcruntime140.dll
- apphelp.dll
- 시스템해킹
- vcruntime.dll
- Windows Kernel
- Windows Kernel Driver
- pcap packet capture
- 해킹
- windows kernel debugging
- Msvcrt.dll
- 포너블
- Windows
- 개발하기
- pwnable
- 개발 환경 준비
- 바이트 오더
- arudino
- hacking
- HackCTF
- 윈도우 커널 디버깅
- IAT Hooking
- 윈도우 커널
- packet capture
- Windows Kernel Debug
- 네트워크 바이트 오더
- pcap packet
- Network Byte Order
- ucrtbase.dll
- Today
- Total
목록Reversing (24)
미친해커
IAT HookingIAT(Import Address Table) Hooking 이란 IAT에 적혀있는 API의 주소를 조작하여 후킹하는 기법을 말한다. IAT에는 응용 프로그램이 호출하는 API의 함수명, 함수 주소 등이 기록되어 있다. 해당 응용 프로그램은 이 테이블을 참조하여 함수를 호출한다. IAT Hooking은 이 원리를 이용한 후킹 기법이다.IAT StructureIMAGE_IMPORT_DESCRIPTOR의 OriginalFirstThunk, Name, FirstThunk에는 직접적인 주소가 아니라 RVA가 들어가 있다.이 외에 IMAGE_THUNK_DATA의 AddressOfData도 RVA이다. RVA란 Relative Virtual Address의 약자이다. RVA를 VA(Virtual..
DLL Injection에 관한 글을 쓰면서 만든 코드와 실행파일은 아래 github에 src 폴더에 모두 넣어두었다. GitHub - jungjin0003/DLL-Injection: DLL Injection DLL Injection. Contribute to jungjin0003/DLL-Injection development by creating an account on GitHub. github.com DLL Injection은 DLL Injector와 DLL만 존재하면 되기 때문에 벌써 마지막 Step이다. 이제 완성된 DLL Injector와 DLL을 사용해 notepad에 DLL Injection을 시도하고 메시지 박스가 정상적으로 띄워지는 것을 확인하면 DLL Injection 성공이다. PS..
이번엔 DLL Injection에 사용할 DLL을 제작해볼거다. 이 카테고리는 DLL Injection에 대해서만 서술할 것이기 때문에 이번에 제작할 DLL은 간단하게 DLL Injection에 성공시 메시지 박스를 띄워주는 DLL을 만들어볼 것이다. 사용할 API 함수는 다음과 같다. MessageBoxA function (winuser.h) - Win32 apps Displays a modal dialog box that contains a system icon, a set of buttons, and a brief application-specific message, such as status or error information. The message box returns an integer va..
DLL Injection을 하기 위해서 DLL Injector가 필요하다. DLL Injector란 다른 프로세스에 DLL Injection을 하게해주는 프로그램이다. DLL Injection을 하기위해 DLL Injector는 다음과 같은 함수들을 사용한다. OpenProcess function (processthreadsapi.h) - Win32 apps Opens an existing local process object. docs.microsoft.com VirtualAllocEx function (memoryapi.h) - Win32 apps Reserves, commits, or changes the state of a region of memory within the virtual addre..
DLL Injection 이란 다른 프로세스에 DLL을 강제로 로드시키는 기술을 말한다. CreateRemoteThread function (processthreadsapi.h) - Win32 apps Creates a thread that runs in the virtual address space of another process. docs.microsoft.com LoadLibraryA function (libloaderapi.h) - Win32 apps Loads the specified module into the address space of the calling process. docs.microsoft.com LoadLibraryW function (libloaderapi.h) - Win3..
이제부터 본격적으로 프로그래밍뿐만 아니라 해킹과 관련된 글도 포스팅하려고 한다. 모든 내용은 필자가 공부한 내용을 바탕으로 서술되며 내가 해킹을 배우고 싶어하는 친구들에게 가장 알려주고 싶은 기술을 API Hooking이다. 나는 후킹을 책으로 배우지 않고 실제 실습 또는 해외 포럼과 악성코드 분석 등을 통해 배웠기 때문에 정통 후킹 방식과는 차이가 있을 수 있음을 미리 알린다. What is the hooking? 특정 함수가 호출되었을 때 함수의 제어권을 가로채는 행위를 뜻한다. 즉 특정 함수가 호출되었을 때 함수 호출, 메시지, 이벤트 또는 반환 값, 인자 등을 조작할 수 있다. 그리고 이를 가능캐 해주는 기술이 후킹이다. 우리는 이것을 API Hooking 이라고 부른다. Types of hook..