리눅스

OS/Ubuntu

리눅스에서 도커 설치 및 사용하기

리눅스에서 도커를 설치해서 사용해야 할 일이 생겼다. 환경 설정 (1) 우분투 버전 20.04 1. 도커 설치 -> sudo apt install docker.io 2. 버전 확인 -> docker version 3. yaml 파일을 사용을 위한 docker-compose 툴 설치 -> sudo apt install docker-compose 4. 도커 호스트 확인 -> echo $DOCKER_HOST 없으면 공백 출력 5. 도커 호스트 설정 -> export DOCKER_HOST="127.0.0.1" 6. 도커 파일 받기 (나는 git으로 받음) 7. 해당 폴더에 들어가 실행 -> sudo docker-compose up --build 8. 도커 종료 -> sudo docker-compose down 끝

OS/Ubuntu

VirtualBox를 이용한 리눅스 설치

오늘은 VirtualBox를 통해서 Ubuntu 가상 환경을 구축할 것이다. 1. 최단 시간으로 설치하기 위해 먼저 우분투 사이트에 들어가 최신 버전(LTS)를 다운로드 한다. (ubuntu iso파일 설치 시간이 비교적 길기 때문) 다운로드 링크 : https://ubuntu.com/download/desktop Download Ubuntu Desktop | Download | Ubuntu Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things. ubuntu.com 2. VirtualBox 사이트에 들어가서 설치 다운로드 링크..

OS/Ubuntu

리눅스의 소유자 및 권한 체계 SetUID, SetGID, Sticky Bit

리눅스는 RWX 이외에도 특정 디렉토리나 파일에 대한 특수 권한을 사용하는데 다음과 같다. - SetUID, SetGUI 해당 권한은 애플리션이 실행될 때 애플리케이션이 실제 수행하는 권한을 일시적으로 소유자 혹은 소유 그룹으로 바꾸는 권한이다. - Sticky Bit 해당 권한은 일반적으로 디렉토리에 부여되며, 해당 권한이 부여된 디렉토리는 누구나 Full 권한을 가진다. 즉 해당 디렉토리에서는 누구나 읽고, 쓰고, 삭제하는 행위를 할 수 있다. 대표적인 예가 /tmp $ ls -ld /tmp SetUID/SetGUI 권한이 왜 필요 한가? 취약한 애플리케이션이 SetUID 권한을 가질 경우 발생하는 일 $ sudo su - # chown root:root bof1 // bof1 애플리케이션의 소유자,..

Security/Reverse Engineering, RE

리눅스 환경 기반 스택 오버플로우 실습 (Trampoline Technique) -2

Return 주소 조작을 통한 스택 오버플로우 구현 절차 1. 예외를 발생 시키는 주입 지점 확인 2. 주입지점부터 Return Address 위치까지의 옵셋(거리)를 확인 3. 실행의 흐름 조작 가능 여부 확인 4. 간접 분기에 사용할 Register 확인 (전제 조건은 우리가 더럽힐 수 있는 스택을 포인팅 하고 있어야함) 5. 주입 지점부터 간접 분기에 사용할 레지스터가 가르키는 스택의 지점까지 거리 확인 6. Call Register 코드 확인 7. 익스플로잇 코드 제작 및 테스트 목표) 아래 소스코드로 컴파일된 실행파일의 스택 오버플로우 취약점을 찾고 쉘코드 실행 - bof.c #include #include #include void dovuln(const char *s) { char buf[10..

DevSecOps
'리눅스' 태그의 글 목록