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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
linux_mint_poc — Linux Mint 18.3-19.1 yelp URI 핸들러의 명령 주입 취약점에 대한 PoC 및 패치입니다. 근본 원인, 악용 방법, 완화 조치를 보여줍니다. | Kitploit
도구/GitHubGitHub/b1ack0wl/linux_mint_poc
Vulnerability AnalysisExploitationLearning & Education
GitHubb1ack0wl/linux_mint_poc

linux_mint_poc

Linux Mint 18.3-19.1 yelp URI 핸들러의 명령 주입 취약점에 대한 PoC 및 패치입니다. 근본 원인, 악용 방법, 완화 조치를 보여줍니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Linux Mint 18.3-19.1 'yelp' 명령 삽입 버그

근본 원인

URI 핸들러 help://, ghelp://, man://는 /usr/share/applications/yelp.desktop 파일에 정의되어 있으며, 해당 URI 핸들러 중 하나가 호출될 때마다 Exec=yelp %u를 통해 /usr/local/bin/yelp를 실행합니다.

/usr/local/bin/yelp 파일은 수신된 URI 핸들러 요청을 구문 분석하는 간단한 파이썬 스크립트입니다. 이 스크립트는 먼저 "gnome-help" 및 "ubuntu-help" 부분 문자열을 검색하고, 두 부분 문자열 중 하나도 찾지 못하면 인수를 따옴표로 묶지 않고 /usr/local/bin/yelp를 실행합니다.

/usr/local/bin/yelp 내용:

root@kitploit:~
#!/usr/bin/python

import os
import sys

if (len(sys.argv) > 1):
    args = ' '.join(sys.argv[1:])
    if ('gnome-help' in args) and not os.path.exists('/usr/share/help/C/gnome-help'):
        os.system ("xdg-open http://www.linuxmint.com/documentation.php &")
    elif ('ubuntu-help' in args) and not os.path.exists('/usr/share/help/C/ubuntu-help'):
        os.system ("xdg-open http://www.linuxmint.com/documentation.php &")
    else:
        os.system ("/usr/bin/yelp %s" % args)  # uh oh
else:
    os.system ('/usr/bin/yelp')

PoC에서 셸까지

익스플로잇에는 약간의 창의력이 필요했습니다. Google Chrome URI가 공백 \x20 문자, 중괄호 {}, 더하기 + 문자, 백틱 ` 문자 및 기타 일부 문자를 인코딩하기 때문입니다. ${IFS}가 작동하지 않았기 때문에 $IFS$()를 사용해도 동일하게 잘 작동한다는 것이 발견되었습니다. $() 문은 $IFS 환경 변수가 다른 ASCII 문자와 연결되어 의도치 않게 $IFSaddedword 등이 되는 것을 방지합니다.

완화 방안

개요

yelp.patch 파일은 취약한 문장을 os.system ("/usr/bin/yelp %s" % args)에서 os.system ("/usr/bin/yelp %s" % quote(args))로 수정하며, 이는 shlex 라이브러리(https://docs.python.org/3/library/shlex.html#shlex.quote)의 quote() 메서드를 활용합니다.

패치 지침

yelp를 패치하거나 제거하십시오.

yelp 패치

  • patch 설치: sudo apt install patch
  • yelp 스크립트 패치: sudo patch /usr/local/bin/yelp yelp.patch

yelp 및 관련 URI 핸들러 제거

  • URI 핸들러 제거: sudo rm /usr/share/applications/yelp.desktop
  • yelp 파이썬 스크립트 제거: sudo rm /usr/local/bin/yelp

[b1ack0wl]

도구 다운로드