0x00. Intro
포너블 문제를 풀다보면, 도커를 빌드하게 되는 경우가 있다
나는 아직도 다른 사람들이 어떻게 도커를 활용하는지는 모르겠지만, sechack님의 블로그를 보며 도커에 gdb를 붙이는 법으로 로되리안을 해결한다는 방법이 있다고 들었다
그렇게 해서 로되리안을 해결할 수는 있지만, 나는 도커 안에서 gdb로 offset을 맞추고, 익스까지 도커 안에서 하고 싶었다
그러려면 도커 안에서 코드를 짜야한다
처음에는 vim으로 짰다
vim으로 몇십 , 몇백줄의 익스코드를 짜다보니 힘들었고, 좀 편하게 할수는 없을까 하는 방법을 찾게 되었다
그렇게 해서 찾은게 도커와 visual studio code를 연결하여 쓰는 방법이다
서론이 길었으니 바로 설명하도록 하겠다
0x01. As-Is, To-Be
일단 나는 기본적으로 wsl에서 code. 를 입력해서 wsl과 visual stuido code를 연결한다
이렇게 되면 vsc의 terminal 창이 wsl이 된 걸 볼 수 있다
vsc에서 extension을 설치하면서 이렇게 설정한걸로 기억하는데, 자세한 것은 구글링을 하면 나올것이다
이 글에서 다루는 내용은 아니니 넘어가도록 하겠다
우리가 하고 싶은건
도커를 실행하고, 이 도커 안에서 visual studio code를 열어서 코드를 수정하는 것이다
이러면 도커 내부에 파일을 생성하고, 편집하고, (모듈을 설치했다면) 실행도 할 수 있다
0x02. Install
먼저 vsc는 wsl과 연결되있어야 한다 remote wsl을 통해서 연결을 한 상태이면 된다
그 이후 extension에서
이걸 설치해주면 된다
그리고 wsl을 껐다가 켜면
이런게 생기면 된다
이게 뜨면 성공이다
0x03. Problem and Troubleshooting
나는 처음에 문제가 생겼다
Could not establish connection to "(Server Name)":
The remote host does not meet the prerequisites for running VS Code Server.
이런 오류가 발생했다
찾아보니 glibc 버전의 문제였고, 사실 아직 나는 해결을 하지 않았다
Ubuntu 18.04와는 연결이 안되었고, 그냥 1804 버전은 도커에 gdb 붙여서 해결하려고 한다
정 해결하고 싶으면 어느 설정을 건들이던지, vsc 버전을 낮추던지 해야하는데 그러기엔 귀찮으므로 해결하지 않았다
구글링하면 정보가 많으니 해결하고 싶으면 해결하면 된다
0x04. Connect
설치가 잘 되면
wsl에서 images와 containers를 볼 수 있다
원하는 container, 지금은 fyn라는 이름의 container가 구동중이고, 이를 연결해보고자 한다
우클릭 후 Attach Visual Studio Code를 누르게 되면
상단에 이 경로가 표시되고 이를 클릭하면
도커 내부에 attach 된 모습을 볼 수 있다
0x05. Conclusion
서론이 길고 거창했지만 그냥 extension 하나 설치해서 wsl 연결하듯이 연결하면 된다
이걸 몰라서 vim을 쓰고 있었는데, 이제 vsc를 사용해서 도커 내부 파일을 편집하게 되어 편하다
사실 이것보다 더 잘 정리된 블로그들이 있으니 안되면 구글링 ㄱㄱ
return 0;
'INFO' 카테고리의 다른 글
[Info] Using Docker in PWNABLE (dreamhack) (0) | 2025.03.18 |
---|---|
[Info] Ubuntu 22.04 Docker for PWN (0) | 2025.03.02 |