일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 윈도우 커널 드라이버
- ucrtbase.dll
- 해킹
- 개발 환경 준비
- Network Byte Order
- Windows Kernel Driver
- windows kernel debugging
- arudino
- vcruntime.dll
- vcruntime140.dll
- 윈도우 커널 디버깅
- Windows
- 개발하기
- C언어 패킷캡쳐
- Windows Kernel Debug
- 포너블
- Windows Kernel
- 윈도우 커널
- IAT Hooking
- pcap packet
- hacking
- 바이트 오더
- pwnable
- HackCTF
- pcap packet capture
- apphelp.dll
- 네트워크 바이트 오더
- packet capture
- 시스템해킹
- Msvcrt.dll
- Today
- Total
목록분류 전체보기 (118)
미친해커
IAT Hooking 응용 UserMode에서의 Hooking은 여러 다른 기술들과 함께 응용하여 사용할 수 있다. DLL Injection + IAT Hooking 조합으로 실제 프로그램을 대상으로 Hooking을 진행해 보자 필요한 바이너리 1. DLL Injector // File : Injector.c #include #include #define DesiredAccess (PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_QUERY_INFORMATION | PROCESS_CREATE_THREAD) LPCSTR GetBaseName(LPCSTR path) { ssize_t length = strlen(path); for (; ..
이번에는 본격적으로 IAT 후킹을 시도할 생각이다. 우리가 저번 포스팅에서 해당 함수의 IAT 주소를 구하는 부분까지 프로그래밍을 했었다. 그렇다면 이제 남은 단계는 딱 한가지이다. 해당 주소에 있는 주소 값을 후킹 함수의 주소로 바꾸면 후킹이 완료된다. 후킹을 하기 전에 후킹(제어권을 가로챌) 함수를 먼저 만들어야한다. 포스팅에서는 MessageBoxA 라는 함수를 대상으로 후킹을 할 것이다. 함수를 정했다면 그 함수의 호출 인자에 대한 구조를 알고 있어야 한다. (반드시 알아야 할 필요는 없다) MessageBoxA의 대한 정보는 MSDN에서 찾을 수 있다. MessageBoxA function (winuser.h) - Win32 apps Displays a modal dialog box that c..
근 5일간 아두이노와 SD카드 모듈을 연결하고 코드를 작성하는 방법까지 공부를 하고 있었다. 그런데 연결하는 것과 코드에서 이해가 되지 않는 부분이 있어 계속 찾아보고 공부하느라 블로그 작성이 늦었다. SD카드 모듈은 SPI 통신을 한다. SPI 통신을 위해서는 MOSI, MISO, SCK, CS 핀을 사용해야한다. 여기서 아두이노 우노는 SPI 통신을 지원한다고 했는데 핀 번호가 고정되어있다. MOSI : pin 11 MISO : pin 12 CLK : pin 13 CS : pin 4 해당 번호에 맞춰서 아두이노에 연결해줘야한다.
한동안 블로그 활동이 좀 뜸했다... 교육도 받고 공부도 하고 새해라서 친구들과도 만나느라 시간이 없다고 말하면 핑계지만 시간이 없었다 라고 밖에 말을 못하겠다. 내 블로그를 전부 본 사람이라면 알겠지만 LoRa를 활용해 인트라넷을 만든다는 프로젝트를 시작했다. 인트라넷의 첫번째 목표가 웹 서버와 웹 브라우저를 만드는건데 웹 서버가 HTML, JS, CSS 파일 전송을 SD카드에서 읽어 전송하기 위해서 SD 카드를 사용하는 방법을 포스팅할 예정이다. 이번 포스팅에서는 SD카드 모듈에 대한 기본적인 지식을 배워보자. SD카드는 SPI 통신을 사용한다(필자도 아직 잘 모른다) 아두이노는 SPI 통신을 지원하기 때문에 큰 문제없이 SPI 통신을 사용하는 모듈들을 사용할 수 있다. 포스팅에 사용하는 모듈은 다음..
이번 포스팅부터 본격적으로 IAT Hooking에 대해서 알아보도록 하자 [Reversing] IAT Hooking Step 0 IAT(Import Address Table) Hooking 이란 IAT에 적혀있는 API의 주소를 조작하여 후킹하는 기법을 말한다. IAT에는 응용 프로그램이 호출하는 API의 함수명, 함수 주소 등이 기록되어 있다. 해당 응용 프로그 crazyhacker.tistory.com 저번 포스팅에서 간단히 PE 구조와 IAT의 구조에 대해서 배웠었다. 이번엔 IAT에서 등록되어 있는 함수들의 이름과 주소를 불러오는 프로그램을 만들어보도록 한다. Source Code #include #include int main(int argc, char *argv[]) { // 현재 프로그램의 ..
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..