jpcap mitm
1.0.0
이 애플리케이션은 LAN 공격 및 데이터 스니핑 문제를 해결합니다. LAN의 모든 대상 터미널에 대해 지점 간 공격을 수행하여 대상 터미널의 업스트림 및 다운스트림 인터넷 데이터를 스니핑할 수 있습니다. 네트워크 데이터의 다중 소스 이질성과 실시간 특성을 목표로 하는 대상 탐지 및 모니터링 엔진은 MongoDB의 자연스러운 NoSQL 특성과 결합하여 설계되었습니다.
1. Server: The core technology used in the backend is SpringBoot. The core technologies used for network attacks include winpcap, jpcap, ARP Spoofing (ARP deception), MITM (Man-in-the-Middle Attack), and network packet grouping/degrouping, decompression, and restoration.
2. Client: The core technologies used in the frontend include Angular6, ECharts, etc.
3. Packaging and Deployment: The front-end and back-end are packaged into the same jar file using Maven.
sudo sysctl -w net.inet.ip.forwarding=1
. IP 전달이 활성화되어 있는지 확인하십시오(1이어야 함): sudo sysctl -a | grep net.inet.ip.forwarding
. 시스템을 다시 시작한 후 IP 전달은 기본 꺼짐 상태로 되돌아가므로 다시 활성화해야 합니다. 그렇지 않으면 공격을 받는 대상은 정상적으로 인터넷에 접속할 수 없습니다.libjpcap.jnilib
/Library/Java/Extensions/
에 복사합니다.mvn package -Dmaven.test.skip=true
사용하여 컴파일 및 패키징하고 jpcap-mitm.jar
작업 디렉터리로 임의의 디렉터리에 복사한 다음 data/db
를 만듭니다. MongoDB 데이터 폴더로 이 작업 디렉터리에 폴더를 추가합니다.Install ChmodBPF.pkg
패키지가 표시됩니다. 이 소프트웨어 패키지를 설치하려면 두 번 클릭하세요. mongod --dbpath=data/db
실행하세요. 몇 초 후에 MongoDB 서비스가 성공적으로 실행될 때까지 기다렸다가 다음과 유사한 로그를 인쇄합니다. *** 포트 27017에서 연결을 기다리는 중입니다.cmd
입력한 다음 마우스 오른쪽 버튼을 클릭하여 관리자 권한으로 명령줄을 실행합니다. 명령줄에서 D:mitm
으로 이동한 다음 java -jar jpcap-mitm.jar
실행합니다. 서비스가 성공적으로 실행될 때까지 기다렸다가 다음과 유사한 로그를 인쇄합니다. *** Started Application in ** 초.http://localhost:8888
로 이동하거나 http://<local IP>:8888
통해 다른 장치에서 원격으로 프로그램에 액세스하세요.Select interface
에서 올바른 네트워크 카드를 선택하고 로컬 IP 및 MAC, 대상 모바일 IP 및 MAC, 게이트웨이(라우터) IP 및 MAC를 설정합니다. 이는 모두 내부 네트워크 IP이며 동일한 서브넷에 있어야 합니다.ifconfig
입력하여 IPv4 주소, 물리적 주소 및 기본 게이트웨이를 찾으십시오. arp -a
실행하여 게이트웨이의 MAC를 찾으세요.control+c
눌러 명령줄 창에서 jpcap-mitm.jar
프로세스를 닫은 다음 프로그램을 다시 시작하세요.regedit
입력한 다음 레지스트리 편집기를 선택합니다. 관리자 권한으로 레지스트리 편집기를 실행하려면 마우스 오른쪽 버튼을 클릭하세요. 레지스트리 키 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters
로 이동하여 IPEnableRouter
항목을 선택하고 값을 1로 변경합니다.D:mitm
폴더를 작업 디렉터리로 만듭니다. 작업 디렉터리와 동일한 루트 디렉터리에 MongoDB 데이터 폴더 data/db
를 만듭니다. 예를 들어 루트 디렉터리가 D
인 경우 D:datadb
폴더를 만듭니다.mvn package -Dmaven.test.skip=true
사용하여 컴파일 및 패키징하고, jpcap-mitm.jar
및 Jpcap.dll
작업 디렉터리에 복사하고, data/db
이 작업 디렉터리의 data/db
폴더를 MongoDB 데이터 폴더로 지정합니다. cmd
입력한 다음 마우스 오른쪽 버튼을 클릭하여 관리자 권한으로 명령줄을 실행합니다. D:
로 이동한 다음 mongod
실행합니다. 몇 초 후에 MongoDB 서비스가 성공적으로 실행될 때까지 기다렸다가 다음과 유사한 로그를 인쇄합니다. *** 포트 27017에서 연결을 기다리는 중입니다. 명령줄 창에서 콘텐츠를 선택하기 위해 마우스 왼쪽 버튼을 사용하지 마십시오. 선택한 상태로 인해 서비스가 일시 중단됩니다.cmd
입력한 다음 마우스 오른쪽 버튼을 클릭하여 관리자 권한으로 명령줄을 실행합니다. 명령줄에서 D:mitm
으로 이동한 다음 java -jar jpcap-mitm.jar
실행합니다. 서비스가 성공적으로 실행될 때까지 기다렸다가 다음과 유사한 로그를 인쇄합니다. *** Started Application in ** 초.http://localhost:8888
로 이동하거나 http://<local IP>:8888
통해 다른 장치에서 원격으로 프로그램에 액세스하세요.Select interface
에서 올바른 네트워크 카드를 선택하고 로컬 IP 및 MAC, 대상 모바일 IP 및 MAC, 게이트웨이(라우터) IP 및 MAC를 설정합니다. 이는 모두 내부 네트워크 IP이며 동일한 서브넷에 있어야 합니다.cmd
입력한 다음 마우스 오른쪽 버튼을 클릭하여 관리자 권한으로 명령줄을 실행하세요. 무선 LAN 어댑터 Wi-Fi 섹션을 찾으려면 명령줄에 ipconfig /all
입력하고 IPv4 주소, 물리적 주소 및 기본 게이트웨이를 찾으세요. arp -a
실행하여 게이트웨이의 MAC를 찾으세요.control+c
눌러 명령줄 창에서 jpcap-mitm.jar
프로세스를 닫은 다음 프로그램을 다시 시작하세요.HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{*}
확인하세요. 이 목록은 인터페이스 목록에 해당합니다. 각 인터페이스 항목을 차례로 확인하고 어떤 구성이 현재 서버 IP와 일치하는지 확인하여 선택해야 하는 인터페이스를 나타냅니다.이 프로젝트의 프론트 엔드 인터페이스는 다음과 같습니다
LAN 공격 페이지
패킷 분석 페이지
패킷 통계 페이지
other
HTTP/HTTPS를 제외한 다른 TCP 패킷과 분석할 수 없는 다른 프로토콜의 패킷을 나타냅니다. 이러한 패킷의 실제 내용은 분석할 수 없으므로 아래 그림과 같이 일률적으로 other
로 분류됩니다. 패킷 창고 페이지