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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/irsdl/iis-shortname-scanner
ReconnaissanceVulnerability ScannersInformation GatheringWeb Security
GitHubirsdl/iis-shortname-scanner

IIS-ShortName-Scanner

IIS 짧은 파일명(8.3) 노출 취약점을 위한 최신 버전의 스캐너

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
IIS-ShortName-Scanner — IIS 짧은 파일명(8.3) 노출 취약점을 위한 최신 버전의 스캐너 | Kitploit

IIS Short Name Scanner - 2012-2023 & 여전히 유효함

최신 발표:

  • Microsoft IIS 짧은 파일명 노출을 넘어서

최신 블로그 게시물:

  • https://soroush.me/blog/2023/07/thirteen-years-on-advancing-the-understanding-of-iis-short-file-name-sfn-disclosure/

모든 분들께 이 오래된 도구를 사용하기 전에 @bitquark의 Go로 작성된 새 도구를 먼저 사용해보시기를 권장합니다: https://github.com/bitquark/shortscan

이 스캐너의 최신 버전은 물결표(~) 문자를 이용한 IIS 짧은 파일명(8.3) 노출 취약점을 스캔합니다. 이 문제는 2010년에 발견되었지만 그 이후 여러 번 발전해 왔습니다.

이것은 오래된 도구이며 코드가 스파게티이지만, 최신 IIS(글을 쓰는 시점에서 Windows Server 2022의 IIS 10)도 처리할 수 있습니다! 최근에 업데이트되어 Java에서 리플렉션 핵 없이 사용자 정의 HTTP 메서드를 보낼 수 있습니다. 그러나 일부 훌륭한 연구자들이 Go와 같은 다른 기술을 사용하여 이 도구를 다시 구현하려고 시도했으며, 성숙해지면 아마 더 잘 작동할 것입니다.

설명

Microsoft IIS에는 인가되지 않은 정보 노출로 이어질 수 있는 결함이 있습니다. 이 문제는 물결표 문자(~)가 포함된 요청을 파싱하는 동안 발생합니다. 이로 인해 원격 공격자가 파일 및 폴더 이름 정보에 접근할 수 있습니다.

이 스캐너는 더 나은 지원을 위해 https://code.google.com/p/iis-shortname-scanner-poc/ 에서 GitHub로 이동되었습니다.

원본 연구 파일: http://soroush.secproject.com/downloadable/microsoft_iis_tilde_character_vulnerability_feature.pdf

Windows에서 8.3 등가물을 가진 파일 및 디렉터리의 짧은 이름을 여러 버전의 Microsoft IIS에서 일부 벡터를 사용하여 감지할 수 있습니다. 예를 들어, 확장자에 4글자가 있는 ".aspx" 파일의 모든 짧은 이름을 감지할 수 있습니다.

참고: 최신 버전의 스캐너에는 새로운 기술이 도입되었으며, 취약한 IIS10을 스캔할 수 있습니다.

짧은 이름을 기반으로 원래 파일 또는 폴더 이름을 찾는 것은 쉽지 않습니다. 그러나 다음과 같은 방법이 예시로 권장됩니다:

  • 전체 확장자를 추측할 수 있는 경우(예: 8.3 확장자가 .ASP일 때 .ASPX), 항상 짧은 이름을 전체 확장자와 함께 시도하십시오.
  • 때로는 Google에 짧은 이름이 나열되어 실제 이름을 찾는 데 사용할 수 있습니다.
  • 텍스트 사전 파일을 사용하는 것도 권장됩니다. 이름이 다른 단어로 시작하는 경우, 두 번째 부분은 사전 파일을 기반으로 별도로 추측해야 합니다. 예: ADDACC~1.ASP는 AddAccount.aspx, AddAccounts.aspx, AddAccurateMargine.aspx 등이 될 수 있습니다.
  • 웹사이트 콘텐츠 및 리소스 검색도 전체 이름을 찾는 데 유용할 수 있습니다. 예를 들어 Burp Suite 도구에서 사이트 맵을 검색하여 이를 달성할 수 있습니다.

설치

최신 버전은 Open JDK 18을 사용하여 컴파일되었습니다(다른 JDK용 이전 jar 파일은 제거되었지만 Git 기록에서 찾을 수 있습니다).

이 오래된 애플리케이션을 사용하려면 /release 디렉터리의 파일을 다운로드해야 합니다!

직접 이 애플리케이션을 컴파일할 수도 있습니다. 추가 조사가 필요한 문제는 GitHub에 제출해 주십시오.

사용법

명령줄 옵션

사용법 1 (기본 구성 파일로 대상이 취약한지 확인):

root@kitploit:~
java -jar iis_shortname_scanner.jar [URL]

사용법 2 (기본 구성 파일로 8.3 파일 이름 찾기):

root@kitploit:~
java -jar iis_shortname_scanner.jar [ShowProgress] [ThreadNumbers] [URL]

사용법 3 (새 구성 파일로 대상이 취약한지 확인):

root@kitploit:~
java -jar iis_shortname_scanner.jar [URL] [configFile]

사용법 4 (새 구성 파일로 8.3 파일 이름 찾기):

root@kitploit:~
java -jar iis_shortname_scanner.jar [ShowProgress] [ThreadNumbers] [URL] [configFile]

사용법 5 (Linux 상자에서 여러 대상 스캔):

root@kitploit:~
./multi_targets.sh <scope file> <is_default_https (1=https)>

상세:

root@kitploit:~
 [ShowProgress]: 0= 최종 결과만 표시 - 1= 최종 결과를 단계별로 표시 - 2= 진행 상황 표시
 [ThreadNumbers]: 0= 스레드 없음 - 정수 = 동시 스레드 수 [IIS 서비스 거부에 주의]
 [URL]: 전체 URL - http/https 프로토콜로 시작
 [configFile]: config.xml을 기반으로 하는 새 구성 파일의 경로

예시:

root@kitploit:~
- 예시 0 (대상이 취약한지 확인):
 java -jar iis_shortname_scanner.jar http://example.com/folder/

- 예시 1 (스레드 사용 안 함 - 매우 느림):
 java -jar iis_shortname_scanner.jar 2 0 http://example.com/folder/new%20folder/

- 예시 2 (20개 스레드 사용 - 권장):
 java -jar iis_shortname_scanner.jar 2 20 http://example.com/folder/new%20folder/

- 예시 3 (출력을 텍스트 파일에 저장):
 java -jar iis_shortname_scanner.jar 0 20 http://example.com/folder/new%20folder/ > c:\results.txt

- 예시 4 (IIS 기본 인증 우회):
 java -jar iis_shortname_scanner.jar 2 20 http://example.com/folder/AuthNeeded:$I30:$Index_Allocation/

- 예시 5 (새 구성 파일 사용):
 java -jar iis_shortname_scanner.jar 2 20 http://example.com/folder/ newconfig.xml 
 
- 예시 6 (Linux 상자에서 여러 대상 스캔):
 ./multi_targets.sh scope.txt 1

참고 1: 스캐너 설정을 변경하고 추가 헤더를 추가하려면 config.xml 파일을 편집하십시오. 참고 2: 때로는 처음에 작동하지 않을 수 있으며 다시 시도해야 합니다.

작동 원리

다음 예에서 IIS는 파일이 존재할 때 다른 메시지로 응답합니다:

root@kitploit:~
http://target/folder/valid*~1.*/.aspx
http://target/folder/invalid*~1.*/.aspx

그러나 IIS 서버마다 응답이 다를 수 있으며, 예를 들어 일부는 다음 또는 다른 유사한 패턴으로 작동할 수 있습니다:

root@kitploit:~
http://target/folder/valid*~1.*\.asp
http://target/folder/invalid*~1.*\.asp

GET, POST, OPTIONS, DEBUG 등 요청 전송 방법도 중요합니다.

프록시를 사용하여 요청을 모니터링하는 것이 이 문제와 이 스캐너를 이해하는 가장 좋은 방법이라고 생각합니다.

이 문제를 해결하는 방법

Microsoft는 이 보안 문제를 패치하지 않습니다. 그들의 마지막 응답은 다음과 같습니다:

root@kitploit:~
Microsoft 보안 대응 센터에 연락해 주셔서 감사합니다.  

이 문제를 알려주셔서 감사합니다. 이전 지침은 그대로 유지됩니다: 8.3 이름이 비활성화된 상태로 IIS를 배포하십시오.  

따라서 Windows 운영 체제에서 다음 레지스트리 키를 생성하여 8.3 이름이 비활성화된 상태로 IIS를 배포하는 것이 좋습니다:

root@kitploit:~
	키:   HKLM\SYSTEM\CurrentControlSet\Control\FileSystem
	이름:  NtfsDisable8dot3NameCreation 
	값:        1 

참고: 웹 폴더를 다시 생성해야 합니다. NtfsDisable8dot3NameCreation 레지스트리 항목 변경은 변경 후 생성되는 파일 및 디렉터리에만 영향을 미치므로, 이미 존재하는 파일은 영향을 받지 않습니다.

Docker 사용법

이미지 빌드:

root@kitploit:~
docker build . -t shortname

파일 모드:

root@kitploit:~
docker run \
  -v $(realpath urls.txt):/app/urls.txt \
  -v $(realpath output_dir):/app/iis_shortname_results \
  shortname -f urls.txt

단일 모드:

root@kitploit:~
docker run shortname 2 20 http://example.com

구성 파일 덮어쓰기:

root@kitploit:~
docker run \
-v $(realpath config.xml):/app/config.xml \
shortname http://example.com

참고 자료

연구 링크:

  • https://soroush.me/blog/2023/07/thirteen-years-on-advancing-the-understanding-of-iis-short-file-name-sfn-disclosure/
  • https://soroush.secproject.com/blog/2014/08/iis-short-file-name-disclosure-is-back-is-your-server-vulnerable/
  • http://soroush.secproject.com/downloadable/microsoft_iis_tilde_character_vulnerability_feature.pdf (오래된 원본 연구)

웹사이트 참고:

  • http://soroush.secproject.com/blog/2012/06/microsoft-iis-tilde-character-vulnerabilityfeature-short-filefolder-name-disclosure/

비디오 링크:

  • https://www.youtube.com/watch?v=KbZ-y7b7yDs (SteelCon 2023)
  • https://www.youtube.com/watch?v=HrJW6Y9kHC4 (shubs @infosec_au)
  • http://www.youtube.com/watch?v=XOd90yCXOP4

기타 링크:

  • http://www.osvdb.org/83771
  • http://www.exploit-db.com/exploits/19525/
  • http://securitytracker.com/id?1027223
도구 다운로드