공격 시나리오
공격 시나리오는 다음과 같습니다. User01가 Mail 서버에서 악성 코드가 내재된 메일을 전달 받고, 악성 코드의 리버스 쉘이 실행되면서 C2 서버와 연결이 설정됩니다. 이를 통해 C2 서버는 Eternalblue 공격을 통해 내부 침투를 수행합니다.
※ Eternalblue 공격 패턴 특징: '00 00 00 00 00 00 00 10' 값을 전송
실습 수행
1. 악성 프로세스 종료 및 파일 삭제
User01의 가상환경의 브라우저에 mail.co.kr로 접속하여 메일을 확인합니다.
메일에 포함된 실행 파일이 실행되고 있는지 확인하기 위해 윈도우의 [작업 관리자] → [세부 정보]에 update.exe 파일이 실행되고 있는지 확인합니다. PID가 4484인 update.exe 파일이 실행되고 있습니다.
이제 update.exe 파일을 통해 User01이 외부와 통신되고 있는지 확인해보겠습니다. [명령 프롬프트]에서 다음 명령을 입력합니다.
netstat -ano
네트워크 인터페이스를 진단하는 netstat 명령어의 -ano 입력을 통해 모든 연결과 수신 대기 포트 등을 알 수 있습니다. 이때 ESTABLISHED라고 연결 상태가 설립된 프로세스를 확인할 수 있습니다. 마침 PID가 4484네요? 아 외부와 통신하고 있구나..
그럼 이제 다시 [작업 관리자]에서 PID 4484인 프로세스를 종료합니다.
그 후 [Everything]을 실행한 후 파일을 검색하여 삭제합니다.
2. 백도어 계정명 확인
다음은 공격자가 생성한 백도어 계정을 확인하겠습니다. [실행]에서 다음 명령어를 입력합니다.
lusrmgr.msc
[로컬 사용자 및 그룹(로컬)] → [사용자]에서 hacker라는 백도어 계정을 확인합니다.
Eternalblue 공격 차단
AdminConsole 가상환경에서 MF2를 실행합니다. 그 다음 [IP/DDoS] → [보호 도메인 정책]에서 공격 차단을 위한 정책을 추가하고 적용합니다.
이제 Eternalblue 공격의 패턴에 맞게 시그니처를 생성합니다.
[IP/DDoS] → [프로파일] → [IPS] → [공통 시그니처 설정] → [Signatures] → [User Defined] → [정책 추가]에서 다음과 같이 시그니처를 추가합니다.
먼저 기본 설정은 TCP 프로토콜, 공격에 대한 대응은 패킷 차단, 메시지는 Eternalblue라고 설정하였습니다.
다음은 고급 설정입니다. 패턴에 대한 시그니처를 대입하는 것입니다. 수동 설정을 누른 후 Eternalblue 공격 패턴을 기입합니다.
content:"|00 00 00 00 00 00 00 10|"
이제 추가한 시그니처 정책을 사용해야겠죠? [프로파일별 보안 설정] → [default] → [시그니처] → [User Defined]에서 생성한 시그니처를 [사용] 체크 후 적용합니다.
공격 대역 차단
앞서 외부 연결 접속을 확인하면서 외부 연결 주소 또한 알 수 있었습니다. 212.70.5.37이므로 212.70.5.0/24 대역을 차단해보도록 하겠습니다.
MF2의 [Firewall] → [방화벽] → [방화벽 정책 설정] → [정책 추가]에서 해당 IP대역의 양방향 차단 정책을 추가한 후 적용합니다.
'보안 > 2023 KISA 정보보호 제품군 실습 훈련 - 중급' 카테고리의 다른 글
웹 해킹 시나리오 실습 (0) | 2023.02.19 |
---|---|
워터링 홀 공격 시나리오 실습(SSTI 취약점 차단 룰 설정) (0) | 2023.02.19 |
인프라 구축 시나리오 실습 3(업무망 방화벽/NAT 정책 설정) (0) | 2023.02.18 |
인프라 구축 시나리오 실습 2(UTM, WAF 설정 및 정책 적용) (0) | 2023.02.18 |
인프라 구축 시나리오 실습 1(인터페이스 객체 생성 및 웹, 파일 서버 접근 설정) (0) | 2023.02.18 |