가. Docker Desktop 설치 및 실행
1. Docker Desktop 이란?
- Windows와 macOS에서 Docker 환경을 쉽게 구축하고 관리할 수 있도록 도와주는 애플리케이션이다.
2. Docker Desktop 다운로드
- 아래의 사이트에 접속하여 자신의 환경에 맞는 설치파일을 다운로드한다.
https://www.docker.com/products/docker-desktop/
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
다. 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
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' 또한 계정 생성을 통해 서버와의 정상 연결 여부를 확인할 수 있다.
'CS App 취약점 진단 · 모의해킹' 카테고리의 다른 글
BetaBank 풀이 - 메모리 내 중요정보 평문노출 취약점 (0) | 2024.11.14 |
---|---|
BetaBank 풀이 - 어셈블리 변조 취약점(무결성 검증) (0) | 2024.11.12 |
BetaFast 풀이 - 중요정보 평문저장 취약점(로컬 저장소) (0) | 2024.11.10 |
BetaBank 풀이 - 패킷 변조 취약점(SQL Injection) (0) | 2024.11.07 |
BetaFast 풀이 - 권한 우회 취약점(관리자 전용 히든 메뉴 접근) (0) | 2024.11.07 |