시스템 해킹

HW·2024년 11월 21일

시스템 해킹: 컴퓨터 시스템, 네트워크, 또는 애플리케이션의 보안 취약점을 이용해 시스템에 불법적으로 접근하거나 제어하는 행위
->시스템 장악, 데이터 탈취, 시스템의 정상적인 동작 방해

Executable 파일
운영 체제가 실행할 수 있도록 컴파일된 바이너리 파일
리눅스에서는 ELF 포맷 사용
해킹 포인트: ELF 파일 분석을 통해 취약점을 찾아내거나 악성 코드를 삽입

Shell
사용자와 운영 체제 간의 인터페이스를 제공하는 프로그램
공격자가 shell을 통해 원격 시스템에 명령을 입력하고 제어 가능
해킹 포인트: 리버스 쉘, 웹 쉘을 이용해 시스템에 침투하거나 악성 명령 실행

x86-64 아키텍처 & 범용 레지스터
64비트 프로세서 아키텍처로, 16개의 범용 레지스터 사용
데이터를 저장하거나 시스템 흐름을 제어
해킹 포인트: 레지스터 조작을 통해 시스템 제어 흐름 변경

리눅스 메모리 레이아웃
프로그램 메모리 내 배치 방식
주요 영역: 코드 세그먼트, 데이터 세그먼트, 힙, 스택
해킹 포인트: 버퍼 오버플로우 공격으로 스택을 조작해 프로그램 흐름 변경

Calling Convention & Stack Frame
함수 호출 시 매개변수와 반환값을 전달하는 규약
스택 프레임은 함수 호출 시 생성되는 데이터 구조
해킹 포인트: 호출 규약과 스택 프레임 구조를 분석해 취약점 발견

GDB (GNU Debugger)
리눅스에서 사용되는 디버깅 도구
프로그램 실행 추적 및 메모리 상태 분석
해킹 포인트: GDB를 활용해 프로그램 흐름 분석 및 취약점 탐지

ELF (Executable and Linkable Format)
리눅스에서 사용하는 실행 파일 형식
파일 구조는 헤더, 섹션, 세그먼트로 나뉨
해킹 포인트: ELF 파일을 분석해 메모리 취약점을 찾거나 악성 코드 삽입

Context
프로그램 실행 중의 상태 (레지스터 값, 스택 상태 등)
해킹 포인트: 함수 호출 시 컨텍스트 분석을 통해 시스템 흐름 제어 또는 취약점 악용

주요 해킹 기법

버퍼 오버플로우: 메모리 버퍼를 초과하는 데이터를 입력하여 시스템 침해

악성 코드(Malware): 바이러스, 트로이 목마 등 악성 프로그램 삽입

피싱(Phishing): 사용자를 속여 로그인 정보나 민감한 데이터 탈취

권한 상승(Privilege Escalation): 일반 사용자 권한에서 관리자 권한을 탈취

시스템 해킹의 목표

시스템 장악: 관리자 권한을 획득하고 시스템을 제어

정보 탈취: 민감한 데이터나 사용자 정보를 빼냄

서비스 방해: 시스템을 마비시켜 정상적인 서비스 방해

0개의 댓글