반응형

PC리버싱 134

GS (Stack Canary/Cookie)우회

https://dhhd-goldmilk777.tistory.com/170 버퍼오버플로우에대해서 예제 #include #include char password[] = "Dhhd"; int check_password() { char buffer[5]; int flag = 0; printf("password:"); gets(buffer); if (strcmp(buffer, password) == 0) flag = 1;.. dhhd-goldmilk777.tistory.com 버퍼오버플로우참고 https://dhhd-goldmilk777.tistory.com/168 옛날 보다 현재가 리버싱이 더어려운이유들 https://dhhd-goldmilk777.tistory.com/149 visual studio 보안해제하..

옛날 보다 현재가 리버싱이 더어려운이유들

https://dhhd-goldmilk777.tistory.com/149 visual studio 보안해제하기 [GS (Stack Canary/Cookie) 해제법] 프로젝트 속성 -> C/C++ -> 코드 생성 -> 보안 검사 -> 보안 검사 사용 안 함(/GS-) 으로 변경. 함수 프롤로그 이후 스택에 버퍼 할당 전에 랜덤한 값을 Push해 두고, 함수 에.. dhhd-goldmilk777.tistory.com 여러 보호기법들이 보호하기위해 기본적으로 YES로 설정되있다 그렇기떄문에 이보호기법들과 메인함수 숨기기등 여러가지로 현재 컴파일러는 리버싱으로 시작하기에는 별로지만 현재 리버싱을 하기위해서는 꼭한번 해보는걸추천한다 하나씩 기법우회하는법을 만들어볼예정이다

PC리버싱/기타 2020.05.28

실행파일 보호기법들

https://dhhd-goldmilk777.tistory.com/149 visual studio 보안해제하기 [GS (Stack Canary/Cookie) 해제법] 프로젝트 속성 -> C/C++ -> 코드 생성 -> 보안 검사 -> 보안 검사 사용 안 함(/GS-) 으로 변경. 함수 프롤로그 이후 스택에 버퍼 할당 전에 랜덤한 값을 Push해 두고, 함수 에.. dhhd-goldmilk777.tistory.com - GS(SECURE Cookie) : 버퍼 오버플로우방지 - ASLR : 공격자들이 핵심 기능이 메모리의 어디에 위치해있는지 찾기 어렵게 만드는기법 - DEP : 버퍼 오버플로우 공격이 파일이나 데이터를 보유하고 있는 스토리지 영역에서 작동하는 것을 방지하는기법 - SafeSEH :예외핸들러..

PC리버싱/기타 2020.05.28

TLS callback(TLS(Thread Local Storage) 와 isdebuggerpresent)

TLS(Thread Local Storage)는 스레드 별로 고유한 저장공간을 가질 수 있는 방법이다. 악성코드나 패킹에 안티 디버깅 기술로 TLS callback등이있다 디버거가 프로그램을 열면 EP지점에서 멈추는데 TLS callback은 EP전에 실행된다 이걸 이용해 악성코드나 패킹은 디버거 탐지 기술을 넣어둔다 TLS안에 만약 이런한 지식 없다면 안티디버깅하기가 꽤어려울것이다 소스코드 Visual Studio 2019 기준 #define _WIN32_WINNT 0x0500 #include #include #pragma comment(linker, "/INCLUDE:__tls_used") void NTAPI Tls_Callback(PVOID THandle, DWORD Reason, PVOID Res..

IAT/EAT 정리

1 개요 자 이제 IAT와 EAT에 관해서 알아 볼 것이다. 앞 장에서 자세히 설명하지 않고 넘어간 NT Header -> Optional Header -> DataDirectory 멤버의 구조체에서 EXPORT Directory와 IMPORT Directory와 관련된 부분이다. API후킹 방법 중 하나로 활용되므로 꼭 숙지하길 바란다. IAT(Import Address Table)로 쉽게 말해서 프로그램이 어떤 라이브러리에서, 어떠한 함수를 사용하는지 적은 메모장이라 생각하면 된다. IAT의 원리를 알기 위해선 DLL에 대한 개념이 필수적이다. DLL이란, 여러 프로세스에서 공유하면서 쓰는 라이브러리인데 멀티태스킹 환경에서는 각 프로세스마다 라이브러리를 가지고 그 용량을 차지하는 것 보다, 메모리에 ..

반응형