[2025-10-15] 가상 환경 구축

🦥 본문

파일 및 폴더

설치 폴더 생성

설치한 응용 프로그램을 관리하기 위한 저장 폴더 생성. C:\App 또는 C:\Bin 같은 폴더 생성. 버전 관리 및 삭제가 수월해짐

시스템과 데이터용 파티션 분리

시스템 파티션과 데이터 파티션을 분리

  • 시스템 파티션 : 운영 체제가 설치된 파티션

호스트 운영체제와 게스트 운영체제 간 파일 교환

  1. 파일 서버 이용 : 파일 서버를 구축하고 상시 가동. 파일 서버에 복사 후 가져오는 방식
    • 장점 : 환경에 무관
    • 단점 : 파일 서버를 구축해야 함
  2. FTP 서비스
    • 장점 : 파일 서버를 구축할 필요가 없음
    • 단점
      • 게스트 운영체제끼리 파일을 주고 받기 위해 호스트 운영체제를 경유해야 하므로 2번의 데이터 전송
      • 파일을 이중 관리
  3. 윈도우 파일 공유 기능 : 호스트 운영 체제인 윈도우에 공유 폴더 생성
    • 장점
      • 기본 기능임
      • 마운트해서 사용하므로 이중 관리 X
    • 단점 : 윈도우 업데이트 등에 따라 공유 폴더에 접속할 수 없는 경우가 발생할 수 있음
  4. VirtualBox 파일 공유 기능 사용 : Guest Additions(게스트 확장)을 설치하면 VirtualBox 내의 공유 폴더 이용
    • 장점 : 간단하며 이중 관리를 하지 않음
    • 단점 : 물리적으로 별도로 존재하는 PC와는 공유할 수 없음
  5. VirtualBox 드래그&드롭 : 게스트 확장이 제공하는 기능
    • 장점 : 공유 폴더를 이용하지 않고 간단하게 복사
    • 단점 : 물리적으로 별도로 존재하는 PC와는 공유할 수 없음

VirtualBox 파일 공유 기능

  • 호스트 운영 체제 설정
    1. 공유 폴더 생성 : C:\공유폴더 생성 후 파일을 넣어둠
    2. 공유 폴더 설정 : [VirtualBox] - [설정] - [공유 폴더]에서 추가

      공유 폴더 선택 후 자동 마운트 체크

      • 자동 마운트를 체크하면 게스트 운영체제에서 /media/sf_<공유 폴더="">로 마운트
      • 마운트 지점을 설정했다면 /마운트 지점으로 마운트

VirtualBox 드래그&드롭 기능

[VirtualBox] - [Kali Linux] - [장치] - [드래그앤드롭] - [양방향]

호스트 운영 체제의 공유 설정 변경

CMD에서 net 공유 폴더 를 하면 명시적으로 공유 설정을 한 적이 없는 데, 기본 폴더들이 공유되고 있음

→ PC IP 주소와 인증을 통해 기본 드라이브에 접근이 가능하기 때문에 보안에 취약

  • 공유 파일 목록 및 일시적 공유 중지

[Window + R] - [compmgmt.msc] - [컴퓨터 관리] - [공유 폴더] - [공유]

  • 공유 제거

[Window + R] - [HKEY_LOCAL_MACHINE] - [SYSTEM] - [CURRENTCONTROLSET] - [SERVICES] - [LANMANSERVER] - [PARAMETERS]

레지스트리 편집기에서 [새로 만들기] - [DWORD(32비트)] 클릭하고 [16진수 ‘0’]으로 설정 후 리부트

바이러스 및 위협 방지 설정 변경

  • 실시간 보호 끄기 : 해킹 도구 다운로드 시 바이러스로 인식되는 경우가 많기 때문에 실습 중에는 기능을 꺼야 함.
  • 보호 기록에서 복구 : 백신에서 발견된 경우 해당 파일을 격리. [바이러스 및 위협 방지] - [현재 위협] - [디바이스에서 허용] - [작업 시작]
  • 백신 검사에서 제외 : 해킹 도구가 저장될 폴더에 설정. [바이러스 및 위협 방지] - [바이러스 및 위협 방지 설정] - [제외]

자동 실행 설정 확인

자동 실행을 악용한 공격을 막기 위한 설정. USB 장치를 연결하면 자동 실행 알림이 표시. 어떤 조작을 할지 묻는 창이 표시되는 데, 작업 선택 창에서 한 번 작업을 지정하면 이후 같은 장치가 연결됐을 때 작업이 자동으로 수행

불필요한 파일 제거

WinDirStat 소프트웨어를 설치하여 저장소 용량과 분석 내용이 나옴.

공유 폴더에 Thumbs.db 파일 생성 중지

내부 네트워크의 공용 폴더를 열면 Thumbs.db 파일이 생성되는 데, 만들어질 때, 대상 파일과 폴더는 잠금 상태가 돼서 작업에 영향을 끼칠 수 있음

  • Thumbs.db : 파일은 섬네일을 표시하기 위한 정보를 저장하는 캐시 파일
  • 캐시 파일을 생성할 때 동시 접근을 막기 위해 Exclusive Lock을 하기 때문
  • 파일 생성 중지 방법

    [Window + R] - [regedit]을 통해 레지스트리 편집기를 엶

    HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows

    Window에서 Explorer라고 키를 새로 만들고 해당 폴더에서 DisableThumbsDBOnNetworkFolders DWORD(32비트)를 새로 생성. 값 데이터는 1(생성하지 않음)로 설정. 다시 생성하려면 키를 제거 하면 됨

Python

파이썬 설치

파이썬 2버전과 3버전을같이 설치

  • py.exe 설치
    1. 2.7.16 버전과 3.7.4 버전을 내려받음
    2. 파이썬 3 버전에 py.exe가 포함돼 파이썬 3부터 설치

      Customize installation으로 설치. Optional Features는 그대로. Advanced Options는 환경 변수 추가 부분을 해제하고 Install for all users를 체크. 경로는 C:\python37로 설정

    3. 파이썬 2 버전 설치

      Install for all users를 클릭한 후 설치 경로는 C:\Python27로 설정

      Customize Python 화면에서는 Register Extensions는 설치 제외해야 한다. 해당 파일을 설치하면 .py를 실행하는 본체가 2 버전이 된다.

파이썬 실행

윈도우 cmd를 통해 실행 가능. 버전 옵션을 지정하지 않으면 최신 버전 실행.

py -2 파이썬 코드 //2버전으로 파이썬 실행
py -3 파이썬 코드 //3버전으로 파이썬 실행

py -2 //파이썬 셸 실행
py -3

※주의 사항 : 파이썬 소스코드의 가장 앞에 셔뱅(Shebang)이 있으면 이걸 우선시

- 셔뱅 : 첫 줄에 쓰는 해시 기호(`#`)와 느낌표(`!`)로 이루어진 문자 시퀀스
  • 실행 환경 분리

    라이브러리 와 패키지 추가로 복잡해지고 의존성 문제로 오류가 발생할 수 있음

    → 가상 파이썬 환경 구축

    • pip 설치 : 기본적으로 설치가 됨

        //설치 확인
        py -3 -m pip -V
        pip 19.0.3 from C:\python37\lib\site-packages\pip (python 3.7)
              
        py -2 -m pip -V
        pip 18.1 from C:\Python27\lib\site-packages\pip (python 2.7)
              
        //설치 및 실행 
        curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
        python get-pip.py
        python3 get-pip.py
      
    • 파이썬 2에 virtualenv 설치

        C:\python27/scripts 경로로 이동
        pip2.7 install virtualenv
      
    • virtualenv 테스트
      1. 가상 환경 폴더 새로 만들기
        //임의의 경로를 만듦
        C:\Users\yunse\test_virtualenv>py -2 -m virtualenv test_env
        created virtual environment CPython2.7.16.final.0-32 in 13682ms
          creator CPython2Windows(dest=C:\Users\yunse\test_virtualenv\test_env, clear=False, no_vcs_ignore=False, global=False)
          seeder FromAppData(download=False, pip=bundle, wheel=bundle, setuptools=bundle, via=copy, app_data_dir=C:\Users\yunse\AppData\Local\pypa\virtualenv)
            added seed packages: pip==20.3.4, setuptools==44.1.1, wheel==0.37.1
          activators NushellActivator,PythonActivator,FishActivator,BatchActivator,PowerShellActivator,BashActivator
      
      1. 가상 환경 시작

        test_env\script 폴더로 이동

         C:\Users\yunse\test_virtualenv\test_env\Scripts>activate.bat
                    
         (test_env) C:\Users\yunse\test_virtualenv\test_env\Scripts>
        
      2. 가상 환경 종료

         deactivate.bat 
        

        환경 변수에 PATH를 등록하지 않아서 파이썬을 실행하려면 python.exepy.exe가 있는 곳에서 실행시켜야 하지만 가상 환경 안에서는 Scripts에 해당 파일들이 있기 때문에 가능.

    • 파이썬3에서 venv 사용

      venv가 표준 모듈이므로 pip로 설치 안 해도 됨

         py -3 -m venv <가상 환경 이름>
      

BIOS

OS의 접근 제어를 우회하기 위해 바이오스를 설정

  • BIOS : 메인보드에 저장된 프로그램. 운영 체제보다 먼저 시작돼 PC 시작 프로세스를 제어.
  • UEFI : BIOS 후속으로 고안된 규격. BIOS와 운영체제를 연결하는 인터페이스. GUI로 이루어져 있음

| 윈도우 부팅 파티션 형식 | 시작 방법 | BIOS 모드 | 보안 부팅 상태 | | — | — | — | — | | MBR | BIOS | 레거시 | 지원 X | | GPT | UEFI | UEFI | 설정 |

  • BIOS와 UEFI 구별

    [Window + R] - [msinfo32 입력] - [BIOS 모드 확인]

  • 설정 화면 진입

    PC 부팅 직후 제조사 로고 화면에서 특정 키 입력(삼성 갤럭시북 같은 경우 로고 나오기 전에 F2 연타)

    • 윈도우의 빠른 시작 기능을 활성화한 경우

      위의 경우에는 BIOS 진입과 안전 모드 불가

      [윈도우 설정] - [시스템] - [복구] - [고급 시작 옵션] - [지금 다시 시작] 후 재부팅 하면 [옵션 선택] 화면 표시. [문제 해결] → [상세 옵션] - [UEFI 펌웨어 설정]

Categories:

Updated:

Leave a comment