본문 바로가기
Quality control (Univ. Study)/Information Security

Buffer-overflow attack lab (3)

by 생각하는 이상훈 2024. 12. 7.
728x90

Task 2: Level-1 attack

제공된 docker-compose.yml 파일을 실행하여 컨테이너들을 실행하면, 네 개의 서로 다른 난이도를 갖는 네 개의 컨테이너가 수행된다. Task 2 에서는 level 1에 대한 공격을 수행한다.

첫 번째 공격 대상은 10.9.0.5에서 port 9090으로 수행된다. 그리고 취약한 stack 프로그램은 32비트 프로그램이다. 우선, 정상적인 메시지를 서버에 전송해 보자. 

exploit.py 코드를 아래와 같이 수정해준다.

그리고 코드를 실행하면 아래와 같이 작성 완료했다는 메세지가 뜬다.

아래 처럼 Docker 컨테이너 내부에 접속하여 작업할 수 있도록 인터랙티브 쉘을 열어서 내부 프로세스를 확인하고 root의 권한으로 쉘이 열렸음을 확인할 수 있다.

 

위 모습이 공격에 성공한 이유를 설명하자면 다음과 같다.

 

 

1. 추가 쉘 프로세스 발견
쉘코드 실행 결과로 /bin/bash 프로세스가 새로 생성되었음을 확인하였다. 프로세스 확인 결과는 다음과 같다.

이는 쉘코드 실행으로 인해 서버에 새로운 쉘이 생성되었음을 나타낸다.

2. whoami 명령 실행 결과
컨테이너 내부에서 쉘이 열렸고, whoami 명령을 실행하여 쉘이 root 권한으로 실행되고 있음을 확인하였다. 명령 실행 결과는 다음과 같다.
이를 통해 서버의 최고 권한을 획득했음을 확인할 수 있었다.
3. 파일 시스템 접근

쉘을 통해 컨테이너 내부 파일 시스템에 접근할 수 있음을 확인하였다. 내부 파일 시스템의 디렉토리 구조는 다음과 같다.

이를 통해 공격자가 서버 내부의 파일 시스템을 제어할 수 있음을 입증하였다.


 

 

728x90

'Quality control (Univ. Study) > Information Security' 카테고리의 다른 글

Cryptography  (1) 2024.12.07
Privacy  (2) 2024.12.07
Network security  (2) 2024.12.06
Buffer-overflow attack lab (2)  (0) 2024.12.04
Buffer-overflow attack lab (1)  (1) 2024.12.02