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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2020-15778 — CVE-2020-15778에 대한 기술 문서 및 개념 증명으로, OpenSSH scp (<=8.3p1)의 인증된 명령 삽입 취약점으로 파일 경로의 백틱 페이로드를 통해 원격 코드 실행을 허용합니다. | Kitploit
도구/GitHubGitHub/cpandya2909/cve-2020-15778
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPayload Development
GitHubcpandya2909/cve-2020-15778

CVE-2020-15778

CVE-2020-15778에 대한 기술 문서 및 개념 증명으로, OpenSSH scp (<=8.3p1)의 인증된 명령 삽입 취약점으로 파일 경로의 백틱 페이로드를 통해 원격 코드 실행을 허용합니다.

저장소 보기
1412533년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2020-15778에 대한 분석 보고서

발견자: Chinmay Pandya

이메일 주소 : [email protected]

링크드인 : www.linkedin.com/in/chinmay-pandya

취약점 제목: OpenSSH 8.3p1의 scp에서 eval 삽입 가능

제품: Openssh

영향을 받는 구성 요소: SCP

취약한 버전: <=openssh-8.3p1

수정된 버전: -

CVE 번호: CVE-2020-15778

취약한 코드 라인: https://github.com/openssh/openssh-portable/blob/a2855c048b3f4b17d8787bd3f24232ec0cd79abe/scp.c#L989

취약점 유형: 명령 삽입 / Eval 삽입 (인증 필요)

공격 유형: 원격 공격

공개 타임라인:

  • 취약점 발견 - 9 Jun 2020
  • CVE 획득 - 16 Jul 2020
  • 공급업체 통보 - 9 Jun 2020
  • 공급업체 확인 수신 - 9 Jun 2020
  • 공개 공개 - 18 Jul 2020

SCP에 관하여

scp는 컴퓨터 간 파일 복사를 위한 프로그램입니다. SSH 프로토콜을 사용합니다. 대부분의 Linux 및 Unix 배포판에 기본적으로 포함되어 있습니다.

문제점

원격 서버로 파일을 복사할 때 파일 경로가 로컬 scp 명령의 끝에 추가됩니다. 예를 들어, 다음 명령을 실행하면

root@kitploit:~
scp SourceFile user@host:directory/TargetFile

그러면 다음 로컬 명령이 실행됩니다

root@kitploit:~
scp -t directory/TargetFile

로컬 scp 명령을 생성할 때 파일 이름을 검증하지 않습니다. 공격자는 백틱이 포함된 페이로드를 파일 이름으로 전달할 수 있으며, 로컬 scp 명령이 실행될 때 로컬 셸도 백틱이 포함된 페이로드를 실행하게 됩니다.

예제

scp로 다음 명령을 실행합니다

root@kitploit:~
scp  /sourcefile remoteserver:'`touch /tmp/exploit.sh`/targetfile'

이 명령을 실행한 후 원격 서버에서 /tmp/ 디렉터리에 exploit.sh 파일이 생성된 것을 확인할 수 있습니다. 파일 이름에 작은따옴표를 넣는 것은 로컬 셸에서 페이로드가 실행되는 것을 방지하기 위해 중요합니다. 또는 작은따옴표와 같은 이스케이프 문자를 사용하면 로컬 셸에서 페이로드 실행을 방지할 수 있습니다.


이는 인증된 익스플로잇이며, 원격 서버에서 명령을 실행하려면 유효한 SSH/SCP 자격 증명이 필요합니다


OpenSSH의 답변

scp 명령은 rcp라고 불리는 역사적 프로토콜로, 이러한 인수 전달 방식을 사용하며 확장 문제가 발생합니다. scp 모델에 "보안"을 추가하는 것은 매우 어려운 것으로 입증되었습니다. 비정상적인 인수 전송을 "탐지"하고 "방지"하려는 모든 시도는 기존 워크플로를 깨뜨릴 가능성이 큽니다. 네, 현재 상황이 좋지 않다는 것을 알고 있습니다. 하지만 일반적인 대체 수단이 생기기 전까지 사람들이 scp를 사용하는 간편한 패턴을 깨고 싶지 않습니다. 우려된다면 rsync나 다른 도구를 대신 사용해야 합니다.

[참조]

SCP 코드 - https://github.com/openssh/openssh-portable/blob/master/scp.c

도구 다운로드