HFS(HTTP File System) rejetto 공격이란?
HFS에서 %00 처리 미흡으로 인해 /search=%00{.exec|cmd.} 와 같이 원격으로 cmd 명령이 실행되는 취약점이 발견되었습니다.
HFS rejetto 공격 실습
1. 파일 서버
공격자에 의해 원격 명령이 실행될 파일 서버입니다.
2. 공격자
공격자의 웹 브라우저를 통해 HFS rejetto 공격을 수행합니다. 공격자의 웹 브라우저를 통해 파일 서버로 이동합니다.
앞서 설명하였듯 HFS rejetto 공격은 HFS에서 %00 처리 미흡으로 인해 /search=%00{.exec|cmd.} 명령으로 원격에서 파일 서버에 cmd 명령을 실행하는 공격입니다. 그러므로, 파일 서버의 search에 파일 서버에 원격에서 계산기를 실행하라는 명령어(calc.exe)를 작성해보겠습니다.
실제 공격자의 브라우저에서는 아무 일이 일어나지 않지만, 파일 서버에서는 이처럼 계산기 실행파일(calc.exe)이 원격으로 실행된 것을 확인할 수 있습니다.
HFS(HTTP File System) rejetto 공격 탐지 및 차단
이제 UTM에 IPS 룰셋을 추가해서 공격자의 HFS rejetto 공격을 탐지 및 차단하는 실습을 수행합니다.
먼저 관리자인 AdminConsole로 접속하고, UTM을 설정하기 위한 SECUI MF2 프로그램을 실행합니다.
1. 보호 도메인 설정
먼저 IPS/DDoS의 보호 도메인 정책을 추가합니다. 사용/탐지를 선택한 임의의 이름의 보호 정책을 추가하고, DDoS와 IPS 프로파일을 각각 default로 설정합니다.
2. 시그니처 추가
HFS rejetto 공격은 search 다음의 %00가 잘 처리되지 않아서 발생한 취약점이므로, 이를 탐지/차단하기 위한 시그니처를 추가합니다.
[프로파일] → [IPS] → [공통 시그니처 설정]으로 진입합니다.
목적지는 FILE, 그리고 HTTP 통신이므로 TCP 프로토콜로 설정하며, 목적지 포트가 9090인 시그니처를 추가합니다. 위험도, 탐지 정확도, 성능 영향도, 메시지는 [상]으로 설정합니다.
이제 [고급 설정]에서 취약점의 원인인 %00에 대해 설정합니다. 먼저 실제 탐지되는지에 대한 테스트를 위해 "content 부분에 %00이 들어오는 패턴을 찾아줘"라는 의미로 content:"%00"; 를 대입하고 [확인]을 누릅니다.
생성한 시그니처를 적용하기 위해 [Signatures] → [User Defined] 에서 해당 시그니처를 선택 후 적용합니다. 그 다음 이를 사용하기 위해 [IPS] → [프로파일별 보안 설정] → [default] → [시그니처] 경로로 확인하면 추가한 룰셋을 확인할 수 있습니다. 사용에 체크한 후 다시 [적용]합니다.
탐지 실습
다시 공격자로 돌아가서 기존 브라우저를 종료하고, 재실행합니다.
아까와 같이 파일 서버로 접근한 후 계산기를 실행하는 원격 실행 명령을 실행하여도 당연히 실행됩니다. 저희는 차단이 아닌 탐지 룰셋을 적용하였기 때문입니다.
다시 AdminConsole로 돌아가서 [Monitoring] → [통합 로그] → [세션 통합 로그]로 진입하고 출발지 ip를 33.13.7.12로 설정하면, IPS에 의해 탐지된 로그를 확인할 수 있습니다.
차단 실습
먼저 [IPS]의 [동작 모드]를 차단 모드로 변경하고, [보호 도메인 정책]에서 [탐지]를 체크 해제합니다. 그 다음 [프로파일별 보안 설정] → [default] → [시그니처]에서 해당 룰셋의 [대응]을 '탐지'에서 '패킷 차단'으로 변경합니다.
이제 다시 공격자 브라우저로 돌아가서 해당 브라우저를 다시 실행 후 명령어를 재실행합니다. 해당 패킷이 차단되어서 아얘 접속이 되지 않는 것을 확인할 수 있습니다. 또한, 파일 서버에서도 계산기 프로그램인 calc.exe 파일이 실행되지 않습니다.
[Monitoring] → [통합 로그] → [세션 통합 로그]에서 IPS에 의해 차단된 로그를 확인할 수 있었습니다.
'보안 > 2023 KISA 정보보호 제품군 실습 훈련 - 중급' 카테고리의 다른 글
인프라 구축 시나리오 실습 3(업무망 방화벽/NAT 정책 설정) (0) | 2023.02.18 |
---|---|
인프라 구축 시나리오 실습 2(UTM, WAF 설정 및 정책 적용) (0) | 2023.02.18 |
인프라 구축 시나리오 실습 1(인터페이스 객체 생성 및 웹, 파일 서버 접근 설정) (0) | 2023.02.18 |
웹 방화벽 WAF 실습 2(Command Injection 탐지/차단) (0) | 2023.02.17 |
웹 방화벽 WAF 실습 1(SQL Injection 탐지/차단) (0) | 2023.02.17 |