보안
-
dreamhack stage 3 - Tool:gdb보안/SYSTEM HACKING 2024. 3. 15. 13:02
STAGE 3 Tool:gdb 1. 디버거 버그(bug): 실수로 발생한 프로그램의 결함 디버거(Debugger) : 버그를 없애기 위해 사용하는 도구 만든 배경: 버그를 잡는 어려움을 해결하기 위해 개발된 도구 작동 과정: 프로그램을 어셈블리 코드 단위로 실행 + 실행 결과를 사용자에게 보여줌 -> 개발자는 디버거를 사용해 코드의 문제점을 찾을 수 있다. 그런데, 디버거로 인해 누구나 버그 탐색의 효율을 높일 수 있게 되었지만 버그 발견이 쉬워지면서 해커들은 취약점을 발견하기 쉬워졌다. 2. gdb & pwndbg 2-1. 정의와 설치, 예제 gdb (GNU debugger) : 리눅스의 대표적인 디버거 - 다양한 플러그인들이 개발되었고 Ubuntu 18.04에는 기본적으로 설치되어 있다. ..
-
dreamhack stage 2 - x86 Assembly보안/SYSTEM HACKING 2024. 3. 15. 12:46
STAGE 2 x86 Assembly x86 Assembly:Essential Part(1) 0. 서론 기계어(Machine Code)라는 언어가 있다. 시스템 해커는 컴퓨터의 언어로 작성된 소프트웨어에서 취약점을 발견해야 한다. 그런데 기계어는 0과 1로만 구성되어있어 이해하기 어렵다. --> David Wheeler 가 EDSAC을 개발하면서 어셈블리 언어와 어셈믈러를 고안했다. 어셈블러는 어셈블리어로 코드를 작성하면 컴퓨터가 이해할 수 있는 기계어로 코드를 치환해준다. --> 기계어를 어셈블리 언어로 번역하는 역어셈블러를 개발했다. 기계어로 구성된 소프트웨어를 역어셈블러에 넣으면 어셈블리 코드로 번역된다. 1. 어셈블리어와 x86-64 어셈블리 언어 : 컴퓨터의 기계어와 치환되는 언어 - 기계어..
-
dreamhack stage 2 - Computer Architecture보안/SYSTEM HACKING 2024. 3. 15. 11:44
STAGE 2 Computer Architecture Background: Computer Architecture 0. 서론 컴퓨터 구조, 명령어 집합 구조, 인텔의 x86-64에 대해 알아볼 예정 컴퓨터 과학을 배워야 하는 이유 시스템 해킹의 기술은 컴퓨터 과학에 뿌리를 두고 있다. 컴퓨터는 여러 부품의 도움으로 작동한다. CPU: 컴퓨터의 작동에 핵심이 되는 연산 처리 저장장치: 데이터를 저장 GPU: 그래픽 데이터 랜카드: 네트워크 통신 사운드 카드: 소리 데이터 처리 ... --> 서로 다른 부품이 모여 기계가 작동하게 하는 것은 기본 설계가 존재하기 때문이다. 여기에서 설계를 컴퓨터 구조(Computer Architecture) 라고 한다. 명령어 집합구조(Instruction Set Arc..
-
dreamhack stage 2 - Linux Memory Layout보안/SYSTEM HACKING 2024. 3. 15. 09:42
STAGE 2 Linux Memory Layout Background: Linux Memory Layout 0. 서론 컴퓨터는 크게 CPU와 메모리로 구성되어 있다. CPU - 실행할 명령어와 명령어 처리에 필요한 데이터를 메모리에서 읽고 Instruction Set Architecture (ISA)에 따라 이를 처리하고 연산의 결과를 다시 메모리에 적재한다. - CPU의 동작과 메모리 사이에는 밀접한 연관이 있다 : 공격자가 메모리를 악의적으로 조작 가능하다면 이는 메모리가 오염됐다고 표현한다 --> 이를 유발하는 취약점 == 메모리 오염 (Memory Corruption) 취약점 많은 공격기법이 메모리 오염을 기반으로 한다. 커리큘럼에서 소개할 내용: Stack Buffer Overflow..
-
dreamhack stage 4 - ClientSide:XXS보안/WEB HACKING 2024. 3. 15. 00:23
Stage 4 Cross-Stie-Scripting (XSS) ClientSide: XSS 0. 서론 클라이언트 사이드 취약점: 웹 페이지의 이용자를 대상으로 공격할 수 있는 것 Cross Site Scripting (XSS)에 대해 알아볼 예정이다. 1. XSS - 클라이언트 사이드 취약점 - 실행 방법: 공격자가 웹 리소스에 악성 스크립트 삽입 -> 이영자의 웹 브라우저에서 스크립트 실행 - 실행 결과: 특정 계정의 세션 정보 탈취, 기능 수행 가능 - SOP 보안 정책 등장 이후 XSS가 어려워졌으나 지속되는 중 XSS 발생 종류 발생 형태에 따라서 종류가 구분된다. XSS 발생 예시 클라이언트가 HTTP 형식으로 웹 서버에 리소스를 요청하면 웹 리소스 시각화 후 보여준다. 이..
-
드림핵 웹해킹 stage 3-cookie&session보안/WEB HACKING 2024. 3. 14. 23:17
STAGE 3 Cookie&Session Background: Cookie&Session 0. 서론 웹 서버는 클라이언트와 HTTP 프로토콜을 사용해 통신한다. 손님 계정과 관리자 계정으로 각각 로그인했을 떄 서로 다른 결과를 제공한다. HTTP 프로토콜로 웹 서버와 통신할 때는 메소드와 URL 등이 포함되어 있다. 그리고 헤더를 통해서 웹 서버에게 요청을 보내고 웹 서버는 헤더를 읽고 클라이언트에게 결과 값을 반환한다. 헤더에는 클라이언트의 정보와 요청의 내용을 구체화하는 데이터가 포함되어있는데 클라이언트의 인증 정보가 포함될 수 있다. 1. 쿠키(Cookie) : Key 와 Value로 이루어진 일종의 단위 생성 배경 클라이언트의 IP주소와 User-Agent는 고유하지 않은 정보이며 HTTP..