반응형

전체 글 331

[Dreamhack(드림핵)] Write up _ rev-basic-3

https://dreamhack.io/wargame/challenges/17 rev-basic-3Reversing Basic Challenge #3 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io리버싱 문제 풀고싶은데 써니나타스 못풀고 넘어옴 흑흑 문제 파일 받으니까 실행파일 하나 있음올리디버거로 열라했다가 64비트길래 x64dbg로 열었음문자열 correct찾아서 메인함수 찾을수 있다는데 난 그냥 처음 시작점 부터 F8로 넘기면서 Input: 문자열 출력될때까지 넘기고 출력되는 부분의 call 함수 안으로 들어가서 찾았다. 내가 한대로 걍 f8로 ..

[Dreamhack(드림핵)] Write up - session-basic

https://dreamhack.io/wargame/challenges/409 session-basicDescription 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 플래그 형식은 DH{...} 입니다. Reference Background: Cookdreamhack.io admin으로 로그인하면 된다고 한다.  일단 드가서 admin admin으로 해봤는데 틀림개발자 모드 켜보았다. 코드에 default가 guest로 되어있어서 guest 아이디 비번에 쳐서 로그인 해보았다. 일케 나옴 일케 나옴 user로도 로그인 해보면일케 뜬다 admin도 비밀번호만 알아내면 풀 수 있는 듯admin은 비밀번호가 FLAG다a..

[IGLOO]Linux Kernel 내 Use-After-Free 취약점 (CVE-2024-1086) 분석 및 대응방안

https://www.igloo.co.kr/security-information/linux-kernel-%eb%82%b4-use-after-free-%ec%b7%a8%ec%95%bd%ec%a0%90cve-2024-1086-%eb%b6%84%ec%84%9d-%eb%b0%8f-%eb%8c%80%ec%9d%91%eb%b0%a9%ec%95%88/ Linux Kernel 내 Use-After-Free 취약점 (CVE-2024-1086) 분석 및 대응방안01. Use-After-Free 취약점 개요 Use-After-Free(UAF)는 메모리 할당 후 해제된 메모리를 사용하여 발생하는 메모리 손상(Memory Corruption)취약점으로 주로 힙 메모리(Heap Memory)에서 발생한다. 힙(Heap)은 컴퓨터..

50. 안티 디버깅

안티 디버깅을 공부해야 하는 이유1. 각종 안티 디버깅 기법들의 동작 원리를 파악한 후 회피하기 위해서2. 안티 디버깅 기법을 공부하는 과정에서 저절로 고급 리버싱을 배울 수 있음 안티 디버깅 기법이란?고급리버싱 과정디버거와 OS에 강한 의존성이 有 (특정 운영체제에만 동작 or  디버거 종류에 따라 안티 디버깅 기법 상이) 안티 안티 디버깅 기법안티 디버깅을 상대하는 방법 안티 디버깅 분류Static이랑 Dynamic으로 분류Static은 디버깅 시작 시 한 번만 해체해주면 해결되지만 dynamic 기법은 디버깅 진행하면서 안티 디버깅을 만날 때마다 해결해야하므로 난이도가 高 StaticDynamic난이도Low, MediumHigh구현 원리다양한 시스템 정보 활용디버거의 동작 원리 역이용목적디버거 탐지..

49. IA-32 Instruction

IA-32 InstructionInstruction이란 CPU가 알아들을 수 있는 기계어 이다. 명령어 라는거..IA-32 Instruction는 IA-32 계열의 CPU에서 사용되는 명령어를 말하는 것임여기에서 두번째 칸에 보이는 E8 CC27000이나 55이런거가 모두 IA-32 Instruction이다 프로그래밍 언어로 작성된 코드는 컴퓨터가 알아들을 수 있게 compile/Link과정을 거쳐서 위에 형식으로 변환해야된다.  용어정리용어설명Macine Language기계어, CPU가 해석할 수 있는 Binary코드Instruction하나의 기계 명령어 단위OpCodeOperation Code, Instruction 내의 실제 명령어Assembly어셈블리 프로그래밍 언어Assemble어셈블리 코드를 ..

48. SEH

SEH란?Windows 운영체제에서 제공하는 예외 처리 시스템소스코드에서 __try, __except, __finally 키워드로 구현 가능 SEH 예제 실습 #1https://github.com/reversecore/book/blob/master/%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C/06_%EA%B3%A0%EA%B8%89_%EB%A6%AC%EB%B2%84%EC%8B%B1/48_SEH/bin/seh.exe book/실습예제/06_고급_리버싱/48_SEH/bin/seh.exe at master · reversecore/book리버싱 핵심원리 - 소스 코드 및 실습 예제. Contribute to reversecore/book development by creating an ac..

47. PEB

PEB란?프로세스의 정보를 담고 있는 구조체방대한 크기문서화 된 내용 PEB 접근 방법앞에 TEB설명가지고 생각해보면 FS:[30] = TEB.ProcessEnvironmentBlock = address of PEB 이런 공식을 구할 수 있다. 이 공식을 어셈블리 코드로 만들어보면방법1. 바로 PEB 주소 구하는 방법MOV EAX, DWORD PTR FS:[30]            ; FS[30] = address of PEB 방법2. TEB 주소 구하고 ProcessEnvironmentBlock멤버를 이용하는 방법MOV EAX, DWORD PTR FS:[18]             ; FS[18] = address of TEB MOV EAX, DWORD PTR DS:[EAX+30]           ..

46. TEB

TEB란?프로세스에서 실행되는 스레드에 대한 정보를 담고 있는 구조체스레드 별로 TEB 구조체가 하나씩 할당됨.TEB 구조체는 OS 종류별로 모양이 달라짐 TEB 구조체 정의typedef struct _TEB { BYTE Reserved1[1952]; PVOID Reserved2[412]; PVOID TlsSlots[64]; BYTE Reserved3[8]; PVOID Reserved4[26]; PVOID ReservedForOle; PVOID Reserved5[4]; PVOID TlsExpansionSlots;} TEB, *PTEB;MSDN의 TEB 구조체 설명이다.구조체 내용을 자세히 보기 위해 WinDbg사용(커널 디버거 사용) WinDbg로 비교해보면 W..

45. TLS 콜백 함수

TLS 콜백 함수란?EP 코드보다 먼저 실행됨 EP코드보다 먼저 실행된다는 특징때문에 안티 디버깅에 사용할 수 있다. 실습..https://github.com/reversecore/book/tree/master/%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C/06_%EA%B3%A0%EA%B8%89_%EB%A6%AC%EB%B2%84%EC%8B%B1/45_TLS_Callback_Function/bin book/실습예제/06_고급_리버싱/45_TLS_Callback_Function/bin at master · reversecore/book리버싱 핵심원리 - 소스 코드 및 실습 예제. Contribute to reversecore/book development by creating an acc..

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 ..

반응형