본문 바로가기
IT Tools

Easy EASM 무료 도구(Free Tool)

by 떠도리c 2024. 9. 23.
반응형

💻 테스트 환경 : kali-linux 2022.2

🔹 Easy EASM 란

Easy EASM은 조직에 외부 자산에 대한 가시성을 제공하는 다루기 쉬운 도구입니다.
Easy EASM은 10줄 이하의 설정, 오픈 소스 도구 사용 및 원버튼 배포를 통해 외부에 노출된 자산관리를 쉽게 할 수 있습니다.
Easy EASM은 매일 사용자를 스캔하고 새로 발견된 자산에 대해 Slack 또는 Discord를 통해 알림을 전달할 수 있습니다. 또한 EASM 수행 결과를 Excel(CSV) 형태 파일로 저장할 수 있습니다.

 

💡 EASM(External Attack Surface Management, 외부 공격 표면 관리)
🔹 EASM은 외부에 노출되어 있는 조직의 정보를 수집하여 조직의 외부 및 내부 자산의 잠재적인 취약성과 보안 약점을 찾아 관리하고 알려지지 않은 인프라 기반 취약성을 표면화하는 데 도움을 줍니다.
🔹 EASM은 지속적인 모니터링과 관리가 제일 중요한 포인트 입니다

 

 

🔹 설치

Go 언어 설치

Kali linux에는 Go 언어가 기본으로 제공되지 않아 따로 설치를 해야 합니다.

>> apt install golang-go

Go 언어 설치


Easy EASM 설치

>> go install github.com/g0ldencybersec/EasyEASM/easyeasm@latest

Easy EASM 설치


🔹 실행

Easy EASM 실행

💡 Easy EASM을 설치하면 명령어를 수행하였던 경로에 go 디렉터리가 생성됩니다. 실행 파일은 /go/bin/ 디렉터리 안에 있습니다.

  • Easy EASM 실행 파일이 있는 디렉터리로 이동하여 config.yml 파일을 생성하고 예시 코드를 입력합니다.
# EasyEASM configurations
runConfig:
  domains:  # List root domains here.
    - example.com
    - mydomain.com
  slack: https://hooks.slack.com/services/DUMMYDATA/DUMMYDATA/RANDOM # Slack webhook url for Slack notifications.
  discord: https://discord.com/api/webhooks/DUMMYURL/Dasdfsdf # Discord webhook for Discord notifications.
  runType: fast   # Set to either fast (passive enum) or complete (active enumeration).
  activeWordList: subdomainWordlist.txt
  activeThreads: 100

config.yml 예시 코드

 

도메인 수정 예시

  • 도메인을 설정한 후 ./easyeasm 명령어를 수행합니다.

💡 Easy EASM은 subfinder, dnsx 등과 같은 도구를 사용하는데, 이 도구들이 설지가 되어 있지 않다면 필요한 도구까지 설치하며 동작합니다.

 

  • 모든 동작이 끝난 후 CSV 파일로 데이터가 저장됩니다.

💡 하지만 2023년 9월 22일 테스트일 기준으로 v1.0.4 버전에서는 CSV 생성에 대한 에러가 있어 CSV가 생성되지 않습니다. CSV 대신 tempHttpx.txt 파일에 찾은 subdomain 정보가 들어가 있습니다.

Easy EASM 제작자의 가이드대로 go install github.com/projectdiscovery/httpx/cmd/httpx@latest 명령어를 통한 해결을 시도 하였으나 아직 해결이 되지 않았습니다.

netflix - Sub Domains

httpx관련 에러와 CSV 파일이 생성되지 않는 현상에 대해서는 해결중에 있고, 해결되면 공식 Github에 공지가 있을 예정이라 하네요.


❌ PATH 에러 발생 시

easyeasm 도구를 처음 실행할 때 다음과 같이 PATH 관련 에러가 발생 할 수 있습니다.

이 에러는 EASM 수행에 필요한 go 관련 바이너리 파일들이 PATH 등록이 안되서 발생하는 에러입니다.

****************

EASY EASM

***************

No previous run data found
Running Passive Sources
Finding domains for google.com
Runing Subfinder on google.com
Running Amass on google.com
panic: exec: "subfinder": executable file not found in $PATH

goroutine 22 [running]:
github.com/g0ldencybersec/EasyEASM/pkg/passive/subfinder.RunSubfinder({0xc0000a8a50, 0xa}, 0x4d7e8a?, 0x0?)
        /root/go/pkg/mod/github.com/g0ldencybersec/!easy!e!a!s!m@v1.0.4/pkg/passive/subfinder/subfinder.go:21 +0x33e
created by github.com/g0ldencybersec/EasyEASM/pkg/passive.(*PassiveRunner).RunPassiveEnum
        /root/go/pkg/mod/github.com/g0ldencybersec/!easy!e!a!s!m@v1.0.4/pkg/passive/passive.go:26 +0x1ee

🔑  해결 방법

아래 명령어 수행 후 ./easyeasm 다시 실행

>> export PATH=$PATH:$(go env GOPATH)/bin

다른 좋은 방법은 ~/.profile or ~/.bashrc 파일에 경로를 추가하는 것입니다.

 

반응형