Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
flare-fakenet-ng — FakeNet-NG - 차세대 동적 네트워크 분석 도구 | Kitploit
도구/GitHubGitHub/mandiant/flare-fakenet-ng
Packet Sniffing & AnalysisDynamic Analysis (Sandboxing)Network SecurityMalware AnalysisPenetration Testing
GitHubmandiant/flare-fakenet-ng

flare-fakenet-ng

FakeNet-NG - 차세대 동적 네트워크 분석 도구

저장소 보기
2.2k3762개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

root@kitploit:~
|  ____/\   | |/ /  ____| \ | |  ____|__   __|   | \ | |/ ____|
| |__ /  \  | ' /| |__  |  \| | |__     | |______|  \| | |  __
|  __/ /\ \ |  < |  __| | . ` |  __|    | |______| . ` | | |_ |
| | / ____ \| . \| |____| |\  | |____   | |      | |\  | |__| |
|_|/_/    \_\_|\_\______|_| \_|______|  |_|      |_| \_|\_____|

       D   O   C   U   M   E   N   T   A   T   I   O   N

FakeNet-NG 3.5는 맬웨어 분석가와 침투 테스터를 위한 차세대 동적 네트워크 분석 도구입니다. 오픈 소스이며 최신 Windows(및 Linux, 특정 작동 모드에서)용으로 설계되었습니다. FakeNet-NG는 Andrew Honig와 Michael Sikorski가 개발한 훌륭한 Fakenet 도구를 기반으로 합니다.

이 도구를 사용하면 실제 네트워크 서비스를 시뮬레이션하면서 모든 네트워크 트래픽 또는 특정 네트워크 트래픽을 가로채고 리디렉션할 수 있습니다. FakeNet-NG를 사용하면 맬웨어 분석가가 맬웨어의 기능을 신속하게 식별하고 네트워크 서명을 캡처할 수 있습니다. 침투 테스터와 버그 헌터는 애플리케이션의 특정 기능을 테스트하고 PoC를 프로토타이핑할 때 FakeNet-NG의 구성 가능한 차단 엔진과 모듈식 프레임워크가 매우 유용하다는 것을 알게 될 것입니다.

설치

FakeNet-NG는 몇 가지 다른 방법으로 설치할 수 있습니다. 아래 설치 과정에서는 FakeNet-NG가 사용하는 타사 오픈 소스 라이브러리를 시스템에 가져옵니다. 이러한 라이브러리는 런타임에 동적으로 로드되며, 일부 라이브러리는 LGPL 라이선스가 적용될 수 있습니다.

독립 실행형 실행 파일

릴리스 페이지에서 제공되는 컴파일된 버전을 다운로드하는 것이 가장 간단합니다:

root@kitploit:~
https://github.com/mandiant/flare-fakenet-ng/releases

'fakenet.exe'를 실행하여 FakeNet-NG를 실행합니다.

추가 모듈을 설치할 필요가 없어 맬웨어 분석 환경에 이상적이므로 Windows에서 FakeNet-NG를 사용하는 경우 이 방법을 선호합니다.

참고: FakeNet-NG는 바이러스 백신(AV) 및 엔드포인트 탐지 및 대응(EDR) 솔루션(예: Windows Defender, Chrome의 안전한 브라우징)에서 악성으로 플래그 지정될 수 있습니다. 이는 네트워크 트래픽을 수정하고 네트워크 서비스를 시뮬레이션하는 기능과 PyInstaller를 사용하여 릴리스 실행 파일을 빌드한 데 기인할 수 있습니다. 공식 릴리스 바이너리는 안전하며, 이러한 탐지는 오탐지로 간주되어야 합니다. 상기하자면, FakeNet-NG는 가상 머신(VM)과 같이 통제되고 격리된 환경에서 사용하도록 설계되었으며, 해당 환경에서 시스템의 네트워크 설정을 안전하게 변경할 수 있습니다.

모듈 설치

  1. Python 3.10.11과 Windows/Linux OS용 최신 pip를 설치합니다.

  2. Windows에서는 Visual C++ 빌드 도구를 다운로드하여 설치합니다.

    Linux 설치에는 다음 종속성이 필요합니다:

    • Python pip 패키지 관리자 (예: Ubuntu용 python-pip).
    • Python 개발 파일 (예: Ubuntu용 python-dev).
    • OpenSSL 개발 파일 (예: Ubuntu용 libssl-dev).
    • libffi 개발 파일 (예: Ubuntu용 libffi-dev).
    • libnetfilterqueue 개발 파일 (예: Ubuntu용 libnetfilter-queue-dev).

    다음 명령을 사용하여 이러한 종속성을 설치합니다:

    root@kitploit:~
     sudo apt-get install build-essential python3.10-dev libnetfilter-queue-dev
    
  3. pip를 사용하여 FakeNet-NG를 Python 모듈로 설치합니다:

    root@kitploit:~
     python -m pip install https://github.com/mandiant/flare-fakenet-ng/zipball/master
    

    또는 최신 소스 코드를 가져와 수동으로 설치합니다:

    root@kitploit:~
     git clone https://github.com/mandiant/flare-fakenet-ng/
    
  4. 관리자 권한으로 다음 명령을 실행하여 Python 종속성을 설치합니다:

    Linux(Ubuntu 24.04.2 LTS에서 테스트됨)에서는 setup.py를 실행하기 전에 다음 명령을 실행합니다:

    root@kitploit:~
     python -m pip install --upgrade setuptools
     
     # python 3.10용 wheel 빌드
     python -m pip install --force-reinstall netifaces
     
     # 테스트 중 "ModuleNotFoundError: No module named '_cffi_backend'" 오류 발생
     # 이 명령은 cryptography용 cffi 패키지의 필수 버전을 가져옴
     python -m pip install --upgrade cryptography
    

    수동으로 설치하는 경우 다운로드한 flare-fakenet-ng 디렉토리로 변경하고 관리자 권한으로 다음을 실행합니다:

    root@kitploit:~
     python setup.py install
    
  5. Linux에서는 DNS 수신기를 위해 포트 53을 해제합니다:

    root@kitploit:~

설치하지 않고 사용

마지막으로 FakeNet-NG를 설치하지 않고 그대로 실행하려는 경우(예: 개발 목적) 소스 코드를 가져와 다음과 같이 종속성을 설치해야 합니다:

  1. 64비트 또는 32비트 Python 3.10.11을 각각 Windows/Linux의 64비트 또는 32비트 버전에 설치합니다.

  2. Windows에서는 관리자 권한으로 다음 명령을 실행하여 Python 종속성을 설치합니다:

    root@kitploit:~
     python -m pip install pydivert dnslib dpkt pyopenssl pyftpdlib netifaces jinja2
    

    참고: pydivert는 WinDivert 라이브러리와 드라이버를 %PYTHONHOME%\DLLs 디렉토리에 다운로드하여 설치합니다. FakeNet-NG는 이러한 파일을 번들로 제공하므로 정상적인 사용에는 필요하지 않습니다.

    Linux에서는 관리자 권한으로 다음 명령을 실행하여 Python 종속성을 설치합니다:

    root@kitploit:~
     python -m pip install --upgrade setuptools
     
     # python 3.10용 wheel 빌드
     python -m pip install --force-reinstall netifaces
     
     # 테스트 중 "ModuleNotFoundError: No module named '_cffi_backend'" 오류 발생
     # 이 명령은 cryptography용 cffi 패키지의 필수 버전을 가져옴
     python -m pip install --upgrade cryptography
    
     python -m pip install netfilterqueue dnslib dpkt pyopenssl pyftpdlib netifaces jinja2
    

    선택적으로 테스트에 사용되는 다음 모듈을 설치할 수 있습니다:

    root@kitploit:~
     python -m pip install requests
    
  3. FakeNet-NG 소스 코드를 다운로드합니다:

    root@kitploit:~
     git clone https://github.com/mandiant/flare-fakenet-ng
    
  4. Linux에서는 DNS 수신기를 위해 포트 53을 해제합니다:

    root@kitploit:~
     sudo systemctl stop systemd-resolved
    

    권한이 있는 셸에서 Python 인터프리터로 FakeNet-NG를 실행합니다:

    root@kitploit:~
     python -m fakenet.fakenet
    

사용법

FakeNet-NG를 실행하는 가장 쉬운 방법은 제공된 실행 파일을 관리자 권한으로 실행하는 것입니다. --help 명령줄 매개변수를 제공하여 간단한 도움말을 볼 수 있습니다:

root@kitploit:~
C:\tools\fakenet-ng>fakenet.exe --help
______      _  ________ _   _ ______ _______     _   _  _____
|  ____/\   | |/ /  ____| \ | |  ____|__   __|   | \ | |/ ____|
| |__ /  \  | ' /| |__  |  \| | |__     | |______|  \| | |  __
|  __/ /\ \ |  < |  __| | . ` |  __|    | |______| . ` | | |_ |
| | / ____ \| . \| |____| |\  | |____   | |      | |\  | |__| |
|_|/_/    \_\_|\_\______|_| \_|______|  |_|      |_| \_|\_____|

                        Version 3.5
_____________________________________________________________
                Developed by FLARE Team
    Copyright (C) 2016-2026 Mandiant, Inc. All rights reserved.
_____________________________________________________________

Usage: python -m fakenet.fakenet [options]:

Options:
-h, --help            show this help message and exit
-c FILE, --config-file=FILE
                    configuration filename
-v, --verbose       print more verbose messages (default: False)
-l LOG_FILE, --log-file=LOG_FILE
-s, --log-syslog    Log to syslog via /dev/log  (default: False)
-f STOP_FLAG, --stop-flag=STOP_FLAG
                    terminate if stop flag file is created
-p, --no-pause      disable pause for confirmation before closing the console 
                    (default: pause)
-n, --no-console-output
                    Suppress console output (for testing on Linux)

위의 간단한 도움말에서 볼 수 있듯이 FakeNet-NG를 시작할 때 사용할 구성 파일을 구성할 수 있습니다. 기본적으로 도구는 configs\default.ini를 사용하지만, -c 매개변수로 변경할 수 있습니다. configs 디렉토리에는 몇 가지 예제 구성 파일이 있습니다. 다양한 설정이 많기 때문에 FakeNet-NG는 구성 파일을 통해 기능을 제어합니다.

참고: FakeNet-NG는 먼저 제공된 절대 경로 또는 상대 경로를 사용하여 지정된 구성 파일을 찾으려고 시도합니다(모든 구성을 저장하려는 경우). 지정된 구성 파일이 없으면 configs 디렉토리에서 찾습니다.

나머지 명령줄 옵션을 사용하면 표시되는 로깅 출력의 양을 제어하고 화면에 덤프하는 대신 파일로 리디렉션할 수 있습니다.

간단한 실행

본격적으로 FakeNet-NG를 실행하기 전에 몇 가지 기본 개념을 살펴보겠습니다. 이 도구는 함께 작동하는 여러 모듈로 구성됩니다. 그러한 중요한 모듈 중 하나는 트래픽을 수신기 컬렉션으로 리디렉션하는 Diverter입니다. Diverter는 애플리케이션이 실제 서버 대신 FakeNet-NG와 상호 작용하도록 강제합니다. 수신기는 들어오는 연결을 처리하고 애플리케이션 트래픽(예: 맬웨어 서명)을 검사할 수 있게 해주는 개별 서비스입니다.

다음 명령을 실행하여 기본 설정으로 FakeNet-NG를 시작해 보겠습니다:

root@kitploit:~
C:\tools\fakenet-ng>fakenet.exe

아래는 가로챈 DNS 요청 및 HTTP 연결 예시를 보여주는 주석이 달린 출력 로그입니다:

root@kitploit:~
  ______      _  ________ _   _ ______ _______     _   _  _____
 |  ____/\   | |/ /  ____| \ | |  ____|__   __|   | \ | |/ ____|
 | |__ /  \  | ' /| |__  |  \| | |__     | |______|  \| | |  __
 |  __/ /\ \ |  < |  __| | . ` |  __|    | |______| . ` | | |_ |
 | | / ____ \| . \| |____| |\  | |____   | |      | |\  | |__| |
 |_|/_/    \_\_|\_\______|_| \_|______|  |_|      |_| \_|\_____|

                         Version  3.5
  _____________________________________________________________
                   Developed by FLARE Team
    Copyright (C) 2016-2026 Mandiant, Inc. All rights reserved.
  _____________________________________________________________

07/06/16 10:20:52 PM [           FakeNet] Loaded configuration file: configs/default.ini
                                                                        /
                                            default configuration file /

07/06/16 10:20:52 PM [          Diverter] Capturing traffic to packets_20160706_222052.pcap
                                                                        /
                                                      PCAP output file /

07/06/16 10:20:52 PM [           FakeNet] Anonymous Forwarder listener on TCP port 8080...
                                    \
                                     \ Anonymous Listener rule

07/06/16 10:20:52 PM [    RawTCPListener] Starting...
07/06/16 10:20:52 PM [    RawUDPListener] Starting...
07/06/16 10:20:52 PM [  FilteredListener] Starting...
07/06/16 10:20:52 PM [        DNS Server] Starting...
07/06/16 10:20:52 PM [    HTTPListener80] Starting...
07/06/16 10:20:52 PM [   HTTPListener443] Starting...
07/06/16 10:20:52 PM [      SMTPListener] Starting...
07/06/16 10:20:52 PM [          Diverter] Starting...
                                       \
                                        \ Listeners starting up

07/06/16 10:20:52 PM [          Diverter] Diverting ports:
07/06/16 10:20:52 PM [          Diverter] TCP: 1337, 80, 443, 25
07/06/16 10:20:52 PM [          Diverter] UDP: 1337, 53
                                          /
               Summary of diverted ports /

07/06/16 10:21:03 PM [          Diverter] Modifying outbound external UDP request packet:
07/06/16 10:21:03 PM [          Diverter]   from: 192.168.250.140:49383 -> 4.2.2.1:53
07/06/16 10:21:03 PM [          Diverter]   to:   192.168.250.140:49383 -> 192.168.250.140:53
07/06/16 10:21:03 PM [          Diverter]   pid:  456 name: malware.exe
                                                            /
    Intercepted traffic to the DNS server from malware.exe /

07/06/16 10:21:03 PM [        DNS Server] Received A request for domain 'evil.com'.
                                       \
                                        \ Fake DNS Listener handling the above request

07/06/16 10:21:04 PM [          Diverter] Modifying outbound external TCP request packet:
07/06/16 10:21:04 PM [          Diverter]   from: 192.168.250.140:2179 -> 192.0.2.123:80
07/06/16 10:21:04 PM [          Diverter]   to:   192.168.250.140:2179 -> 192.168.250.140:80
07/06/16 10:21:04 PM [          Diverter]   pid:  456 name: malware.exe
                                                            /
    Intercepted traffic to the web server from malware.exe /

07/06/16 10:21:08 PM [    HTTPListener80] Received a GET request.
07/06/16 10:21:08 PM [    HTTPListener80] --------------------------------------------------------------------------------
07/06/16 10:21:08 PM [    HTTPListener80] GET / HTTP/1.0
07/06/16 10:21:08 PM [    HTTPListener80]
07/06/16 10:21:08 PM [    HTTPListener80] --------------------------------------------------------------------------------
                                       \
                                        \ Fake HTTP Listener handling the above request

각 로그 라인에는 현재 실행 중인 FakeNet-NG 모듈의 이름이 있음을 알 수 있습니다. 예를 들어, 트래픽을 우회할 때 로그 앞에는 Diverter 레이블이 붙습니다:

root@kitploit:~
07/06/16 10:21:03 PM [          Diverter] Modifying outbound external UDP request packet:
07/06/16 10:21:03 PM [          Diverter]   from: 192.168.250.140:49383 -> 4.2.2.1:53
07/06/16 10:21:03 PM [          Diverter]   to:   192.168.250.140:49383 -> 192.168.250.140:53
07/06/16 10:21:03 PM [          Diverter]   pid:  456 name: malware.exe

동시에 개별 수신기가 우회된 트래픽을 처리할 때 로그에는 구성 파일에 설정된 이름이 레이블로 표시됩니다:

root@kitploit:~
07/06/16 10:21:03 PM [        DNS Server] Received A request for domain 'evil.com'.

FakeNet-NG를 중지하고 생성된 PCAP 파일과 HTML 보고서를 디스크에 저장하려면 CTRL-C를 누르면 됩니다:

root@kitploit:~
07/06/16 10:21:41 PM [           FakeNet] Stopping...
07/06/16 10:21:42 PM [    HTTPListener80] Stopping...
07/06/16 10:21:42 PM [   HTTPListener443] Stopping...
07/06/16 10:21:42 PM [      SMTPListener] Stopping...
07/06/16 10:21:43 PM [          Diverter] Stopping...
07/06/16 10:21:43 PM [          Diverter] Generated new HTML report: report_20160607_102143.html
[Press Enter to exit]

PCAP 및 보고서가 생성될 때까지 기다린 후 Enter를 눌러 종료합니다. 콘솔 창은 그때까지 열려 있습니다. --no-pause 플래그로 이 동작을 비활성화할 수 있습니다(예: 스크립트에서).

사용자 인터페이스

FakeNet-NG의 각 세션마다 세션 동안 캡처된 네트워크 기반 지표(NBI)가 포함된 HTML 보고서가 생성됩니다. CTRL-C를 눌러 FakeNet을 종료하면 이 HTML 파일이 FakeNet의 루트 디렉토리에 저장됩니다. 사용자는 Chrome 또는 Firefox와 같은 브라우저에서 이 HTML 파일을 보고 NBI를 검토할 수 있습니다.

HTML 보고서는 사용자 친화적인 방식으로 NBI 요약을 표시하는 대화형 그래픽 사용자 인터페이스(GUI) 역할을 합니다. NBI를 선택, 필터링 및 복사할 수 있는 다양한 기능이 포함되어 있어 네트워크 분석을 더 쉽게 만듭니다. UI는 모든 NBI를 프로세스 정보를 기준으로 구성한 다음 사용하는 애플리케이션 계층 또는 전송 계층 프로토콜별로 추가로 분류합니다.

NBI 요약 테이블

NBI 요약 테이블의 정보는 표 형식으로 표시되며 다음 세부 정보를 포함합니다:

  • 선택: 확인란을 클릭하면 해당 NBI가 선택됩니다. 다른 프로토콜 또는 동일한 프로토콜에서 여러 NBI를 선택할 수 있습니다. 행 내 아무 곳이나 클릭하여 전체 행을 선택할 수도 있습니다. 선택한 NBI는 "선택한 NBI 복사" 버튼을 사용하여 복사할 수 있습니다.

  • NBI: 이 셀은 실제 캡처된 NBI를 나타냅니다. 명령, 매개변수, URI 및 클라이언트가 수신기에 대해 생성한 기타 중요한 활동을 포함합니다. 이 셀은 더 나은 이해를 위해 맬웨어 동작을 요약합니다.

  • 추가 정보: 이 셀은 각 NBI 요청에 대한 추가 정보(예: 사용된 전송 계층 프로토콜, 대상 IP, 포트, SSL 암호화)를 제공합니다.

  • 작업: 이 셀을 사용하면 개별 NBI에 대해 작업을 수행할 수 있습니다. 현재는 복사만 지원됩니다. 복사 버튼을 클릭하면 보고서 작성에 적합한 마크다운 형식의 특정 NBI 셀 데이터가 복사됩니다.

대화형 기능

UI에는 다음과 같은 다양한 대화형 기능도 포함되어 있습니다:

  • 확인란 선택: 각 프로세스 및 프로토콜 블록 앞에는 확인란이 있습니다. 확인란을 선택하면 해당 프로세스 또는 프로토콜 아래의 모든 NBI가 선택됩니다. 특정 프로세스 또는 프로토콜의 모든 NBI를 선택하려는 경우 유용합니다. 그런 다음 선택한 NBI 복사 버튼을 사용하여 선택한 데이터를 복사할 수 있습니다.

  • 검색 바: 검색 바를 사용하면 키워드를 입력할 수 있으며 프로세스 이름, NBI 또는 추가 정보에 이러한 키워드가 포함된 행만 HTML 페이지에 표시됩니다. 그런 다음 "필터링된 데이터 복사" 버튼을 사용하여 표시된 데이터를 마크다운 형식으로 복사할 수 있습니다. 검색 쿼리를 지우면 원래 테이블 보기가 복원됩니다.

  • 복사 버튼:

    • 선택한 데이터 복사: 선택한 모든 NBI를 마크다운 형식으로 복사합니다. 확인란을 선택하여 개별 NBI 또는 프로세스 아래의 모든 NBI를 선택할 수 있습니다.
    • 필터링된 데이터 복사: 필터링된 NBI 데이터를 마크다운 형식으로 복사합니다. 검색 쿼리를 사용하지 않은 경우 이 버튼은 전체 데이터를 복사합니다.
    • 모든 NBI 복사: HTML 페이지에 있는 모든 NBI를 마크다운 형식으로 복사합니다. 필터가 적용된 경우에도 이 버튼을 클릭하면 모든 NBI가 복사됩니다.
  • 면책 조항 버튼: 표시된 NBI 요약에 대해 가정하기 전에 사용자가 고려해야 할 중요한 사실을 설명하는 면책 조항을 표시합니다.

  • 맨 위로 이동 버튼: 페이지 콘텐츠가 표시 가능한 영역을 초과할 때 나타납니다. 이 버튼을 클릭하면 페이지 상단으로 이동하여 선택한 NBI 복사, 모든 NBI 복사, 필터링된 NBI 복사 버튼 및 검색 바와 같은 중요한 버튼에 액세스할 수 있습니다.

구성

FakeNet-NG의 기능을 최대한 활용하려면 구성 파일 구조와 설정을 이해해야 합니다. 아래는 샘플 구성 파일입니다:

root@kitploit:~
###############################################################################
# Fakenet Configuration

[FakeNet]

DivertTraffic: Yes

###############################################################################
# Diverter Configuration

[Diverter]

NetworkMode:            Auto

LinuxRedirectNonlocal:  *
LinuxFlushIptables:     Yes
LinuxFlushDNSCommand:   service dns-clean restart

DumpPackets:            Yes
DumpPacketsFilePrefix:  packets

ModifyLocalDNS:         No
StopDNSService:         Yes

RedirectAllTraffic:     Yes
DefaultTCPListener:     RawTCPListener
DefaultUDPListener:     RawUDPListener

###############################################################################
# Listener Configuration

[DNS Server]
Enabled:     True
Port:        53
Protocol:    UDP
Listener:    DNSListener
DNSResponse: 192.0.2.123
NXDomains:   0
Hidden:      False

[RawTCPListener]
Enabled:     True
Port:        1337
Protocol:    TCP
Listener:    RawListener
UseSSL:      No
Timeout:     10
Hidden:      False

구성 파일은 여러 섹션으로 나뉩니다.* [FakeNet] - 애플리케이션 자체의 동작을 제어합니다. 현재 유효한 옵션은 DivertTraffic 뿐입니다. 활성화되면 도구에 적절한 Diverter 플러그인을 실행하고 트래픽을 가로채도록 지시합니다. 이 옵션이 비활성화되면 FakeNet-NG는 여전히 리스너를 실행하지만, 트래픽을 그쪽으로 전달하기 위해 다른 방법(예: DNS 서버 수동 변경)에 의존합니다.

  • [Diverter] - 트래픽 리디렉션 설정. 아래에서 자세히 다룹니다.

  • [리스너 이름] - 리스너 구성의 모음입니다. 각 리스너는 기본 설정(예: 포트, 프로토콜)과 리스너별 구성(예: HTTPListener의 DumpHTTPPosts)을 가지고 있습니다.

Diverter 구성

[FakeNet] 구성 블록에서 DivertTraffic 설정을 활성화했다고 가정하면, 도구는 트래픽 리디렉션 엔진을 활성화합니다. 이 엔진을 앞으로 Diverter라고 부를 것입니다. 이는 Windows 플랫폼에서 백그라운드 마법을 수행하는 데 사용되는 훌륭한 WinDivert 라이브러리를 참조한 것입니다(Linux 구현의 Diverter는 python-netfilterqueue를 사용합니다).

Diverter는 모든 발신 패킷을 검사하고 활성화된 리스너의 프로토콜 및 포트 목록과 일치시킵니다. 패킷의 포트와 프로토콜에서 수신 대기 중인 리스너가 있으면 목적지 주소가 로컬 시스템의 IP 주소로 변경되어 리스너가 요청을 처리합니다. 동시에 리스너에서 오는 응답은 소스 IP 주소가 패킷이 원래 요청된 호스트에서 오는 것처럼 보이도록 변경됩니다.

선택적으로 DumpPackets 설정을 활성화하여 FakeNet-NG가 관찰한 모든 트래픽(리디렉션 또는 포워딩)을 PCAP 파일에 저장할 수 있습니다. SSL을 지원하는 리스너 중 하나와 가로채진 응용 프로그램 간의 SSL 트래픽을 복호화하는 것이 가능합니다. 다음 페이지의 지침을 사용하세요:

root@kitploit:~
https://wiki.wireshark.org/TLS

FakeNet-NG 서버에서 사용하는 키 privkey.pem 및 server.pem은 애플리케이션의 루트 디렉터리에 있습니다.

  • NetworkMode - FakeNet-NG를 실행할 네트워크 모드를 지정합니다.
    • 유효한 설정:
      • SingleHost: 로컬 프로세스의 트래픽을 조작합니다.
      • MultiHost: 다른 시스템의 트래픽을 조작합니다.
      • Auto: 현재 플랫폼에서 가장 기능적인 NetworkMode를 사용합니다.
    • 현재 모든 플랫폼이 모든 NetworkMode 설정을 지원하지는 않습니다. 다음은 지원 현황입니다:
      • Windows는 SingleHost만 지원합니다.
      • Linux는 MultiHost를 지원하고 실험적으로 SingleHost 모드를 지원합니다(프로세스, 포트, 호스트 블랙리스트/화이트리스트를 제외하고 작동합니다).
    • 지금은 이 설정을 Auto로 두면 Windows에서 SingleHost 모드, Linux에서 MultiHost 모드가 적용됩니다.

Diverter는 일반적으로 다음 DNS 관련 설정을 지원합니다:

  • ModifyLocalDNS - 로컬 시스템의 DNS 서비스를 FakeNet-NG의 DNS 리스너로 지정합니다.

Windows 구현의 Diverter는 다음 DNS 관련 설정을 지원합니다:

  • StopDNSService - Windows DNS 클라이언트 서비스(Dnscache)를 중지합니다. 이를 통해 FakeNet-NG는 일반적인 'svchost.exe' 프로세스 대신 실제로 도메인을 확인하는 프로세스를 볼 수 있습니다.

Linux 구현의 Diverter는 다음 설정을 지원합니다:

  • LinuxRedirectNonlocal - FakeNet-NG를 사용하여 다른 호스트의 인터넷 연결을 시뮬레이션할 때, 외부에 노출된 네트워크 인터페이스 중 어떤 것을 FakeNet-NG로 재라우팅할지 지정합니다.

  • LinuxFlushIptables - FakeNet-NG에 대한 규칙을 추가하기 전에 모든 iptables 규칙을 플러시합니다. Linux Diverter는 종료 시퀀스가 중단되지 않는 한 이전 규칙을 복원합니다.

  • LinuxFlushDnsCommand - Linux 배포판에 맞는 DNS 확인자 캐시를 플러시하는 올바른 명령을 지정합니다(해당되는 경우).

  • DebugLevel - 표시할 세분화된 디버그 이벤트를 지정합니다. 유효한 레이블은 fakenet/diverters/linutil.py를 참조하세요.

모든 트래픽 리디렉션

기본적으로 Diverter는 전용 리스너가 생성된 트래픽만 가로챕니다. 그러나 RedirectAllTraffic 설정을 활성화하고 DefaultTCPListener 및 DefaultUDPListener 설정으로 기본 TCP 및 UDP 핸들러를 구성하면 리스너 중 하나에 명시적으로 정의되지 않은 포트로 전송되는 트래픽을 동적으로 처리할 수 있습니다. 예를 들어, 모든 트래픽을 포트 1234의 로컬 TCP 및 UDP 리스너로 리디렉션하는 샘플 구성을 살펴보겠습니다:

root@kitploit:~
RedirectAllTraffic: Yes
DefaultTCPListener: TCPListener1234
DefaultUDPListener: UDPListener1234

참고: 리스너 정의에 대해 약간 앞서 가고 있지만, TCPListener1234 및 UDPListener1234는 아래 섹션에서 정의된다고 생각하시면 됩니다.

RedirectAllTraffic 설정을 사용하면 FakeNet-NG는 목적지 주소뿐만 아니라 목적지 포트도 수정하여 기본 리스너 중 하나가 처리할 수 있도록 합니다. 아래는 외부 호스트 IP 주소 1.1.1.1의 포트 4444로 전송되었지만 대신 포트 1234의 기본 리스너로 리디렉션된 트래픽의 샘플 로그입니다:

root@kitploit:~
07/06/16 01:13:47 AM [          Diverter] Modifying outbound external TCP request packet:
07/06/16 01:13:47 AM [          Diverter]   from: 192.168.66.129:1650 -> 1.1.1.1:4444
07/06/16 01:13:47 AM [          Diverter]   to:   192.168.66.129:1650 -> 192.168.66.129:1234
07/06/16 01:13:47 AM [          Diverter]   pid:  3716 name: malware.exe

명시적으로 정의된 리스너 중 하나의 포트로 향하는 트래픽은 기본 리스너가 아닌 해당 리스너에 의해 계속 처리된다는 점을 유의해야 합니다. 예를 들어, 별도의 UDP 포트 53 DNS 리스너가 정의된 경우 기본 UDP 리스너는 DNS 트래픽을 처리하지 않습니다.

RedirectAllTraffic 옵션을 활성화할 때 한 가지 문제는 시스템의 정상적인 작동을 보장하기 위해 일부 트래픽을 통과시키고 싶을 수 있다는 것입니다. 외부 DNS 서버에 연결해야 하는 응용 프로그램을 분석하려는 시나리오를 고려해보세요. BlackListPortsTCP 및 BlackListPortsUDP 설정을 사용하여 트래픽이 무시되고 변형되지 않고 전달될 포트 목록을 정의하거나 BlackListIDsICMP(Windows 전용)를 사용하여 필터링되고 무시될 ICMP ID 목록을 정의할 수 있습니다:

root@kitploit:~
BlackListPortsUDP: 53

고려할 수 있는 다른 Diverter 설정으로는 ProcessBlackList와 HostBlackList가 있습니다. 이는 각각 특정 프로세스 이름에서 오는 트래픽 또는 특정 호스트로 향하는 트래픽을 무시하고 전달하도록 Diverter에 지시합니다.

리스너 구성

리스너 구성은 개별 리스너의 동작을 정의합니다. 샘플 리스너 구성을 살펴보겠습니다:

root@kitploit:~
[TCPListener1234]
Enabled:     True
Port:        1234
Protocol:    TCP
Listener:    RawListener
UseSSL:      Yes
Timeout:     10
Hidden:      False

위 구성은 리스너 이름 TCPListener1234로 구성됩니다. 이 이름은 로깅 목적으로 사용되어 동일한 프로토콜을 처리하더라도 연결을 처리하는 서로 다른 리스너를 구분할 수 있게 합니다.

다음 설정은 모든 리스너에 공통됩니다:

  • Enabled - 리스너 활성화 여부를 지정합니다.
  • Port - 수신 대기할 TCP 또는 UDP 포트입니다.
  • Protocol - TCP 또는 UDP
  • Listener - 트래픽을 처리할 리스너 이름입니다.
  • ProcessWhiteList - 이 프로세스들의 트래픽만 수정되고 나머지는 단순히 전달됩니다.
  • ProcessBlackList - 이 프로세스들을 제외한 모든 프로세스의 트래픽은 단순히 전달되고 나머지는 필요에 따라 수정됩니다.
  • HostWhiteList - 이 호스트로의 트래픽만 수정되고 나머지는 단순히 전달됩니다.
  • HostBlackList - 이 호스트로의 트래픽은 단순히 전달되고 나머지는 필요에 따라 수정됩니다.
  • ExecuteCmd - 첫 번째 연결 패킷에서 명령을 실행합니다. 이 기능은 FakeNet-NG의 기능을 확장하는 데 유용합니다(예: 연결 pid에 디버거를 연결하여 언패킹 및 디코딩 지원).
  • Hidden - 프록시를 경유하지 않고 이 리스너로 트래픽이 전달되는 것을 허용하지 않으며, 프록시는 패킷 내용에 기반하여 프로토콜을 결정합니다.

Port 및 Protocol 설정은 리스너가 바인딩할 포트를 알고, 다중 프로토콜을 지원하는 경우(예: RawListener) 어떤 프로토콜을 사용할지 결정하는 데 필요합니다. 또한 Diverter가 어떤 포트와 프로토콜을 리디렉션할지 파악하는 데 사용됩니다.

Listener 설정은 리디렉션된 트래픽을 처리할 사용 가능한 리스너 플러그인 중 하나를 정의합니다. 현재 버전의 FakeNet-NG는 다음과 같은 리스너를 제공합니다:

  • DNSListener - DNS 프로토콜을 지원하며 A 레코드에 대해 로컬 시스템의 IP 주소 또는 DNSResponse 설정에서 구성 가능한 주소로 응답합니다. NXDomains 속성을 설정하여 리스너가 무시해야 하는 요청 수를 지정할 수도 있습니다. 이렇게 하면 멀웨어가 모든 백업 C2 컨트롤러 이름을 요청하도록 유도할 수 있습니다. 이 리스너는 TCP와 UDP 프로토콜을 모두 지원합니다.
  • RawListener - 기본 TCP 및 UDP 바이너리 프로토콜을 지원합니다. 기본 동작은 수신된 패킷을 클라이언트로 다시 에코하는 것입니다. SSL 연결을 지원합니다.
  • HTTPListener - HTTP 및 HTTPS 프로토콜을 지원합니다. 요청된 파일 확장자에 따라 구성 가능한 Webroot 디렉터리의 다른 파일로 응답합니다. 선택적으로 POST 요청을 DumpHTTPPosts 및 DumpHTTPPostsFilePrefix 설정으로 지정할 수 있는 구성 가능한 파일에 덤프합니다.
  • SMTPListener - SMTP 프로토콜을 지원합니다.
  • ProxyListener- 패킷 내용을 기반으로 프로토콜을 감지하고 그에 따라 패킷을 리디렉션합니다.

참고: FakeNet-NG는 먼저 제공된 절대 또는 상대 경로를 사용하여 웹루트 디렉터리를 찾으려고 시도합니다. 지정된 웹루트 경로를 찾을 수 없으면 defaultFiles 디렉터리에서 찾으려고 시도합니다.

특별한 경우로, Windows Diverter 구현은 실행 중에 모든 ICMP 요청에 자동으로 응답합니다. 따라서 멀웨어가 연결을 테스트하기 위해 호스트에 ping을 시도하면 유효한 응답을 받게 됩니다. Linux Diverter는 모든 ICMP 패킷을 로그하고 localhost로 전달합니다.

참고: 일부 리스너는 파일 업로드를 처리할 수 있습니다(예: TFTPListener 및 BITSListener). 업로드된 모든 파일은 현재 작업 디렉터리에 구성 가능한 접두사(예: TFTP 업로드의 경우 "tftp_")와 함께 저장됩니다.

리스너 필터링

FakeNet-NG는 프로세스 및 호스트 블랙리스트와 화이트리스트로 구성된 여러 필터링 규칙을 지원합니다. 화이트리스트는 리스너에 대한 연결을 허용하는 규칙으로 취급되는 반면, 블랙리스트는 들어오는 연결을 무시하고 단순히 전달되도록 하는 데 사용됩니다.

예를 들어, 프로세스 및 호스트 필터가 있는 아래 구성을 고려해보세요:

root@kitploit:~
[FilteredListener]
Enabled:     True
Port:        31337
Protocol:    TCP
Listener:    RawListener
UseSSL:      No
Timeout:     10
ProcessWhiteList: malware.exe, ncat.exe
HostBlackList: 5.5.5.5

위의 FilteredListener는 malware.exe 및 ncat.exe 프로세스에서 오는 연결만 처리하지만, 호스트 5.5.5.5로 향하는 모든 연결은 무시합니다. 즉, test.exe라는 프로세스가 포트 31337에 연결을 시도하면 리스너로 리디렉션되지 않고, 경로가 가능한 경우 원래 의도된 곳으로 전달됩니다.

동시에 malware.exe 프로세스가 5.5.5.5 이외의 호스트의 포트 31337에 연결을 시도하면 FilteredListener로 전환됩니다. malware.exe 프로세스에서 5.5.5.5로 향하는 모든 연결은 통과가 허용됩니다.

리스너 명령 실행

또 다른 강력한 구성 설정은 ExecuteCmd입니다. 기본적으로 연결의 첫 번째 감지된 패킷에서 임의의 명령을 실행할 수 있습니다. ExecuteCmd의 값은 여러 형식 문자열 변수를 사용할 수 있습니다:

  • {pid} - 프로세스 ID
  • {procname} - 프로세스 실행 파일 이름
  • {src_addr} - 소스 주소
  • {src_port} - 소스 포트
  • {dst_addr} - 목적지 주소
  • {dst_port} - 목적지 포트

패킹된 멀웨어 샘플이 포트 8443에서 구성된 C2 서버에 연결하는 시나리오를 고려해보세요(포트를 모르는 경우 RedirectAllTraffic 사용). 많은 경우 멀웨어는 연결을 만들 때쯤 언팩되므로, 실행 중 그 시점에 디버거를 프로세스에 연결하고 언팩된 버전을 덤프하여 추가 분석에 사용하기에 이상적입니다.

이를 첫 번째 연결 시 디버거를 자동으로 실행하는 데 어떻게 사용할 수 있는지 살펴보겠습니다:

root@kitploit:~
[C2Listener]
Enabled:     True
Port:        8443
Protocol:    TCP
Listener:    RawListener
UseSSL:      Yes
Timeout:     300
ProcessWhiteList: malware.exe
ExecuteCmd:  C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\windbg.exe -p {pid}

FakeNet-NG가 화이트리스트에 등록된 프로세스 malware.exe(이 설정은 선택 사항)에서 새 연결을 감지하면 자동으로 windbg를 실행하고 연결 중인 프로세스에 연결합니다.

참고: 멀웨어가 리스너와 추가로 상호작용해야 하는 경우 일반 Timeout 설정을 연장하는 것이 좋습니다.

익명 리스너

실제 리스너를 정의하지 않고 새 리스너 구성을 생성할 수 있는 특별한 사용 사례가 있습니다:

root@kitploit:~
[Forwarder]
Enabled:     True
Port:        8080
Protocol:    TCP
ProcessWhiteList: chrome.exe

리스너가 정의되지 않으면 FakeNet-NG는 여전히 트래픽을 로컬 시스템으로 전환하지만, 사용자가 별도의 리스너를 실행해야 합니다. 예를 들어, HTTP 프록시가 포트 8080에서 연결을 수신 대기하고 시스템의 프록시 서버 설정을 사용하지 않거나 하드코딩된 IP 주소를 사용하는 응용 프로그램의 모든 트래픽을 FakeNet-NG가 가로챌 수 있습니다. 익명 리스너를 사용하면 FakeNet-NG의 고급 트래픽 및 프로세스 필터링 기능을 타사 도구에 적용할 수 있습니다.

외부 도구가 인터넷으로 통신할 수 있도록 Diverter의 ProcessBlackList 설정을 활성화할 수도 있습니다. 예를 들어, HTTP 프록시가 프록시된 트래픽을 전달할 수 있도록 허용하려면 해당 프로세스 이름을 프로세스 블랙리스트에 추가하세요. 예를 들어, Burp Proxy가 인터넷으로 통신할 수 있도록 다음 프로세스를 추가합니다:

root@kitploit:~
ProcessBlackList: java.exe

응용 프로그램이 알 수 없는 포트에서 통신하지만 여전히 포트 8080의 익명 리스너로 리디렉션하려는 경우 다음과 같이 기본 리스너를 정의할 수 있습니다:

root@kitploit:~
RedirectAllTraffic: Yes
DefaultTCPListener: ForwarderTCP
DefaultUDPListener: RawUDPListener

마지막으로, 다른 모든 트래픽을 리디렉션하면서 DNS 트래픽이 여전히 인터넷의 기본 DNS 서버로 갈 수 있도록 포트 53을 Diverter의 UDP 포트 블랙리스트에 추가합니다:

root@kitploit:~
BlackListPortsUDP: 53

프록시 리스너

FakeNet-NG의 최신 릴리스는 동적으로 통신 프로토콜(SSL 트래픽 포함)을 감지하고 연결을 적절한 리스너로 리디렉션할 수 있는 새로운 프록시 리스너를 구현합니다.

프록시 리스너를 아래 구성과 같이 특정 포트에서 작동하도록 구성할 수 있습니다:

root@kitploit:~
[ProxyTCPListener]
Enabled:    True
Protocol:   TCP
Listener:   ProxyListener
Port:       38926
Listeners:  HTTPListener, RawListener, FTPListener, DNSListener, POPListener, SMTPListener, TFTPListener, IRCListener, BITSListener
Hidden:     False

참고로, 새로운 Listeners 매개변수는 들어오는 모든 연결에 대해 시도할 잠재적인 프로토콜 핸들러 목록을 정의합니다.

또한 다음 diverter 구성을 업데이트하여 프록시 리스너를 기본 핸들러로 정의하는 것이 좋습니다:

root@kitploit:~
RedirectAllTraffic:    Yes
DefaultTCPListener:    ProxyTCPListener
DefaultUDPListener:    ProxyUDPListener

기본 리스너가 프록시 리스너를 가리키면 모든 알 수 없는 연결이 적절하게 처리됩니다. 특정 프로토콜을 강제하기 위해 특정 리스너를 포트에 할당할 수도 있습니다(예: 포트 80에는 항상 HTTP 리스너 사용).

프록시는 taste() 함수로 사용 가능한 모든 리스너를 폴링하여 패킷의 프로토콜을 결정합니다. taste()를 구현하는 각 리스너는 해당 리스너가 처리하는 프로토콜이 패킷 내용과 일치할 가능성을 나타내는 점수를 반환합니다. 프록시는 가장 높은 점수를 반환한 리스너로 패킷을 전달합니다. RawListener는 항상 1점을 반환하므로 다른 모든 리스너가 0점을 반환하는 경우 선택되어 기본 리스너 역할을 합니다.

사용자는 각 리스너 구성에서 'Hidden' 구성 매개변수를 변경할 수 있습니다. Hidden이 'False'이면 리스너가 특정 포트에 바인딩되고 해당 포트의 모든 트래픽을 자동으로 수신합니다. Hidden을 'True'로 설정하면 리스너는 프록시를 통해 리디렉션된 트래픽만 수신할 수 있습니다.

개발

FakeNet-NG는 Python으로 개발되어 새로운 플러그인을 신속하게 개발하고 기존 기능을 확장할 수 있습니다. 자세한 내용은 Developing for FakeNet-NG를 참조하세요.

알려진 문제

[WinError 87] 매개변수가 잘못되었습니다

이 글을 작성하는 시점에서 pydivert의 기본 버퍼 크기는 1500입니다. FakeNet-NG가 기본 버퍼 크기보다 큰 패킷을 만나면 이 오류가 발생할 수 있습니다. 해결 방법은 fakenet/diverters/windows에서 self.handle.recv(bufsize=<your_bufsize>)에 원하는 버퍼 크기를 지정하는 것입니다. 여기를 참조하세요.

VMWare에서 호스트 전용 모드가 활성화된 경우 작동하지 않음

아래 "트래픽을 가로채지 못하는 경우"를 참조하세요.

트래픽을 가로채지 못하는 경우

FakeNet-NG가 패킷을 가로채고 수정하려면 패킷이 목적지에 도달할 수 있는 유효한 네트워크 경로가 있어야 합니다.

경로가 올바르게 설정되었는지 확인하는 쉬운 방법이 있습니다. 도구를 실행하지 않고 대상 호스트에 ping을 시도하십시오. 유효한 응답이나 시간 초과 메시지가 표시되어야 합니다. 대신 대상에 연결할 수 없음 오류가 발생하면 유효한 경로가 없는 것입니다.

이는 일반적으로 게이트웨이가 설정되지 않았거나 연결할 수 없기 때문에 발생합니다. 예를 들어, 호스트 전용 모드의 VMWare 시스템에서는 게이트웨이가 구성되지 않아 FakeNet-NG가 트래픽을 볼 수 없습니다.

이 문제를 해결하려면 동일한 서브넷의 게이트웨이에 기본 인터페이스를 수동으로 구성하십시오. 먼저 인터페이스 이름을 확인합니다:

root@kitploit:~
C:\>netsh interface show interface

Admin State    State          Type             Interface Name
-------------------------------------------------------------------------
Enabled        Connected      Dedicated        Local Area Connection

이 경우 인터페이스 이름은 "Local Area Connection"이므로 나머지 명령에 이 이름을 사용합니다.수동으로 인터페이스 IP 주소와 게이트웨이를 다음과 같이 구성합니다.

root@kitploit:~
C:\>netsh interface ip set address name="Local Area Connection" static 192.168.249.123 255.255.255.0 192.168.249.254

DNS 서버 IP 주소를 수동으로 설정합니다.

root@kitploit:~
C:\>netsh interface ip set dns name="Local Area Connection" static 4.2.2.2

여전히 문제가 있는 경우 게이트웨이 IP 주소 자체가 라우팅 가능한지 확인하십시오.

DNS 이름 확인 안 됨

DNS 수신기가 해당 포트에 성공적으로 바인딩되었는지 확인하십시오. 다음과 같은 오류는 DNS 수신기가 성공적으로 바인딩되지 않았음을 나타냅니다.``` 05/01/17 11:11:16 AM [ FakeNet] Error starting DNSListener listener: 05/01/17 11:11:16 AM [ FakeNet] [Errno 98] Address already in use

root@kitploit:~
`netstat`, `tcpview` 또는 다른 도구를 사용하여 포트에 바인딩된 애플리케이션을 찾고, 해당 운영 체제나 애플리케이션 문서를 참조하여 서비스를 비활성화합니다.

재구성하기 전에 VM 스냅샷을 찍어 두는 것이 좋습니다.

예를 들어, Ubuntu는 `/etc/NetworkManager/NetworkManager.conf`에서 `dns=dnsmasq` 줄을 통해 `dnsmasq` 서비스를 활성화하는 경우가 많습니다. 이를 비활성화(예: 주석 처리)하고 `network-manager` 서비스를 재시작(예: `service network-manager restart`)하면 FakeNet-NG를 다시 실행하기 전에 포트를 해제하기에 충분합니다.

최신 버전의 Ubuntu 또는 다른 배포판에서는 `lsof -i`를 사용하면 `systemd-resolved`가 대신 사용되고 있음을 알 수 있습니다. 이러한 경우 아래 단계를 시도해 볼 수 있습니다. 이 단계는
<https://askubuntu.com/questions/907246/how-to-disable-systemd-resolved-in-ubuntu>에서 가져왔습니다:```
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

그런 다음 /etc/NetworkManager/NetworkManager.conf의 [main] 섹션 아래에 다음 줄을 추가하십시오:``` dns=default

root@kitploit:~
심볼릭 링크 `/etc/resolv.conf`를 삭제하세요, 즉 `rm /etc/resolv.conf`.

마지막으로, `NetworkManager`를 재시작하세요:```
sudo systemctl restart NetworkManager

Error: Could not locate WinDivert DLL or one of its components

FakeNet-NG가 로컬 C: 드라이브에 압축 해제되어 WinDivert 드라이버가 올바르게 로드되도록 하십시오.

Error: The application has failed to start because its side-by-side configuration is incorrect.

이 오류는 Fakenet의 독립 실행형 실행 파일 버전을 실행할 때 발생할 수 있습니다. Visual C++ 2008 런타임 실행 파일을 다운로드하여 설치하십시오.

Limitations

  • SingleHost 모드는 Windows Vista 이상만 지원됩니다. Windows XP/2003 운영 체제에서는 원래 Fakenet을 사용하십시오.

  • MultiHost 모드는 Linux만 지원됩니다.

  • 이전 버전의 python-netfilterqueue는 python에서 세그멘테이션 오류를 일으킬 수 있습니다. 이 문제가 발생하면 최신 버전의 python-netfilterqueue를 사용하고 있는지 확인하십시오.

  • python-netfilterqueue에서 사용하는 하드코딩된 버퍼 크기로 인해 Linux Diverter는 4,016바이트보다 큰 패킷을 올바르게 처리하지 못합니다. 실제로 이는 기존의 최대 전송 단위(MTU) 1,500바이트로 구성된 인터페이스의 Linux MultiHost 모드에는 영향을 미치지 않습니다. FakeNet-NG와 함께 사용하는 Linux 인터페이스가 4016보다 큰 MTU를 지원하는 경우, <your_mtu> + 80의 버퍼 크기를 지원하도록 python-netfilterqueue를 다시 컴파일해야 합니다 (python-netfilterqueue는 버퍼의 80바이트를 오버헤드에 할당합니다).

  • 로컬 시스템 전용 트래픽은 Windows에서 가로채지 않습니다 (예: 리스너 중 하나에 직접 연결하려는 경우).

  • TCP, UDP 및 ICMP 프로토콜을 사용하는 트래픽만 가로챕니다.

Credits

  • FakeNet-NG는 Peter Kacherginsky가 설계 및 개발했습니다.
  • 이 도구를 개발하는 데 영감을 준 원래 FakeNet에 대해 Andrew Honig, Michael Sikorski 및 다른 분들에게 특별히 감사드립니다.
  • Linux Diverter는 Michael Bailey가 설계 및 개발했습니다.
  • 프록시 프로토콜 자동 감지 기능을 개발한 Matthew Haigh에게 감사드립니다.
  • 파일 시스템 탐색 취약점을 보고하고 수정한 Cody Pierce와 Antony Saba에게 감사드립니다.

Contact

버그, 충돌 또는 기타 문의 사항은 [email protected]으로 연락하십시오.

커뮤니티 공지 사항을 위해 FLARE 메일링 리스트를 구독하십시오! [email protected]로 "subscribe" 이메일을 보내십시오.

도구 다운로드
sudo systemctl stop systemd-resolved

권한이 있는 셸에서 모든 디렉토리에서 'fakenet'을 실행하여 FakeNet-NG를 실행합니다.