설명

Mac에서 CTF / pwn 실습용 원격 개발 환경 구축

sewoo-jjang 2026. 1. 15. 19:18

들어가기 전에

  • 이 글은 이전 포스팅과 이어진다.
  • VM은 UTM을 사용하였고 OS는 Ubuntu Server를 이용하였다.
  • Apple Silicon을 사용하고있는 mac에서 x86환경을 구현하려면 에뮬레이터를 활용해야하기에 GUI를 이용하는 Ubuntu Desktop은 사용을 지양하도록하자. 진짜 뒤지게 느리다.

 목표

Mac에서 작업하면서 Ubuntu 가상머신을 원격 해킹 머신으로 쓰기

 

1. Ubuntu VM의 IP 확인

Ubuntu VM에서

ip a
# 또는
hostname -I
  • 이 IP는 Mac에서 접근할 주소가 됨

2. Ubuntu에 SSH 서버 설치

Ubuntu VM

sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
  • ssh를 실행하는데에 있어 필요한 기능 설치

3. 방화벽에서 SSH 허용

sudo ufw allow ssh
sudo ufw reload

4. VM 네트워크 설정

VM설정에서

Network → Adapter → Bridged Adapter

이렇게 설정해야 Mac과 같은 네트워크에 존재하게됨.

5. Mac에서 SSH 접속

Mac 터미널

ssh VM이름@1번에서 얻은 ip
  • 엔터를 친 후 미리 설정해둔 비밀번호 입력해서 진입

6. Ubuntu에 pwntools 설치

Mac 터미널(SSH 접속 상태)

sudo apt install -y python3-pip python3-dev git build-essential \
                    libssl-dev libffi-dev gdb gcc make

pip3 install --upgrade pip
pip3 install pwntools

설치확인

python3 -c "from pwn import *; print('pwntools OK')"
  • 정상적으로 설치가 되었다면 pwntools OK문구가 뜰 것이다.

7.  SSH 키 기반 로그인 설정

Mac 에서

ssh-keygen -t ed25519
  • 명령어 입력 이후 엔터 3번

키 복사

ssh-copy-id VM이름@1번에서 얻은 ip

8. VSCode에서 Ubuntu VM에 연결

VSCode에서

  1. 확장 설치: Remote - SSH
  2. SSH 설정 파일 열기
vim ~/.ssh/config
    3.  맨 아래에 해당 코드 추가
Host pwnvm
    HostName 1번에서 얻은 ip
    User 사용자이름
    Port 22

9. VSCode → Ubuntu 연결

VSCode

Cmd + Shift + P
→ Remote-SSH: Connect to Host
→ pwnvm

10. Ubuntu 파일 시스템 열기

File → Open Folder → /home/seowoo
  • 이제 이 VSCode는 Ubuntu VM의 파일을 직접 편집하는 환경이다.
  • 터미널도 Ubuntu 기준으로 실행됨.

최종 구조

Mac
 └── VSCode
      └── SSH
           └── Ubuntu VM
                ├── pwntools
                ├── gdb / pwndbg
                └── exploit 코드