반응형

2024/12/26 5

44. InjDll.exe-DLL 인젝션 전용 도구

InjDll.exe실습예제에서 자주소개되는 프로그램임Windows 2000이상의 운영체제만 지원 https://github.com/reversecore/book/tree/master/%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C/05_64%EB%B9%84%ED%8A%B8_%26_Windows_Kernel_6/44_InjDll.exe_-_DLL_Injection_%EC%A0%84%EC%9A%A9_%EB%8F%84%EA%B5%AC/bin book/실습예제/05_64비트_&_Windows_Kernel_6/44_InjDll.exe_-_DLL_Injection_전용_도구/bin at master · reversecore/book리버싱 핵심원리 - 소스 코드 및 실습 예제. Contribute ..

43. DLL Injection in Kernel 6

CreateRemoteThread() API사용하는 방법은 xp에서는 잘 되는데 7에서는 다르게 동작함 그래서 DLL 인젝션이 안된다..왜냐면 세션관리 정책이 변경되었기때문https://github.com/reversecore/book/tree/master/%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C/05_64%EB%B9%84%ED%8A%B8_%26_Windows_Kernel_6/43_DLL_Injection_in_Kernel_6/bin book/실습예제/05_64비트_&_Windows_Kernel_6/43_DLL_Injection_in_Kernel_6/bin at master · reversecore/book리버싱 핵심원리 - 소스 코드 및 실습 예제. Contribute to r..

42. Session in Kernel 6

Windows OS kernel 6에서 변경된 세션 관리 정책세션 관리 정책 변화Windows Kernel 6부터 세션 관리 정책이 변경그래서 서비스 프로그램에서 사용자 인터페이스(예: 다이얼로그 출력)나 사용자와의 메시지 통신이 XP처럼 정상적으로 동작하지 않게되었다개발 영향특히 사용자와 인터랙티브한 동작을 시도하는 서비스 프로그램이 영향XP에서 정상적으로 동작하던 서비스가 Vista나 7에서 문제를 일으킬 수 있게됨리버싱 관점의 중요성기존에 널리 사용되던 CreateRemoteThread() API를 통한 DLL 인젝션이 서비스 프로세스에서는 더 이상 작동하지 않는다..일반 프로세스에서는 여전히 동작하지만, 서비스 프로세스에는 제한이 생김 세션이란?간단하게 하면 로그온 사용자 환경을 의미한다.대부분 ..

41. ASLR

ASLR이란?PE파일이 메모리에 로딩될 때 로딩 시작 주소 값을 랜덤하게 바꾸는 것이다. 학교 운영체제때 배운내용으로는.. 지역주소로 계속 똑같이 보이게되면 공격자에게 당하기 쉬워져 ASLR이 보안측면에 사용된다고 했었음책에도 비슷하게 exploit code작성을 어렵게 하기 위해 사용되었다고 함 모든 실행파일에서 적용되는 기술은 아니고 운영체제의 Kernel Version이 6이상이어야하고, 개발 도구에서 /DYNAMICBASE 옵션을 지원해야된다고 한다.비주얼스튜디오에서 확인한건데디버그 > 속성에서 위와같은 화면이 나오면 링커 > 고급에서 임의 기준 주소를 설정하면 된다.윈보운 과제할때는 편하게 하려고 꺼두고 했던..  아래에서 파일을 받아서 실습을 진행해보았다.https://github.com/re..

40. 64비트 디버깅

x64환경에서는 32비트랑 64비트 운영체제 모두 설치 가능하다. 사용 가능한 디버거는 아래와 같음OSPE32PE32+32bitOllyDbgIDA ProWinDbgIDA Pro(disassemble only)64bitOllyDbgIDA ProWinDbgIDA ProWinDbg 64비트 디버깅WOW64Test_x64.exe파일 디버깅 실습#include "stdio.h"#include "windows.h"#include "Shlobj.h"#include "tchar.h"#pragma comment(lib, "Shell32.lib")int _tmain(int argc, TCHAR* argv[]) { HKEY hKey = NULL; HANDLE hFile = INVALID_HANDLE_VALUE; ..

반응형