
Faraday의 명령줄 인터페이스
즐겨 사용하는 터미널에서 직접 faraday 사용

faraday-cli는 보안 워크플로우를 자동화하는 것을 더 쉽게 만들어주는 공식 클라이언트입니다.
설치하기 전에, 시스템 파이썬 패키지에 영향을 미치지 않도록 Python 가상 환경을 생성하고 활성화하는 것을 권장합니다. 예를 들어:
python3 -m venv .venv
source .venv/bin/activate
원한다면 virtualenv를 사용할 수도 있습니다. 가상 환경이 활성화되면 아래의 설치 명령어를 실행하세요.
pip install faraday-cli
git clone https://github.com/infobyte/faraday-cli.git
cd faraday-cli
pip install .
더 자세한 정보는 문서를 확인하세요.
faraday-cli에 대한 인증 설정
$ faraday-cli auth

워크스페이스를 생성하면 기본적으로 활성 워크스페이스로 선택됩니다. "-d" 플래그를 사용하지 않는 한입니다.
$ faraday-cli workspace create some_name
✔ Created workspace: some_name
$ faraday-cli workspace select some_name
✔ Selected workspace: some_name
$ faraday-cli list_ws
이름 호스트 서비스 취약점 활성 공개 읽기전용
--------- ------- ---------- ------- -------- -------- ----------
some_name 14 13 39 True False False
$ faraday-cli host list
ID IP OS 호스트명 서비스 취약점
---- ----------- ------- --------------- ---------- -------
574 127.0.0.1 unknown 1 3
566 127.0.0.10 unknown 1 3
569 127.0.0.11 unknown 1 3
568 127.0.0.12 unknown 1 3
570 127.0.0.13 unknown 1 3
576 127.0.0.2 unknown 1 3
565 127.0.0.3 unknown 1 3
572 127.0.0.4 unknown 1 3
573 127.0.0.5 unknown 1 3
567 127.0.0.6 unknown 1 3
571 127.0.0.7 unknown 1 3
564 127.0.0.8 unknown 1 3
575 127.0.0.9 unknown 1 3
590 58.76.184.4 unknown www.googlec.com 0 -
$ faraday-cli host get 574
$ faraday-cli host get 574
호스트:
ID IP OS 호스트명 소유자 소유됨 취약점
---- --------- ------- ----------- ------- ------- -------
574 127.0.0.1 unknown faraday False 3
서비스:
ID 이름 설명 프로토콜 포트 버전 상태 취약점
---- ------ ------------- ---------- ------ --------- -------- -------
2638 ssh tcp 22 unknown open 2
취약점:
ID 이름 심각도 상태 확인됨 도구
----- ---------------------------------------- ---------- -------- ----------- -------
13509 SSH Weak Encryption Algorithms Supported MED opened False Openvas
13510 SSH Weak MAC Algorithms Supported LOW opened False Openvas
13511 TCP timestamps LOW opened False Openvas
$ faraday-cli host create -d \''[{"ip": "stan.local", "description": "some server"}]'\'
또는 파이프로 전달:
$ echo '[{"ip": "1.1.1.5", "description": "some text"}]' | faraday-cli host create --stdin
작은따옴표(\') 이스케이프는 명령어로 사용할 때만 필요합니다. 쉘 또는 파이프를 사용할 때는 필요하지 않습니다
$ faraday-cli tool report "/path/to/report.xml"

$ faraday-cli ping -c 1 www.google.com

$ faraday-cli agent list
id name active status executors
---- -------- -------- -------- -----------
8 internal True online nmap
$ faraday-cli agent run -a 1 -e nmap -p \''{"target": "www.google.com"}'\'
Run executor: internal/nmap [{'successful': True}]
Faraday-cli는 쉘로 사용할 수 있으며 CLI에서 사용하는 모든 명령어를 동일하게 사용할 수 있습니다.

예를 들어, faraday에서 443 포트로 리스닝 중인 모든 호스트에 대해 nmap을 실행하고 결과를 다시 faraday로 가져옵니다.
$ faraday-cli host list --port 443 -ip | nmap -iL - -oX /tmp/nmap.xml && faraday-cli process_report /tmp/nmap.xml
assetfinder와 같은 도구를 사용하여 도메인을 조회하고, nmap으로 스캔한 후 결과를 faraday로 보냅니다.
$ assetfinder -subs-only example.com| sort | uniq |awk 'BEGIN { ORS = ""; print " {\"target\":\""}
{ printf "%s%s", separator, $1, $2
separator = ","}END { print "\"}" }' | faraday-cli agent run -a 1 -e nmap --stdin