본문으로 바로가기

가. Docker Desktop 설치 및 실행

1. Docker Desktop 이란?

- Windows와 macOS에서 Docker 환경을 쉽게 구축하고 관리할 수 있도록 도와주는 애플리케이션이다.

 

2. Docker Desktop 다운로드

- 아래의 사이트에 접속하여 자신의 환경에 맞는 설치파일을 다운로드한다.

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

2. Docker Desktop 설치

- 다운로드한 'Docker Desktop Installer.exe' 파일을 실행하여 설치를 진행한다.

- 설치 옵션은 기본값 그대로 변경하지 않고 진행한다.

※ 설치 완료 후 컴퓨터가 재부팅되므로 주의하길 바란다.

 

3. 회원가입 및 로그인

- 아이디가 없을 경우 회원가입을 하거나 Google 또는 GitHub와 같은 서드파티 로그인을 이용한다.

 

- 로그인 후 아래와 같은 메인화면이 출력된다.

※ 만약 오류창이 띄워졌다면 에러문구를 구글에 검색하여 오류를 해결하여야 한다.

 

나. BetaFast · Bank 다운로드

1. BetaFast · Bank 이란?

- CS App 취약점 진단 · 모의해킹을 수행할 수 있는 가상환경이다.

 

- 'BetaFast'에서는 아래와 같은 취약점을 검출할 수 있다.
1) 하드코딩된 암호화 데이터
2) 하드코딩된 암호화된 비밀번호
3) SQL 주입
4) 권한 우회
5) 서버 측 입력 검증이 누락
6) 일반 텍스트 암호 저장됨 – 레지스트리
7) 저장된 일반 텍스트 민감한 데이터 - 파일
8) 약한 파일 업로드 제어
9) 약한 입력 검증
10) 코드 난독화 없음

 

- 'Beta Bank'에서는 'BetaFast' 에서 검출 가능한 취약점 외에  아래의 4가지 취약점을 더 검출할 수 있다.
1) 암호화되지 않은 데이터베이스 연결
2) 하드코딩된 연결 문자열
3) 취약한 비밀번호 저장
4) 사용자 정의 암호화 구현

 

2. BetaFast · Bank 다운로드

- 아래의 사이트에 접속하여 'BetaFast-master.zip' 파일 다운로드 및 압축해제한다.

https://github.com/NetSPI/BetaFast

 

GitHub - NetSPI/BetaFast: Vulnerable thick client applications used as examples in the Introduction to Hacking Desktop Applicati

Vulnerable thick client applications used as examples in the Introduction to Hacking Desktop Applications blog series - NetSPI/BetaFast

github.com

 

다. BetaFast · Bank 서버 설치 및 실행

1. 도커환경 서버 설치 및 실행

- 'PowerShell'을 실행한 뒤 "BetaFast-master\BetaFast\Docker" 경로로 이동한다.

※ 'BetaBank'를 실행하고 싶을 경우 "BetaFast-master\BetaBank\Docker" 경로로 이동한다.

 

- "docker-compose build" 명령어 입력

 

- "docker-compose up" 명령어 입력

 

※ 만약 아래와 같은 오류가 발생한다면 1433포트를 현재 로컬PC가 사용중이어서 발생하는 것이다.

compose [start] exit status 1. Container vuln-db Starting Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:1433 -> 0.0.0.0:0: listen tcp4 0.0.0.0:1433: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

 

- 'docker-compose.yml' 파일의 1433 포트를 임의의 포트번호로 수정한뒤 저장, 다시 빌드하면 정상적으로 동작한다.

 

 

2. 정상동작 확인

- "docker-compose up" 명령어를 입력한 상태에서 'v' 키를 누르면 도커 데스크톱이 띄워진다.

- web, db 두 개의 컨테이너가 동작하는 것을 볼 수 있다.

 

라. BetaFast · Bank 클라이언트 실행

1. .NET Framework 4.6.다운로드 및 설치

- 'BetaFast · Bank'는 '.NET Framework 4.6.1' 기반으로 개발되었으므로 오류없이 컴파일하기 위해서는 PC에 해당 버전의 NET Framework가 설치되어져 있어야 한다.

- 아래의 사이트에 접속한 뒤 개발자 팩을 다운로드 및 설치한다.

https://dotnet.microsoft.com/ko-kr/download/dotnet-framework/net461

 

.NET Framework 4.6.1 다운로드 | 무료 공식 다운로드

.NET Framework 4.6.1 을(를) 사용하여 애플리케이션을 빌드하고 실행하기 위한 다운로드. .NET Framework용 웹 설치 프로그램, 오프라인 설치 프로그램 및 언어 팩 다운로드를 받으세요.

dotnet.microsoft.com

 

2. 프로젝트 로드

- 비주얼 스튜디오(VisualStudio)에서 아래의 경로에 존재하는 "BetaFast-master\BetaFast\BetaFast\BetaFast.sln" 파일을 불러온다.

※ 'BetaBank'를 실행하고 싶다면 "BetaFast-master\BetaBank\BetaBank\BetaBank.sln" 파일을 불러온다.

 

3. 프레임워크 변경

- 프레임워크 버전이 다를경우 컴파일 시 오류가 발생하므로 '.NET Framework 4.6.1'으로 설정해준다.

 

4. 컴파일

- 'Ctrl+F5' 또는 '▶ 시작' 버튼을 눌러 컴파일을 수행한다.

 

5. 정상동작 확인

- 'Create Account' 버튼 클릭 후 계정 생성, "Thanks for joining!" 문구가 출력되면 서버와 정상 연결된 것이다.

※ " A server error occurred." 문구가 출력되면 서버와 연결이 잘 안된 것이다. 컨테이너를 모두 지운 후 다시 위 과정을 수행한다.

 

- 'BetaBank' 또한 계정 생성을 통해 서버와의 정상 연결 여부를 확인할 수 있다.