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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ShellSweep — ShellSweeping: 악을 쓸어내다. | Kitploit
도구/GitHubGitHub/splunk/shellsweep
Static AnalysisVulnerability ScannersWeb SecurityMalware AnalysisLearning & EducationAnomaly Detection
GitHubsplunk/shellsweep

ShellSweep

ShellSweeping: 악을 쓸어내다.

저장소 보기
1842029일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ShellSweep

ShellSweeping the evil

ShellSweep이 필요한 이유

"ShellSweep"는 지정된 디렉터리에서 잠재적인 웹 셸 파일을 탐지하도록 설계된 PowerShell/Python/Lua 도구입니다.

ShellSweep와 그 도구 모음은 파일 콘텐츠의 엔트로피를 계산하여 파일이 웹 셸일 가능성을 추정합니다. 높은 엔트로피는 더 많은 무작위성을 나타내며, 이는 웹 셸에서 흔히 발견되는 암호화되거나 난독화된 코드의 특성입니다.

  • 일반적으로 웹 셸에 사용되는 특정 확장자(.asp, .aspx, .asph, .php, .jsp)의 파일만 처리합니다.
  • 특정 디렉터리를 스캔에서 제외할 수 있습니다.
  • 특정 해시를 가진 파일은 스캔 중에 무시할 수 있습니다.

ShellSweep은 어떻게 셸을 찾나요?

정보 이론 또는 데이터 과학의 맥락에서 엔트로피는 데이터 집합의 예측 불가능성, 무작위성 또는 무질서의 척도입니다. 이 개념은 Claude Shannon이 1948년 논문 "A Mathematical Theory of Communication"에서 도입했습니다.

파일이나 텍스트 문자열에 적용될 때 엔트로피는 데이터의 무작위성을 평가하는 데 도움이 될 수 있습니다. 작동 방식은 다음과 같습니다. 파일이 완전히 무작위 데이터(각 바이트가 0에서 255 사이의 어떤 값일 가능성이 동일)로 구성된 경우 엔트로피는 8에 가깝습니다(log2(256) = 8). 파일이 고도로 구조화된 데이터(예: 대부분의 바이트가 ASCII 문자인 텍스트 파일)로 구성된 경우 엔트로피는 더 낮습니다. 웹 셸이나 악성 파일을 찾는 맥락에서 엔트로피는 유용한 지표가 될 수 있습니다.

  • 많은 난독화된 스크립트나 암호화된 페이로드는 난독화 또는 암호화 프로세스로 인해 데이터가 무작위로 보이기 때문에 높은 엔트로피를 가질 수 있습니다.
  • 일반 텍스트 파일이나 HTML 파일은 사람이 읽을 수 있는 텍스트에 패턴과 구조(특정 문자가 더 흔하고, 단어는 일반적으로 공백으로 구분됨 등)가 있으므로 일반적으로 엔트로피가 낮습니다. 따라서 비정상적으로 높은 엔트로피를 가진 파일은 의심스러울 수 있으며 추가 조사가 필요할 수 있습니다. 그러나 악성의 확실한 지표는 아닙니다. 파일이 높은 엔트로피를 가질 수 있는 합법적인 이유도 많고, 맬웨어가 높은 엔트로피를 피할 수 있는 방법도 많습니다. 잠재적 위협을 탐지하기 위한 더 큰 도구 상자 중 하나일 뿐입니다.

ShellSweep에는 파일 콘텐츠의 엔트로피를 계산하는 Get-Entropy 함수가 포함되어 있습니다:

  • 파일에 각 문자가 나타나는 빈도를 계산합니다.
  • 이러한 빈도를 사용하여 각 문자의 확률을 계산합니다.
  • 각 문자에 대해 -p*log2(p)를 합산합니다. 여기서 p는 문자의 확률입니다. 이것이 정보 이론의 엔트로피 공식입니다.

ShellSweepX가 필요한 이유?

ShellSweepX는 ShellSweep의 핵심 기능을 한 단계 더 발전시켜 기존 EDR(Endpoint Detection and Response) 솔루션에 비해 여러 장점을 제공합니다:

  1. 전문화된 초점: EDR 솔루션이 광범위한 네트를 던지는 것과 달리 ShellSweepX는 웹 셸 탐지에 특화되어 있습니다. 이러한 전문화된 초점 덕분에 특정 위협을 더 정확하고 효율적으로 탐지할 수 있습니다.
  2. 낮은 리소스 오버헤드: ShellSweepX는 경량이며 많은 EDR 솔루션과 달리 지속적인 백그라운드 프로세스나 시스템 모니터링이 필요하지 않습니다. 따라서 시스템 성능에 미치는 영향이 적습니다.
  3. 사용자 정의 가능 및 투명성: ShellSweepX의 오픈 소스 특성으로 인해 탐지 방법이 완전히 투명합니다. 특정 환경에 맞게 탐지 매개변수를 쉽게 사용자 정의하고 미세 조정할 수 있습니다.
  4. 외부 서비스에 대한 의존성 없음: ShellSweepX는 클라우드 기반 분석이나 지속적인 업데이트에 의존하지 않고 로컬에서 작동하므로 중요한 데이터를 통제할 수 있습니다.
  5. 다계층 탐지: ShellSweepX는 엔트로피 분석, 패턴 매칭, 휴리스틱 분석 등 다양한 탐지 방법을 사용하여 웹 셸 탐지에 포괄적인 접근 방식을 제공합니다.
  6. 상세 보고: ShellSweepX는 엔트로피 값, 탐지 방법, 신뢰도 점수를 포함한 잠재적 위협에 대한 심층 정보를 제공하여 정보에 기반한 의사 결정을 지원합니다.
  7. 크로스 플랫폼 호환성: PowerShell, Python, Lua 버전으로 제공되어 다양한 환경에 배포할 수 있습니다.

ShellSweepX는 본격적인 EDR 솔루션을 대체하는 것은 아니지만, 특히 웹 셸이 심각한 위협이 되는 환경에서 보안 무기고의 강력하고 전문화된 도구로 사용됩니다.

기능 비교

ShellScan

ShellScan은 알려진 여러 악성 웹 셸 디렉터리를 스캔하고 파일 확장자별 평균, 중앙값, 최소 및 최대 엔트로피 값을 출력하는 기능을 제공합니다.

Pass ShellScan.ps1 some directories of web shells, any size set. I used:

  • https://github.com/tennc/web shell
  • https://github.com/BlackArch/web shells
  • https://github.com/tarwich/jackal/blob/master/libraries/

This will give a decent training set to get entropy values.

Output example:

root@kitploit:~
Statistics for .aspx files:
Average entropy: 4.94212121048115
Minimum entropy: 1.29348709979974
Maximum entropy: 6.09830238020383
Median entropy: 4.85437969842084
Statistics for .asp files:
Average entropy: 5.51268104400858
Minimum entropy: 0.732406213077191
Maximum entropy: 7.69241278153711
Median entropy: 5.57351177724806

ShellCSV

먼저, ShellCSV의 사용법과 디스크에 있는 정상 파일의 엔트로피를 식별하는 데 어떻게 도움이 되는지 설명하겠습니다. 방어자가 웹 서버에서 이 도구를 실행하여 모든 파일과 엔트로피 값을 수집하고, 작업 환경에서 어떤 경로와 확장자가 가장 두드러지는지 더 잘 이해할 수 있다는 아이디어입니다.

출력 예시는 ShellCSV.csv를 참조하십시오.

ShellSweep

블로그: Ghost in the Web Shell: Introducing ShellSweep

먼저, 선호하는 언어를 선택하세요: Python, PowerShell 또는 Lua.

  • ShellScan 또는 ShellCSV의 결과에 따라 필요에 따라 엔트로피 값을 수정합니다.
  • 필요에 따라 파일 확장자를 수정합니다. ASPX 앱이 아닌 경우 ASPX를 검색할 필요가 없습니다.
  • 경로를 수정합니다. C:\ 전체를 스캔하는 것은 권장하지 않습니다. 필터링할 것이 너무 많습니다.
  • 필요한 필터를 수정합니다.
  • 실행하세요!

여기까지 오셨다면, 이제 튜닝을 반복할 차례입니다. 새로운 셸을 발견하셨나요? 엔트로피를 수집하고 필요에 따라 수정하세요.

ShellSweepPlus

블로그: Introducing ShellSweepPlus: Open-Source Web Shell Detection

ShellSweepPlus는 웹 환경에서 잠재적인 웹 셸을 탐지하고 분석하도록 설계된 고급 PowerShell 스크립트입니다. ShellSweep의 핵심 기능을 기반으로 하여 향상된 기능과 탐지 능력을 제공합니다.

주요 기능:

  1. 동적 스캔: 디렉터리 경로, 제외, 해시 무시 등 사용자 정의 가능한 스캔 매개변수.
  2. 정밀 엔트로피 임계값: 다양한 파일 확장자에 맞춤형 엔트로피 임계값을 제공하는 정교한 중첩 해시테이블 활용.
  3. 다계층 탐지: '엔트로피 기반', '표준편차 기반', '혼합 모드', '휴리스틱 기반' 탐지 방법을 동적 가중치와 통합.
  4. 고급 정적 코드 분석: 심층 탐지를 위한 광범위한 의심 패턴 목록 사용.
  5. 엔트로피 분석: 파일 콘텐츠 엔트로피를 계산하고 분석하여 잠재적으로 난독화되거나 암호화된 악성 콘텐츠 식별.
  6. 상세 결과 표시: 구조화된 JSON 형식으로 잠재적 위협을 출력하여 쉽게 파싱하고 분석할 수 있음.
  7. 종합 로깅: 스크립트 작업에 대한 상세한 인사이트를 제공하는 상세 로깅 포함.
  8. 휴리스틱 분석: 이상 징후와 잠재적 제로데이 웹 셸을 식별하기 위한 휴리스틱 기반 탐지 구현.

사용법:

  1. $DirectoryPaths 변수에서 스캔할 디렉터리를 지정합니다.
  2. 환경에 맞게 $suspiciousPatterns를 사용자 정의합니다.
  3. $excludePaths를 사용하여 특정 디렉터리를 건너뜁니다.
  4. $ignoreHashes 또는 $ignoreHashesFilePath를 사용하여 알려진 안전한 파일을 제외합니다.
  5. PowerShell 5.1 이상에서 스크립트를 실행합니다.

예제 출력:

root@kitploit:~
json
{
"TotalFilesScanned": 1000,
"Potential web shells": 5,
"ScanDuration": "00:05:30"
}

ShellSweepPlus는 여러 분석 기술을 결합하여 정확도를 높이고 정교한 위협까지 탐지하는 강력하고 유연한 웹 셸 탐지 솔루션을 제공합니다.

질문

Git 이슈를 열거나 위키를 확인해 주세요.

감사합니다

이 프로젝트가 마음에 드셨다면 프로젝트에 별표를 눌러 주시고 가족 및 친구와 공유해 주세요.

도구 다운로드
특징/측면ShellSweepShellSweepPlusShellSweepX
베이스라인 탐지특정 파일 확장자에 대해 하드코딩된 엔트로피 값 사용동적 베이스라인 탐지로 즉석에서 엔트로피 계산엔트로피 기반 탐지와 머신러닝 예측의 조합 사용
파일 확장자.asp, .aspx, .asax, .jspx, .html, .ashx 확장자 처리.asp, .ashx, .asax, .jspx, .html, .aspx 확장자 처리API를 통해 구성 가능한 파일 확장자
엔트로피 계산파일 콘텐츠의 엔트로피를 계산하여 잠재적 웹 셸 탐지향상된 엔트로피 기반 탐지, 의심 키워드와 교차 참조청크 기반 분석을 통한 고급 엔트로피 계산
제외 기능특정 디렉터리를 스캔에서 제외 가능특정 디렉터리를 스캔에서 제외 가능API를 통해 구성 가능한 제외
해시 무시특정 해시를 가진 파일 무시특정 해시를 가진 파일 무시API를 통해 구성 가능한 해시 무시
출력잠재적 웹 셸 발견 시 파일 이름, 엔트로피 값, 해시 출력. 그렇지 않으면 "No evil identified today." 출력잠재적 웹 셸 발견 시 파일 이름, 엔트로피 값, 해시, 마지막 수정 날짜, 탐지 방법, 신뢰도 점수를 JSON 형식으로 출력. 그렇지 않으면 "No potential web shells detected." 출력파일 메타데이터, 엔트로피, 예측 결과, YARA 일치를 포함한 상세 JSON 출력
엔트로피 및 표준편차엔트로피 값 사용각 파일 확장자에 대해 엔트로피 값의 평균과 표준편차 계산고급 분석을 위해 엔트로피와 표준편차 모두 계산
혼합 모드 탐지없음엔트로피 기반 탐지, 표준편차 기반 탐지, 혼합 모드 탐지(하드코딩된 임계값과 표준편차 활용)의 조합 사용엔트로피 기반 탐지, 머신러닝 예측, YARA 규칙 매칭 결합
정적 코드 분석없음알려진 악성 패턴을 식별하고 플래그 지정하기 위해 코드를 정적으로 분석하는 패턴 기반 탐지 메커니즘패턴 기반 탐지를 위해 YARA 규칙 활용
휴리스틱 분석없음휴리스틱 규칙에 기반한 이상 징후를 탐지하기 위한 Perform-HeuristicAnalysis 함수 도입, 제로데이 웹 셸 탐지 강화휴리스틱 분석을 위해 머신러닝 기반 예측 구현
상세 결과 표시없음파일 경로, 엔트로피, 표준편차, 해시, 마지막 수정 날짜, 탐지 방법, 신뢰도 점수를 포함한 구조화된 JSON 형식으로 잠재적 위협 표시모든 분석 방법을 포함한 종합 결과를 구조화된 JSON 형식으로 제공
종합 로깅없음상세 로깅 및 운영 투명성을 위해 스크립트 전체에 Write-Verbose 명령 통합에이전트 및 서버 구성 요소 전반에 상세 로깅 구현
신뢰도 점수없음탐지 방법에 기반한 신뢰도 점수를 계산하고 의심 패턴 존재 여부에 따라 조정머신러닝 예측 신뢰도를 사용하고 다른 탐지 방법과 결합하여 종합 점수 생성
모듈식 설계없음다양한 작업에 대해 별도의 함수(예: Process-File, Create-ResultObject, Adjust-ConfidenceScore)를 사용하여 코드 재사용성과 유지보수성 촉진에이전트, 서버, 분석 함수를 위한 별도 구성 요소로 고도로 모듈화된 설계
크로스 플랫폼 지원PowerShell 전용PowerShell 전용PowerShell, Python, Bash 구현 지원
API 통합없음없음구성, 결과 제출, 관리를 위한 포괄적인 API
AI 기반 분석없음없음AI 기반 분류 및 분석 기능 통합
YARA 규칙 관리없음없음API를 통해 YARA 규칙 추가, 업데이트, 삭제 가능
웹 인터페이스없음없음결과 시각화 및 분석을 위한 웹 기반 인터페이스 제공