
텍스트에서 IP 주소, 이메일 주소, 해시, 파일, 신용카드, 사회보장번호 등 더 많은 정보를 빠르게 추출합니다
DataSurgeon(ds)은 침해 대응, DLP, 침투 테스트 및 CTF 챌린지를 위해 설계된 다목적 도구입니다. 이메일, 전화번호, 해시, 신용카드, URL, IP 주소, MAC 주소, SRV DNS 레코드 등 다양한 유형의 민감 정보를 추출할 수 있습니다!
플러그인 관리 방법을 알아보려면 여기 가이드를 참조하세요.
이 업데이트는 DataSurgeon에 플러그인 관리 시스템을 도입합니다. 이제 --add, --remove, --list 옵션을 사용하여 플러그인을 추가, 제거 및 나열할 수 있습니다.
또한 Windows 레지스트리 경로를 찾을 수 있는 새로운 플러그인인 ds-winreg-plugin도 추가했습니다.
새 플러그인을 추가하려면 --add <URL>을 사용하세요. 여기서 URL은 plugins.json 파일이 있는 GitHub 리포지토리입니다. 플러그인을 제거하려면 --remove <URL>을 사용하세요. 모든 플러그인을 보려면 --list 옵션을 사용하세요.
플러그인이 추가되면 DataSurgeon에서 인수로 사용할 수 있습니다. 인수의 이름은 플러그인의 plugins.json 파일에 있는 "Argument Long Name"입니다.
빠른 설치 프로그램은 DataSurgeon 업데이트에도 사용할 수 있습니다.
Rust와 Git을 설치한 후 터미널을 다시 시작하세요.
read -p "Would you like to add 'ds' to your local bin? This will make 'ds' executable from any location in your terminal. (y/n) " response && wget -q -O - https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | bash -s -- "$response"
상승된 PowerShell 창에서 아래 줄을 입력하세요.
IEX (New-Object Net.WebClient).DownloadString("https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.ps1")
터미널을 다시 시작하면 명령줄에서 ds를 사용할 수 있습니다.
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | sh

여기서는 wget을 사용하여 stackoverflow에 요청을 보낸 후 본문 텍스트를 ds로 전달합니다. -F 옵션은 발견된 모든 파일을 나열합니다. --clean은 반환될 수 있는 추가 텍스트(예: 추가 HTML)를 제거하는 데 사용됩니다. 그런 다음 결과를 uniq로 보내 중복되지 않은 파일만 남깁니다. 원한다면 -S를 사용하여 상단의 경고 메시지 'Reading standard input..'를 제거할 수 있습니다.
$ wget -qO - https://www.stackoverflow.com | ds -F --clean | uniq

여기서는 autodeauth의 로그 파일에서 -m 쿼리를 사용하여 모든 MAC 주소를 가져옵니다. --hide 옵션은 결과 앞에 있는 식별자 문자열을 숨깁니다. 이 경우 'mac_address: '가 출력에서 숨겨집니다. -T 옵션은 같은 줄에서 여러 번 일치를 확인하는 데 사용됩니다. 일반적으로 일치 항목이 발견되면 도구는 다시 확인하지 않고 다음 줄로 이동합니다.
$ ./ds -m -T --hide -f /var/log/autodeauth/log
2023-02-26 00:28:19 - Sending 500 deauth frames to network: BC:2E:48:E5:DE:FF -- PrivateNetwork
2023-02-26 00:35:22 - Sending 500 deauth frames to network: 90:58:51:1C:C9:E1 -- TestNet
--directory 옵션을 사용하여 지정된 디렉터리의 모든 파일을 재귀적으로 읽을 수 있습니다. -D 옵션은 일치 항목이 발견된 파일 이름을 표시하는 데 사용됩니다. -l 또는 --line은 콘텐츠가 발견된 줄 번호를 표시하는 데 사용됩니다.
$ ds --directory test_dir/ -Dl

결과를 CSV 파일로 출력하려면 -o 옵션 다음에 데이터를 저장할 파일 이름을 사용하세요. -D와 -X도 지원됩니다. 형식은 다음과 같습니다: ds -o <FILENAME>.csv (.csv가 필요합니다).
$ wget -qO - https://www.stackoverflow.com | ds -o output.csv -C

특정 쿼리가 제공되지 않으면 ds는 가능한 모든 데이터 유형을 검색하며, 이는 개별 쿼리를 사용하는 것보다 훨씬 느립니다. 가장 느린 쿼리는 --files입니다. 또한 cat을 사용하여 데이터를 ds로 파이프하는 것이 약간 더 빠릅니다.
아래는 ds-test로 생성된 5GB 테스트 파일을 처리할 때의 경과 시간입니다. 각 테스트는 3번 실행되었으며 평균 시간이 기록되었습니다.
Processor Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz, 2904 Mhz, 6 Core(s), 12 Logical Processor(s)
Ram 12.0 GB (11.9 GB usable)
| 명령어 | 속도 |
|---|---|
cat test.txt | ds -t | 00h:02m:04s |
ds -t -f test.txt | 00h:02m:05s |
cat test.txt | ds -t -o output.txt | 00h:02m:06s |
| 명령어 | 속도 | 쿼리 개수 |
|---|---|---|
cat test.txt | ds -t -6 | 00h:00m:12s | 1 |
cat test.txt | ds -t -i -m |
새 이슈를 작성할 때는 버그 템플릿의 모든 질문에 답변해 주세요. 정보가 부족한 이슈는 종료됩니다.
| 00h:00m:22 |
| 2 |
cat test.txt | ds -tF6c | 00h:00m:32s | 3 |