도커로 리눅스 ubuntu:22.04에서 pwndbg 디버거 설치
·
보안
도커를 이용해 리눅스 ubuntu:22.04 컨테이너를 만들고, 해당 컨테이너에서 pwndbg를 설치해보자. (참고) 실습환경: mac북에서 도커 실습 (도커 데스크탑) - mac과 상관없이, 도커를 구동할 수 있다면 어느 host 컴퓨터든 상관 없다 ! 1. ubuntu:22.04 컨테이너 생성 $ docker run -e LANG=en_US.utf8 -t -d --name dreamhack ubuntu:22.04 -t 옵션을 통해 컨테이너를 계속해서 끄지 않고 실행할 수 있음 2. 컨테이너 접속 $ docker exec -it dreamhack /bin/sh (이제부터 아래의 명령어는 모두 컨테이너 안에서 실행되는 명령어이다) 3. apt update 및 git 설치, locale 설정 # apt u..
[System Hacking] Quiz: x86 Assembly 3
·
보안/드림핵
드림핵 시스템 해킹 강의를 보다, 중간 퀴즈가 나와 문제 풀이를 정리하고자 한다. 문제 Q1. 다음 어셈블리 코드를 실행했을 때 출력되는 결과로 올바른 것은? [Code] main: push rbp mov rbp, rsp mov esi, 0xf mov rdi, 0x400500 call 0x400497 mov eax, 0x0 pop rbp ret write_n: push rbp mov rbp, rsp mov QWORD PTR [rbp-0x8],rdi mov DWORD PTR [rbp-0xc],esi xor rdx, rdx mov edx, DWORD PTR [rbp-0xc] mov rsi,QWORD PTR [rbp-0x8] mov rdi, 0x1 mov rax, 0x1 syscall pop rbp ret =..
[System Hacking] Quiz: x86 Assembly 2
·
보안/드림핵
드림핵 시스템 해킹 강의를 보다, 중간 퀴즈가 나와 문제 풀이를 정리하고자 한다. 문제 Q1. end로 점프하면 프로그램이 종료된다고 가정하자. 프로그램이 종료됐을 때, 0x400000 부터 0x400019까지의 데이터를 대응되는 아스키 문자로 변환하면 어느 문자열이 나오는가? [Register] rcx = 0 rdx = 0 rsi = 0x400000 ======================= [Memory] 0x400000 | 0x67 0x55 0x5c 0x53 0x5f 0x5d 0x55 0x10 0x400008 | 0x44 0x5f 0x10 0x51 0x43 0x43 0x55 0x5d 0x400010 | 0x52 0x5c 0x49 0x10 0x47 0x5f 0x42 0x5c 0x400018 | 0x5..