
zarp는 로컬 네트워크의 취약점을 악용하는 데 중점을 둔 네트워크 공격 도구입니다. 이는 시스템 취약점을 공격하는 것이 아니라, 네트워크 프로토콜과 스택을 남용하여 시스템을 장악하고 침투하며 무력화시키는 것을 의미합니다. 세션을 관리하여 여러 시스템을 동시에 신속하게 중독(poison)시키고 스니핑할 수 있으며, 민감한 정보를 자동으로 또는 공격자에게 직접 덤프할 수 있습니다. 다양한 프로토콜에서 사용자 이름과 비밀번호를 자동으로 파싱하고 HTTP 트래픽 등을 확인할 수 있는 여러 스니퍼가 포함되어 있습니다. 또한 다양한 시스템과 애플리케이션을 무력화하는 DoS 공격도 포함되어 있습니다. 이러한 도구들은 실제 네트워크에서 매우 복잡한 공격 시나리오를 빠르고 깔끔하며 조용하게 실행할 수 있는 가능성을 열어줍니다.
zarp의 장기 목표는 네트워크의 마스터 명령 센터가 되는 것입니다. 즉, 전체 네트워크에 대한 강력한 개요와 심층 분석을 제공하는 모듈식의 잘 정의된 프레임워크를 제공하는 것입니다. 이는 향후 웹 애플리케이션 프런트엔드가 포함되면서 실현될 것입니다. 웹 프런트엔드는 텔레비전 화면 역할을 하고, CLI 인터페이스는 리모컨 역할을 합니다. 이를 통해 네트워크 토폴로지 보고서, 호스트 관계 등을 제공할 수 있습니다. zarp는 네트워크와 해당 호스트의 잠재적 취약성을 들여다볼 수 있는 창이 되는 것을 목표로 하며, 그 자체가 공격 플랫폼은 아닙니다. 이는 로컬 인트라넷 내에서 느껴지는 관계와 신뢰를 조작하는 것입니다. 향후 zarp의 웹앱 프런트엔드인 zeb를 기대해 주십시오.
현재 버전: 1.5 현재 개발 버전: 1.6
zarp는 가능한 한 의존성이 없도록 설계되었습니다. 가능한 경우 zarp는 거대한 라이브러리를 요구하거나 임포트하는 대신 순수 또는 네이티브 Python 구현을 선택했습니다. 그럼에도 불구하고 zarp를 실행하려면 다음이 필요합니다:
또한 특정 모듈에 액세스하려면 다음을 설치하는 것이 좋습니다:
권장 설치 과정은 다음을 실행하는 것입니다:
git clone git://github.com/hatRiot/zarp.git
pip install -r requirements.txt
그런 다음 다음을 실행할 수 있습니다:
sudo python zarp.py --update
이 명령은 zarp를 업데이트합니다. Git 페이지에서 tarball을 다운로드한 경우에는 업데이트 플래그가 작동하지 않습니다.
Scapy는 Zarp에 포함되어 있으므로 설치가 필요 없습니다. Wifite는 무선 AP 크래킹에 사용되며 특정 버전(ballast-dev 브랜치)이 필요합니다. 이는 zarp에 포함되어 있습니다. Scapy에는 일부 의존성이 필요하지만 대부분은 설치하기 쉽거나 이미 설치되어 있을 것입니다.
광범위한 범주는 다음과 같습니다 (자세한 내용은 위키 참조):
> help
zarp options:
help - This menu
opts - Dump zarp current settings
exit - Exit immediately
bg - Put zarp to background
set [key] [value] - Set key to value
zarp module options:
[int] [value] - Set option [int] to value [value]
[int] o - View options for setting
run (r) - Run the selected module
info - Display module information
모듈은 항목을 중첩하여 탐색할 수 있습니다:
bryan@debdev:~/tools/zarp$ sudo ./zarp.py
[!] Loaded 34 modules.
____ __ ____ ____
(__ ) / _\ ( _ \( _ '
/ _/ / \ ) / ) __/
(____)\_/\_/(__\_)(__) [Version: 0.1.5]
[1] Poisoners [5] Parameter
[2] DoS Attacks [6] Services
[3] Sniffers [7] Attacks
[4] Scanners [8] Sessions
0) Back
> 6 2
+-----+----------------+----------------------------+------+----------+-
| | Option | Value | Type | Required |
+-----+----------------+----------------------------+------+----------+-
| [1] | Displayed MOTD | b4ll4stS3c FTP Server v1.4 | str | False |
+-----+----------------+----------------------------+------+----------+-
| [2] | Listen port | 21 | int | False |
+-----+----------------+----------------------------+------+----------+-
0) Back
FTP Server >
중첩 항목은 모듈이 허용하는 한 깊이까지 들어갑니다. 참고로 지금은 'dumb' 방식이라서 숫자를 여러 개 입력하면 계속해서 모듈 선택으로 덤프됩니다!
명령줄에서 접근할 수 있는 모듈 목록:
bryan@debdev:~/tools/zarp$ sudo ./zarp.py --help
[!] Loaded 34 modules.
____ __ ____ ____
(__ ) / _\ ( _ \( _ '
/ _/ / \ ) / ) __/
(____)\_/\_/(__\_)(__) [Version: 0.1.5]
usage: zarp.py [-h] [-q FILTER] [--update] [--wap] [--ftp] [--http] [--smb]
[--ssh] [--telnet] [-w] [-s] [--service-scan]
optional arguments:
-h, --help show this help message and exit
-q FILTER Generic network sniff
--update Update Zarp
Services:
--wap Wireless access point
--ftp FTP server
--http HTTP Server
--smb SMB Service
--ssh SSH Server
--telnet Telnet server
Scanners:
-w Wireless AP Scan
-s Network scanner
--service-scan Service scanner
bryan@debdev:~/tools/zarp$
명령줄 GUI로 실행했을 때의 기본 메뉴:
bryan@devbox:~/zarp$ sudo ./zarp.py
[!] Loaded 33 modules.
____ __ ____ ____
(__ ) / _\ ( _ \( _ '
/ _/ / \ ) / ) __/
(____)\_/\_/(__\_)(__)
[Version 0.1.4]
[1] Poisoners [5] Parameter
[2] DoS Attacks [6] Services
[3] Sniffers [7] Attacks
[4] Scanners [8] Sessions
0) Back
>
모듈 탐색은 매우 간단하며, 실제로 알아야 할 명령은 몇 가지뿐입니다. 모듈 컨텍스트에서 'info' 명령을 사용하면 도움말 또는 정보 문자열을 출력할 수 있습니다:
ARP Spoof > info
---------------------------------------------------------
The heart and soul of zarp. This module exploits the ARP
protocol to redirect all traffic through the attacker's
chosen system.
http://en.wikipedia.org/wiki/ARP_poison
---------------------------------------------------------
+-----+------------------------------------+-------+------+----------+-
| | Option | Value | Type | Required |
+-----+------------------------------------+-------+------+----------+-
| [1] | Interval to send respoofed packets | 2 | int | False |
+-----+------------------------------------+-------+------+----------+-
| [2] | Address to spoof from target | None | ip | True |
+-----+------------------------------------+-------+------+----------+-
| [3] | Target to poison | None | ip | True |
+-----+------------------------------------+-------+------+----------+-
0) Back
ARP Spoof >
옵션을 설정하려면 옵션 번호 다음에 값을 입력하십시오:
ARP Spoof > 2 192.168.1.219
옵션이 선택 목록을 지원하는 경우 옵션 번호 다음에 소문자 o를 입력하십시오:
HTTP Sniffer > 2 o
[!] Options: ['Site Only', 'Request String', 'Request and Payload', 'Session IDs', 'Custom Regex']
+-----+-----------------------------+--------------+-------+----------+-
| | Option | Value | Type | Required |
+-----+-----------------------------+--------------+-------+----------+-
| [1] | Regex for level 5 verbosity | None | regex | False |
+-----+-----------------------------+--------------+-------+----------+-
| [2] | Output verbosity | 1 | int | False |
+-----+-----------------------------+--------------+-------+----------+-
| [3] | Address to sniff from | 192.168.1.97 | ip | False |
+-----+-----------------------------+--------------+-------+----------+-
0) Back
HTTP Sniffer >
모든 필수 옵션이 설정되면 소문자 '''r'''을 지정하여 모듈을 실행할 수 있습니다.
freedcamp로 이동했습니다. 기여하고 싶다면 이메일을 보내주십시오.