Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pyWhat — 🐸 무엇이든 식별하세요. pyWhat는 이메일, IP 주소 등을 쉽게 식별할 수 있게 해줍니다. .pcap 파일이나 텍스트를 입력하면 그것이 무엇인지 알려줍니다! 🧙‍♀️ | Kitploit
도구/GitHubGitHub/bee-san/pywhat
OSINT (Open Source Intelligence)ReconnaissanceVulnerability AnalysisNetwork ForensicsData ExfiltrationForensicsInformation GatheringMalware AnalysisSecret DetectionLearning & Education
GitHubbee-san/pywhat
7.3k3885819일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

pyWhat

🐸 무엇이든 식별하세요. pyWhat는 이메일, IP 주소 등을 쉽게 식별할 수 있게 해줍니다. .pcap 파일이나 텍스트를 입력하면 그것이 무엇인지 알려줍니다! 🧙‍♀️

저장소 보기

➡️ Discord ⬅️
무엇이든 식별하는 가장 쉬운 방법
pip3 install pywhat && pywhat --help

Discord PyPI - Downloads Twitter Follow PyPI - Python Version PyPI


🤔 이것은 무엇인가?

이런 상황을 상상해 보세요: 정체불명의 텍스트 🧙‍♂️ 0x52908400098527886E0F7030069857D2E4169EE7 또는 dQw4w9WgXcQ를 발견하고 그것이 무엇인지 궁금해합니다. 어떻게 하시겠습니까?

what을 사용하면 what "0x52908400098527886E0F7030069857D2E4169EE7"라고 묻기만 하면 what이 알려줍니다!

what의 역할은 무언가가 _무엇_인지 식별하는 것입니다. 파일이든 텍스트든 말이죠! 파일의 헥스 값도 가능합니다! 파일 _내부_의 텍스트는 어떨까요? 그것도 지원합니다! what은 재귀적으로 동작하여 텍스트 내의 모든 것을 식별합니다!

설치

🔨 pip 사용하기

$ pip3 install pywhat

또는

# 속도를 향상시킬 수 있는 선택적 종속성을 설치합니다
$ pip3 install pywhat[optimize] 

🔨 Mac에서는?

$ brew install pywhat

MacPorts 사용자를 위해서는:

$ sudo port install pywhat

⚙ 사용 사례

🦠 Wannacry

WantToCry라는 새로운 악성코드를 발견했습니다. Wannacry를 떠올리며 한 연구원이 코드에서 킬 스위치를 발견하여 바이러스가 중단되었다는 것을 기억합니다.

Wannacry에 하드코딩된 도메인이 등록되면 바이러스가 중단되었습니다.

What을 사용하여 악성코드의 모든 도메인을 식별하고, 도메인 등록 기관 API를 사용하여 모든 도메인을 등록합니다.

🦈 Pcap 파일의 더 빠른 분석

네트워크 공격으로부터 얻은 .pcap 파일이 있다고 가정해 봅시다. What은 이를 식별하고 다음을 빠르게 찾아줍니다:

  • 모든 URL
  • 이메일
  • 전화번호
  • 신용카드 번호
  • 암호화폐 주소
  • 사회보장번호
  • 그리고 훨씬 더 많은 것들.

what을 사용하면 pcap에서 중요한 것들을 몇 분이 아닌 몇 초 만에 식별할 수 있습니다.

🐞 버그 바운티

PyWhat을 사용하여 버그 바운티를 통해 수익을 얻을 수 있는 것들을 스캔할 수 있습니다:

  • API 키
  • 웹훅
  • 자격 증명
  • 그리고 더 많은 것들

PyWhat을 다음과 같이 실행하세요:

pywhat --include "Bug Bounty" TEXT

이를 수행하려면 위와 같이 실행하세요.

다음은 몇 가지 예시입니다 👇

🐙 GitHub 저장소 API 키 유출

  1. 조직의 모든 GitHub 저장소를 다운로드합니다
  2. API 키와 같이 바운티로 제출할 수 있는 모든 것을 검색합니다
# 모든 저장소 다운로드
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone

# 발견 시 출력됩니다.
# 현재 디렉터리의 모든 파일을 반복합니다.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;

🕷 모든 웹 페이지에서 바운티 스캔하기

# 사이트의 모든 웹 페이지를 재귀적으로 다운로드
wget -r -np -k https://skerritt.blog

# 발견 시 출력됩니다.
# 현재 디렉터리의 모든 파일을 반복합니다.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;

참고: 버그 바운티 외에도 더 많은 필터를 지원합니다! pywhat --tags를 실행하세요

🌌 기타 기능

파일이 있고 그 안에서 유용한 구조화된 데이터를 찾고 싶을 때, What이 적합합니다.

또는 어떤 텍스트를 발견했는데 그것이 무엇인지 모를 때, What이 알려줍니다.

📁 파일 및 디렉터리 처리

파일 열기 what 'this/is/a/file/path'로 파일 경로를 전달할 수 있습니다. What은 그것이 파일인지 알아낼 만큼 똑똑합니다!

전체 디렉터리는 어떨까요? What은 그것도 처리할 수 있습니다! 재귀적으로 파일을 검색하고 필요한 모든 것을 출력합니다!

여러 입력 여러 파일, 디렉터리 또는 텍스트를 한 번에 전달할 수 있습니다. 예: what file1 file2 this/is/a/directory 'some text' 또는 find . -name '*.log' -exec what {} +. What은 모든 일치 항목의 파일을 표시하며, 텍스트 내의 일치 항목은 text 아래에 있고, --json은 모든 것을 하나의 JSON 객체로 반환합니다.

유니코드 What에 파이프로 전달되는 파일과 텍스트는 UTF-8, 또는 바이트 순서 표시가 있는 UTF-16이나 UTF-32일 수 있습니다. Windows에서 저장하는 "유니코드" 텍스트 파일처럼 말이죠. What은 또한 바이너리 파일의 UTF-16 문자열(예: strings -el)을 검색하는데, 이는 Windows 프로그램이 대부분의 텍스트를 저장하는 방식입니다. 터미널에서 표시할 수 없는 문자는 충돌하는 대신 \u20bf와 같은 이스케이프 시퀀스로 출력됩니다.

🔍 출력 필터링

때로는 AWS와 관련된 것만 보고 싶을 수 있습니다. 또는 버그 바운티, 또는 암호화폐만 말이죠!

what --rarity 0.2:0.8 --include Identifiers,URL https://skerritt.blog를 사용하여 출력을 필터링할 수 있습니다. 더 많은 정보를 얻으려면 what --help를 사용하세요.

기본적으로 what은 희귀도가 0.1 이상인 일치 항목만 표시합니다. 희귀도가 더 낮은 일치 항목은 종종 오탐이기 때문입니다. 예를 들어, YouTube 비디오 ID 자체(예: dQw4w9WgXcQ)는 임의의 11개 문자일 수 있으므로 what dQw4w9WgXcQ는 아무것도 찾지 못하지만, what --rarity 0: dQw4w9WgXcQ는 이를 표시합니다. YouTube 링크(예: https://youtu.be/dQw4w9WgXcQ 또는 youtube.com/watch?v=dQw4w9WgXcQ&t=42s)는 기본적으로 표시됩니다.

모든 필터를 보려면 pywhat --tags를 실행하세요! 필터를 결합할 수도 있습니다. 예를 들어 Ripple을 제외한 모든 암호화폐 지갑을 보려면 다음과 같이 하세요:

pywhat --include "Cryptocurrency Wallet" --exclude "Ripple Wallet" 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY

정규식의 이름은 태그처럼 작동하며, 많은 정규식에는 더 짧은 대체 이름도 있습니다. 예를 들어 Bitcoin (₿) Wallet Address의 경우 BTC Wallet, Amazon Resource Name (ARN)의 경우 ARN과 같습니다. Bitcoin과 Ethereum 지갑만 보려면:

pywhat --include "BTC Wallet,ETH Wallet" TEXT

pywhat --names를 실행하여 모든 정규식의 이름과 대체 이름을 확인하세요.

👽 정렬, 내보내기 등!

정렬 what -k rarity --reverse TEXT를 사용하여 출력을 정렬할 수 있습니다. 더 많은 정보를 얻으려면 what --help를 사용하세요.

상위 일치 항목 너무 많이 찾았나요? what --top 10 TEXT는 가장 가능성 높은 10개의 일치 항목만 표시하며, 가장 가능성 높은 것부터 먼저 표시하고, what --top 5% TEXT는 가장 가능성 높은 5%를 표시합니다. 디렉터리나 여러 입력의 경우, 이들은 모든 입력 중 가장 가능성 높은 일치 항목입니다. 가장 가능성 높은 일치 항목은 가장 높은 희귀도를 가지지만, 경계 없는 모드가 찾는 더 긴 단어나 일치 항목의 조각은 가능성이 더 낮습니다: what --top 1 0x52908400098527886E0F7030069857D2E4169EE7은 Ethereum 주소를 표시하며, 그 안의 카드 및 사회보장번호는 표시하지 않습니다. what -k likely TEXT는 이 순서대로 모든 일치 항목을 표시합니다. API에서는 pywhat.ranking.top_matches(identified, 10)이 Identifier.identify()가 반환하는 것 중 가장 가능성 높은 10개의 일치 항목을 유지하며, 일치 항목의 "Fragment" 키는 그것이 조각인지 여부를 나타냅니다.

내보내기 what --json을 사용하여 json으로 내보낼 수 있으며, 결과는 what --json > file.json을 사용하여 파일로 직접 보낼 수 있습니다. JSON은 한 줄로 출력되므로 what --json TEXT | jq와 같이 다른 프로그램으로 파이프할 수도 있습니다.

진행 상황 및 스트리밍 큰 파일이나 디렉터리에서처럼 검색이 오래 걸릴 때, 진행 표시줄은 What이 얼마나 진행되었는지 보여줍니다: 파일에 대해 검색한 정규식의 수와 현재 검색 중인 정규식, 그리고 디렉터리나 여러 입력의 경우 검색한 파일의 수를 보여줍니다. 이들은 터미널에서만 표시되며(출력이 파일로 리디렉션되는 경우 stderr에), 검색이 완료되면 사라집니다. --no-progress는 이를 끕니다. --stream을 사용하면 What은 검색이 완료될 때까지 기다리지 않고 일치 항목을 발견하는 즉시 출력합니다: what --stream big.log, 또는 일치 항목당 하나의 JSON 객체를 한 줄에 하나씩 얻으려면 what --stream --json big.log > matches.jsonl. 모든 일치 항목을 기다리지 않으므로 --stream은 이를 정렬(--key)하거나 가장 가능성 높은 것만 표시(--top)할 수 없으며, 해당 JSON에는 "Fragment" 키가 없습니다.

경계 없는 모드 What에는 문자열 내에서 식별 가능한 정보를 일치시키는 특별한 모드가 있습니다. 기본적으로 CLI에서는 활성화되어 있지만 API에서는 비활성화되어 있습니다. 더 많은 정보를 얻으려면 what --help를 사용하거나 API 문서를 참조하세요.

처리 정규식이 무언가를 찾으면, What은 정규식이 할 수 있는 것 이상으로 이를 추가 처리할 수 있습니다. 예를 들어, Unix 타임스탬프의 날짜가 설명에 추가됩니다: what --rarity 0: --include "UNIX Timestamp" 1637093119는 Date: November 16, 2021 8:05:19 PM UTC를 표시합니다. Bitcoin 지갑 주소에는 체크섬이 있으므로, 체크섬이 잘못된 일치 항목(예: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F)은 필터링됩니다. 이를 끄려면 what --disable-processing을 사용하세요.

키 검증 what --verify는 발견한 키가 유효한지 서비스에 물어보고 그 답변을 설명에 추가합니다. 현재는 Google API 키를 검증합니다: what --verify AIzaSyA00000000000000000000000000000000은 Verification: invalid, Google rejected the key (API_KEY_INVALID)를 표시합니다. 유효하지만 테스트된 API를 사용할 수 없는 키(예: SERVICE_DISABLED)는 유효한 것으로 보고됩니다. 검증은 키를 서비스로 전송하기 때문에(HTTPS를 통해, 키당 한 번) 기본적으로 꺼져 있으므로, 테스트가 허용된 키에만 사용하세요. 키의 Exploit에는 직접 검증할 수 있는 curl 명령도 포함되어 있습니다.

지도 좌표는 Google Maps로 연결됩니다. 대신 OpenStreetMap으로 연결하려면 what --map osm을 사용하세요: what --map osm '52.6169586, -1.9779857'은 Link: https://www.openstreetmap.org/search?query=52.6169586,-1.9779857을 표시합니다.

💬 대화형 모드

큰 것을 분석하시나요? --interactive로 한 번 메모리에 로드한 다음, 다시 스캔하지 않고도 What이 찾은 것을 원하는 만큼 자주 검색할 수 있습니다:

도구 다운로드