협업 > 관리 > chfi


2025_비교과(chfi)

일정 : 2025.09.19 ~ 2025.11.28(10주)
시간 : 16:00 ~ 20:00(4시간*9주 + 2시간*10주: 38시간) /
금남TV : 실습 영상
상세진행사항(실기위주 설명)
회차 내용 날짜
1회차 디지털포렌식 개념 및 프로그램 설치(Autospy,OSForensic) 2025.09.19
2회차 포렌식 프로그램 설치(Autospy,OSForensic) 및 실습 2025.09.26
3회차 CHFI란(온라인) 2025.10.10
4회차 CHFI 문제와 포렌식 실습 2025.10.17
5회차 CHFI 문제와 포렌식 실습 2025.10.24
6회차 CHFI 문제와 포렌식 실습 2025.10.31
7회차 CHFI 문제와 포렌식 실습 2025.11.07
8회차 CHFI 문제와 포렌식 실습 2025.11.14
9회차 CHFI 문제와 포렌식 실습 2025.11.21
10회차 CHFI 문제와 포렌식 실습 2025.11.28

실습을 위한 필수 프로그램
1. GNS3 받기 (네트워크 실습을 위한 필수 프로그램 / 회원가입 필요함)
2. XSHELL 받기(리눅스 접속을 위한 프로그램)
3. VirtualBox 받기(리눅스나 윈도우 설치를 위한 프로그램)
4. 우분투서버(이미지)
5. 럭키리눅스서버(이미지)
6. 윈도우서버(이미지)

1일차 강의 : 파일 받기1
1일차 강의 : 파일 받기2
1일차 강의 : 파일 받기3
리눅스 서버 구축
위치 : /home/master
sudo hostnamectl set-hostname chfi
sudo reboot
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
sudo apt update
sudo apt install python3-venv
mkdir projects
mkdir venvs
cd venvs
nano mysite.env
FLASK_APP=chfi
FLASK_DEBUG=true
APP_CONFIG_FILE=/home/master/projects/flask/config/production.py
nano mysite.sh
#!/bin/bash
cd ~/projects/flask
export FLASK_APP=chfi
export FLASK_DEBUG=true
export APP_CONFIG_FILE=/home/master/projects/flask/config/production.py
. ~/venvs/mysite/bin/activate
nano .profile
alias mysite='export FLASK_APP=chfi;export FLASK_DEBUG=true;export APP_CONFIG_FILE=/home/master/projects/flask/config/production.py;cd ~/projects/flask;. ~/venvs/mysite/bin/activate'
cd venvs
python3 -m venv mysite
cd mysite
cd bin
. activate
pip install wheel
pip install flask
pip install flask-migrate
pip install flask-wtf
pip install email_validator
pip install flask-markdown
cd ~/projects
unzip flask.zip
cd flask
flask db init
flask db migrate
flaks db upgrade
flask run --host=0.0.0.0
pip install gunicorn
cd ~/projects/flask
gunicorn --bind 0:5000 "chfi:create_app()"
gunicorn --bind unix:/tmp/mysite.sock "chfi:create_app()"
[파일명: /etc/systemd/system/mysite.service]
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=master
Group=master
WorkingDirectory=/home/master/projects/flask
EnvironmentFile=/home/ubuntu/venvs/mysite.env
ExecStart=/home/ubuntu/venvs/mysite/bin/gunicorn \
--workers 2 \
--bind unix:/tmp/mysite.sock \
"chfi:create_app()"
[Install]
WantedBy=multi-user.target
sudo systemctl start mysite.service
sudo systemctl enable mysite.service
sudo apt install nginx
cd /etc/nginx/sites-available/
sudo nano mysite
server {
listen 80;
server_name XXX.XXX.XXX.XXX;
location = /favicon.ico { access_log off; log_not_found off; }
location /static {
alias /home/master/projects/flask/chfi/static;
}
location / {
include proxy_params;
proxy_pass http://unix:/tmp/mysite.sock;
}
}
cd /etc/nginx/sites-enabled/
sudo rm default
sudo ln -s /etc/nginx/sites-available/mysite
sudo systemctl restart nginx
sudo nginx -t
sudo systemctl stop nginx
sudo systemctl start nginx

윈도우 환경 구축
C:\> mkdir venvs
C:\> cd venvs
C:\venvs> python -m venv mysite
C:\venvs> cd C:\venvs\mysite\Scripts
C:\venvs\mysite\Scripts> activate
(mysite) C:\venvs\mysite\Scripts>
pip install flask
python -m pip install --upgrade pip
pip install flask_migrate
pip install requests
pip install flask_wtf
pip install pymysql
[파일명: C:/venvs/mysite.cmd]
@echo off
cd c:/projects/flask
set FLASK_APP=chfi
set FLASK_DEBUG=true
set APP_CONFIG_FILE=c:\projects\flask\config\development.py
c:/venvs/mysite/scripts/activate

C:\projects\flask
flask run <윈도우+R> 키를 입력하여 다음처럼 sysdm.cpl
참고사이트
https://wikidocs.net/book/4542(점프투플라스크)
2일차 강의 프로그램 만들기
번호 구분 기능
1 해시분석 파일 또는 문자열의 해시값을 구한다.
2 메타분석 사진,파일의 정보를 분석한다.
3 확장자불일치 파일확장자와 파일시그니처를 탐지한다.
4 암호 압축파일 암호가 존재하는지 탐지하고 암호를 해결한다.
5 레지스트리 윈도우 레지스트리를 분석하여 연결된 USB정보를 분석한다.
6 이메일분석 썬더버드에 저장되어 있는 INBOX파일을 분석한다.
7 암호화 프로그램 트루크립터,베라크립터가 있는지 탐지한다.
8 윈도우의 초기 설치 윈도우 초기 설치시 생성되는 모든 파일을 확인한다.
9 키워드 검색 분석의 범위를 줄이기 위한 키워드 분석 프로그램 직접 만들어본다.
10
11
12
13
14
15

3일차 E01 분석하기 (파일 다운받기)
  1. FTK Imager 다운로드하기 | 바로받기
  2. E01의 해시값은 얼마인가?
    한글 : HWP, HWPX
    엑셀 : xls or xlsx
    E01 파일은 뭐냐? Encase라는 포렌식 회사 만든 분석용 이미지 확장자
  3. 파일시스템은 정상인가?
    비정상이다!
    이유는?
    MBR(Master Boot Record) : 0Sector(512)중에 파티션테이블(64byte : 16byte*4)의 정보를 분석후
    VBR(Volumn Boot Record) : (512) 바이트 내용들이 00으로 저장되어 있다라는 뜻은 누군가가 의도적으로
    회손했다.!
    결론 : VBR 손상되어 있기 때문에 분석 불가능합니다.
    VBR > VBR 복구 > 파일 시스템 >
    NTFS 파일시스템의 특징 : 백업본 VBR이 그 파티션의 마지막 Sector
    FAT32파일시스템의 특징 : 백업본 VBR이 6번째 Sector
    MBR을 확인해라!
    VBR을 확인해라!
    만약에 MBR이 비정상이라면 정상화 시켜라!
    단 파이썬 프로그램을 이용해서 정상화 시켜라!
    partition1(100MB)
    partition2(300MB)
    partition3(109MB)
    33C08ED0BC007C8EC08ED8BE007CBF00
    06B90002FCF3A450681C06CBFBB90400
    BDBE07807E00007C0B0F850E0183C510
    E2F1CD1888560055C6461105C6461000
    B441BBAA55CD135D720F81FB55AA750
    9F7C101007403FE46106660807E100074
    2666680000000066FF76086800006800
    7C680100681000B4428A56008BF4CD13
    9F83C4109EEB14B80102BB007C8A5600
    8A76018A4E028A6E03CD136661731CFE
    4E11750C807E00800F848A00B280EB84
    5532E48A5600CD135DEB9E813EFE7D55
    AA756EFF7600E88D007517FAB0D1E664
    E88300B0DFE660E87C00B0FFE664E875
    00FBB800BBCD1A6623C0753B6681FB54
    435041753281F90201722C666807BB00
    00666800020000666808000000665366
    5366556668000000006668007C000066
    6168000007CD1A5A32F6EA007C0000CD
    18A0B707EB08A0B607EB03A0B50732E4
    0500078BF0AC3C007409BB0700B40ECD
    10EBF2F4EBFD2BC9E464EB002402E0F8
    2402C3496E76616C6964207061727469
    74696F6E207461626C65004572726F72
    206C6F6164696E67206F706572617469
    6E672073797374656D004D697373696E
    67206F7065726174696E672073797374
    656D000000637B9A6D47ECF000000002
    030007C0340C800000000020030000C0
    350C0B000D3380200300006009000000
    0E3307E4244080800C00006803000000
    000000000000000000000000000055AA
    13th.E01(비정상)
    656D000000637B9A6D47ECF000000002
    030007C0340C800000000020030000C0
    350C0B000D3380200300006009000000
    0E3307E4244080800C00006803000000
    000000000000000000000000000055AA
    Win2022.vdi(정상)
    656D000000637B9ABB608B0E00008020
    210007DF130C000800000020030000DF
    140C07FEFFFF0028030000702C0600FE
    FFFF27FEFFFF00982F060058100000000
    00000000000000000000000000055AA
    13th.E01(비정상)
    파티션테이블
    00 020300 07 C0340C 80000000 00200300 (16바이트)
    00 C0350C 0B 000D33 80200300 00600900(16바이트)
    00 000E33 07 E424408 0800C00 00680300 (16바이트)
    00 000000 00 0000000 0000000 00000000 (16바이트)
    Win2022.vdi(정상)파이션테이블
    80 202100 07 DF130C 00080000 00200300(16바이트)
    00 DF140C 07 FEFFFF 00280300 00702C06 (16바이트)
    00 FEFFFF 27 FEFFFF 00982F06 00581000 (16바이트)
    0000000000000000000000000000000 (16바이트)
  4. 비정상이라면 복구하는 방법은 무엇인가?
    chatgpt와 파이썬을 이용해서
    손상된 13th파일의 vbr를 자동으로 복구하는 프로그램
    1. 20251010001.001을 읽는다.
    2. 0sector중에 파티션 테이블 읽고 정상인지 아닌지 확인후
    정상이라면 각각의 파티션테이블로 이동후 VBR을 읽는다.
    3. VBR을 읽을때 NTFS라면 첫번째 sector와 마지막 sector의 위치를
    찾아 VBR(512)가 일치하는지 검사하고 만약에 조사시 조건이 틀리면
    백업본을 이용해서 복구한다.
    완성후 코드 제출하시면 됩니다.
  5. 분석용 프로그램 설치하기(1. Autospy, 2.OSForensic, 3.ForensicExplorer)
  6. 파일시그니처와 확장자가 불일치하는 파일은 있는가?
  7. 압축파일은 있는가?
  8. 압축파일에는 암호가 있는가?

4일차 강의