Cangkang web yang mencuri fail php. Skrip cangkerang RNR berniat jahat - dari mana kaki itu berasal

Baru-baru ini, dalam keluasan Internet, saya terjumpa satu sebutan tentang " PHP Shell". Beberapa tahun lalu utiliti ini banyak membantu saya dan sekarang saya ingin membayar sejenis hutang kepada pemajunya Martin Geisler (http://mgeisler.net/).

Apakah tujuan "PHP Shell"? Saya percaya bahawa setiap pengaturcara web "maju", apatah lagi pentadbir sistem, telah menemui dan menggunakan SSH. SSH membolehkan kami mendapatkan akses jauh ke pelayan dan melaksanakan perintah shell padanya (ada pelbagai jenis arahan seperti berjalan melalui direktori ke sana ke mari, ke atas dan ke bawah, mengalih, memadam dan menyalin fail, menjalankan skrip dan segala macam utiliti pintar), seolah-olah wayar ke monitor anda dari unit sistem telah dipanjangkan kepada saiz yang luar biasa dan telah sampai ke pelayan pengehosan. Ia mesti dikatakan bahawa adalah mungkin untuk terowong melalui ssh dan X-graphics, imej desktop, menunjukkan aplikasi bertingkap yang sedang berjalan, tetapi ini jelas bukan untuk pelayan web.

Pendek kata, jika anda tidak mempunyai SSH pada pengehosan anda, maka "apa yang salah di kerajaan Denmark." Kelemahannya ialah selalunya SSH dilumpuhkan secara lalai pada tapak "segar" anda, dan memerlukan beberapa perdebatan dengan sokongan untuk membolehkan ssh berfungsi. Inilah yang berlaku pada petang musim sejuk yang jauh itu. Saya perlu segera memindahkan tapak web dari satu mesin ke mesin lain, di mana masalah timbul, dan saya lazimnya mencapai pintasan dempul pada desktop untuk melihat apa yang "di dalam" pesakit. Oops... tetapi sokongan ssh tidak diaktifkan. Apa patut saya buat? Jika anda cukup berpengalaman dalam pengaturcaraan dalam beberapa bahasa, maka tidak sukar untuk menulis skrip kecil yang melaksanakan tugas yang dikehendaki. Saya membuka Google dan, selepas melalui beberapa pautan, mendapati sebutan PHP Shell. Dalam satu perkataan, saya pulang tepat pada masanya.

Sejujurnya, saya sangat bernasib baik kerana saya mempunyai cukup keupayaan shell yang dilucutkan yang diberikan oleh PHP Shell kepada saya - ia, bagaimanapun, adalah tiruan daripadanya.

PHP Shell pada asasnya menggunakan fungsi php proc_open. Fungsi ini menjalankan arahan tertentu dan membuka aliran I/O untuk memasukkan beberapa maklumat ke dalam aplikasi (mensimulasikan input manual seolah-olah pada papan kekunci) dan mengeluarkan hasil kerja (jika anda tahu apa itu paip, maka kita bercakap tentang mereka). Pada asasnya, fungsi proc_open ialah versi exec atau fungsi sistem yang dipertingkatkan dan dikembangkan. Mereka, bagaimanapun, hanya melancarkan program dan tidak memberi peluang untuk berinteraksi dengannya; anda perlu segera menentukan dalam parameter baris arahan semua data yang diperlukan untuk arahan itu berfungsi. proc_open membolehkan anda membuat paip yang dikaitkan dengan skrip PHP anda, dan dengan itu anda boleh mensimulasikan memasukkan data ke dalam program dan membaca hasil kerjanya. Untuk peminat pengehosan percuma, saya akan katakan dengan segera:

"TIDAK, ANDA TIDAK BOLEH AKSES SSH DENGAN PHP Shell."

Hakikatnya ialah pengehosan percuma atau sangat murah adalah perkara biasa untuk menjalankan PHP dalam safe_mode. Beberapa fungsi dilumpuhkan di dalamnya, termasuk proc_open.

"TIDAK, ANDA TIDAK BOLEH BEKERJA DENGAN PROGRAM INTERAKTIF DENGAN PHPSHELL."

Intipati web memberitahu kami bahawa tidak mungkin untuk menjalankan beberapa program pada pelayan jauh yang akan terus berfungsi dan membolehkan kami memasukkan dan mengeluarkan data melalui beberapa permintaan http yang berasingan.

"TIDAK, ANDA TIDAK BOLEH MENGAKSES SEMUA PROGRAM, FAIL DAN FOLDER PADA SERVER."

Skrip sama ada berfungsi bagi pihak apache dan kemudian keupayaannya dihadkan hanya oleh apa yang hak akaun apache untuk dilakukan. Atau, sebagai alternatif, jika pengehosan menggunakan suexec (http://en.wikipedia.org/wiki/SuEXEC), maka hak anda akan bertepatan dengan hak akaun dari mana skrip php dilancarkan.

Mari kita anggap bahawa ini tidak menghalang anda, dan anda memuat turun dan membongkar arkib pada pelayan anda ke dalam folder, katakan, phpshell. Jika anda memasukkan "apakah-nama-tapak-anda/phpshell/phpshell.php" ke dalam bar alamat penyemak imbas anda, anda akan diminta untuk memperkenalkan diri anda, masukkan nama dan kata laluan anda - sudah tentu, ini bukan kelayakan yang anda terima daripada hoster anda

Jadi anda perlu mengkonfigurasi kebenaran: siapa yang boleh mengakses shell melalui utiliti ini. Untuk melakukan ini, dalam fail config.php, cari bahagian pengguna dan tambah nama pengguna dan kata laluan kepadanya dalam bentuk berikut:

Vasyano=rahsia

Jika anda keliru dengan fakta bahawa kata laluan ditetapkan dalam teks yang jelas, maka dengan menggunakan fail pwhash.php anda boleh mengetahui versi md5 kata laluan dan ia akan disimpan dalam fail config.php

Sekarang kami cuba log masuk semula dan mendapati diri kami dalam tetingkap di mana kami memasukkan arahan di bahagian bawah tetingkap, klik "jalankan" dan kemudian hasil pelaksanaannya dipaparkan di tengah tetingkap halaman

Itu sahaja, mungkin phpshell akan membantu anda entah bagaimana.

Skrip shell WSO PHP yang berniat jahat telah dikesan /libraries/simplepie/idn/OpenIDOpenID.php (tapak Joomla! 3). Pada masa ini, ia hanya dikesan oleh beberapa antivirus seperti JS/SARS.S61, PHP:Decode-DE, Trojan.Html.Agent.vsvbn, PHP.Shell.354, php.cmdshell.unclassed.359.UNOFFICIAL.

Suatu hari yang "indah", salah seorang pelanggan kami (http://ladynews.biz), akibat mengimbas tapak webnya dengan antivirus pengehosan, menerima mesej berikut:

Fail dengan kandungan berniat jahat telah dikesan dalam akaun anda. Kami amat mengesyorkan anda mengehadkan akses kepada akaun FTP anda hanya daripada alamat IP yang anda gunakan, dan juga menggunakan perlindungan anti-virus untuk mengimbas akaun anda untuk mengesan virus. Baca artikel Cadangan Keselamatan dan Penggodaman untuk Mencegah Jangkitan Semula.

Sudah tentu, ia dicadangkan untuk menangani aib ini - mengimbas dengan antivirus ClamAV standard, dengan set pangkalan data anti-virus lalai, tidak memberikan sebarang hasil tambahan.

Pada masa permulaan cerita ini (2015-10-23), skrip shell virus ini tidak terdapat dalam pangkalan data anti-virus kebanyakan antivirus, termasuk "raksasa" seperti Comodo, DrWeb, ESET-NOD32, GData, Kaspersky, McAfee, Microsoft, Symantec, TrendMicro dan lain-lain, yang turut disahkan pada 10/23/2015 oleh pengimbas dalam talian VirusTotal. Hanya beberapa antivirus yang dapat mengesan skrip PHP yang berniat jahat:

Tarikh Kemas Kini Keputusan Antivirus AhnLab- V3 JS/ SARS. S61 20151022 Avast PHP: Decode- DE [Trj] 20151023 NANO- Antivirus Trojan. Html. Ejen. vsvbn 20151023

Pada hari yang sama, ClamAV dan Dr.Web telah dimaklumkan tentang penemuan skrip berniat jahat. ClamAV masih berdegil senyap, tetapi Dr.Web membalas pakej berniat jahat itu dalam masa 24 jam:

Permintaan anda telah dianalisis. Entri yang sepadan telah ditambahkan ke pangkalan data virus Dr.Web dan akan tersedia dengan kemas kini seterusnya.

Ancaman: PHP.Shell.354

Dr.Web menepati janjinya dan skrip virus OpenIDOpenID.php kini dikesan sebagai PHP.Shell.354, walau bagaimanapun, banyak antivirus seperti ClamAV, Comodo, DrWeb, ESET-NOD32, GData, Kaspersky, McAfee, Microsoft, Symantec, TrendMicro , dsb. dsb., mereka masih tidak tahu mengenainya (sehingga 2015-10-25).

Ok, kami telah memadamkan fail itu, tetapi untuk berapa lama? Dari mana asalnya, kita hanya boleh meneka. Apa yang akan datang? Kami mula memasang semua jenis komponen Securitycheck dan menyediakan peraturan dalam .htaccess yang melarang akses kepada semua dan semua orang kerana pada pengehosan bersama (aka pengehosan maya, pengehosan bersama) kita tidak mempunyai kuasa untuk berbuat lebih banyak. Tiada siapa yang tahu berapa lama langkah ini akan menyelamatkan kita.

Dengan cara ini, mengenai topik semua jenis komponen Securitycheck... Securitycheck ialah komponen untuk Joomla! dan agak baik. Tetapi terdapat "Perlindungan Laman Web Antivirus" tertentu yang benar-benar omong kosong, yang saya sangat mengesyorkan agar tidak digunakan oleh sesiapa pun, berikut ialah semakan yang disahkan amalan untuk "Perlindungan Laman Web Antivirus" ini:

Komponen ini juga mencipta fail pack.tar dalam /tmp anda yang mengandungi konfigurasi.php anda dan sebarang kata laluan lain yang ditemui! BERJAGA JAGA

Yang dalam terjemahan bermaksud: "komponen ini juga mencipta salinan sandaran keseluruhan tapak dalam fail /tmp/pack.tar, yang mengandungi konfigurasi.php dengan kata laluan pangkalan data! BERHATI-HATI" - ini menunjukkan bahawa "Perlindungan Laman Web" adalah daripada ini komponen dan ia tidak berbau, yang juga sepatutnya membuatkan mangsa berfikir tentang menukar laluan ke direktori /log, /tmp, /cache dan menafikan akses kepada mereka.

Dengan mengklik pada pautan ini, anda boleh memahami bahawa masalahnya sekurang-kurangnya lebih daripada setahun. Melihat di sini, kami akan faham bahawa penyembunyian skrip shell tidak dilakukan oleh base64_encode/gzdeflate yang rumit, yang bermaksud masih ada bahagian di suatu tempat yang memanggil/menghubungkan OpenIDOpenID.php dan melaksanakan base64_decode/gzinflate . Ini bermakna OpenIDOpenID.php hanyalah hasil (aka akibat), dan bukan sebab, di mana mangsa mengadu bahawa spam telah mula dihantar dari pelayan pada skala industri, dan pemadaman manual fail berniat jahat tidak membantu, selepas itu mangsa mengadu tentang penganjuran NIC-RU bukan orang lain. Pengehosan maya "Bocor" mungkin sangat bagus. malah selalunya, IMHO, orang bekerja di sana untuk gaji, dan bukan untuk idea, tetapi dalam beberapa kes masalahnya boleh menjadi lebih mendalam.

Sebagai contoh, "Penyuntik iFrame yang berniat jahat telah dikesan dalam fail Adobe Flash." Saya rasa bukan rahsia kepada sesiapa sahaja bahawa anda boleh menulis antara muka dalam Flash untuk memuat naik fail ke tapak web dan melakukan banyak perkara menarik lain dalam ActionScript. Virus dalam fail .swf (Adobe Flash), seperti yang ditunjukkan oleh amalan, boleh kekal tidak dapat dikesan selama bertahun-tahun dan menjadi pintu belakang kepada tapak web ( aka pintu belakang - pintu belakang) di mana fail seperti "OpenIDOpenID.php" "dilemparkan ke dalam" dan boleh dipadamkan sehingga muka anda berwarna biru dan tidak berjaya.

Apa yang perlu dilakukan, bagaimana untuk mencari "pautan lemah" di antara beribu-ribu fail? Untuk melakukan ini, anda perlu menggunakan apa yang dipanggil analisis heuristik dan, dalam beberapa kes, gunakan pangkalan data anti-virus pihak ketiga. Perlu diambil kira bahawa analisis heuristik, bergantung pada tetapannya, boleh memberikan banyak positif palsu berbanding apabila menggunakan tandatangan virus tambahan daripada pembangun pihak ketiga.

Di manakah saya boleh mendapatkan pangkalan data antivirus pihak ketiga? Contohnya, pangkalan data dengan tandatangan anti-virus daripada pembangun pihak ketiga untuk ClamAV boleh diperolehi secara percuma di alamat berikut: www.securiteinfo.com, malwarepatrol.net, rfxn.com. Bagaimana untuk menggunakan pangkalan data anti-virus tambahan ini? Ini akan menjadi cerita yang sama sekali berbeza. Kami hanya boleh mengatakan bahawa pangkalan data anti-virus tambahan untuk ClamAV daripada rfxn.com (projek LMD (Linux Malware Detect)) bertujuan untuk mencari perisian hasad secara khusus dalam aplikasi web dan memberikan hasil yang lebih berjaya. rfxn.com juga menyatakan bahawa 78% daripada ancaman yang cap jarinya terkandung dalam pangkalan data mereka tidak dikesan oleh lebih daripada 30 anti-virus komersial - dan kemungkinan besar ini benar.

Jadi... Bagaimanakah kisah dengan skrip shell PHP berniat jahat OpenIDOpenID.php berakhir?

Diputuskan untuk menyimpan pangkalan data anti-virus tambahan untuk ClamAV daripada malwarepatrol.net dan rfxn.com, memuat turun salinan sandaran fail tapak dan mengimbasnya secara setempat, berikut ialah hasil imbasan:

$ clamscan / ladynews.biz / ../ game_rus.swf: MBL_647563.UNOFFICIAL FUND / ../ farmfrenzy_pp_rus.swf: MBL_647563.UN OFFICIAL FUND / ../ beachpartycraze_rus.swf: MBL2_593 swf : MBL_647563.TIDAK RASMI DITEMUI / ../ loader_rus.swf: MBL_647563.TIDAK RASMI DIDAPATI ----------- RINGKASAN IMBALAN ----------- Virus yang diketahui: 4174348 Versi enjin: 0.98. 7 Direktori diimbas: 3772 Fail diimbas: 18283 Fail dijangkiti: 5 Jumlah ralat: 1 Data diimbas: 417.76 MB Bacaan data: 533.51 MB (nisbah 0.78 : 1) Masa: 1039.768 saat (17 m 19 s)

/libraries/simplepie/idn/OpenIDOpenID.php Seperti fail .swf yang disebutkan di atas, ia telah dipadamkan, tetapi adakah masalah itu telah diselesaikan? Sukar untuk dikatakan buat masa ini, tetapi mari kita gali lebih jauh...

Daripada versi fail yang dinyahsulit /libraries/simplepie/idn/OpenIDOpenID.php(http://pastebin.com/WRLRLG9B) dengan melihat pemalar @define("WSO_VERSION", "2.5"); , menjadi jelas bahawa ini adalah sejenis produk yang dipanggil WSO. Selepas menggali sedikit pada rangkaian menggunakan kata kunci WSO, keputusan berikut diperolehi:

Ternyata topik itu bukan baru untuk masa yang lama, jadi mari kita ambil tugas regexxer, teruskan menggali fail tapak dan temui: Ralat membuka direktori "/home/user/libraries/joomla/cache/controller/cache": Akses dinafikan

Ya, di sini anda, ke mana lagi ia pergi! Kami melihat hak kepada direktori, yang tidak sepatutnya ada secara lalai, = chmod 111 (aka Run for Owner/Group/All). Oleh itu, sesuatu duduk di suatu tempat dan menyerakkan dirinya melalui katalog, menyembunyikan dirinya walaupun daripada virus dengan chmod 111.

Setelah memasang chmod 551 untuk katalog dan melihat ke dalam, ia dijumpai /libraries/joomla/cache/controller/cache/cache/langs.php, kod sumber yang disiarkan di sini: http://pastebin.com/JDTWpxjT - direktori /libraries/joomla/cache/controller/cache padam.

Hebat, sekarang mari kita susun chmod untuk semua fail dan direktori:

# perubahan besar hak (chmod) untuk fail dalam direktori./dirname dan yang mendasarinya cari / rumah/ pengguna/ public_html -type f -exec chmod 644 ( ) \; # perubahan besar-besaran hak (chmod) pada v./dirname dan yang asas cari / rumah/ pengguna/ public_html -type d -exec chmod 755 ( ) \;

Sekali lagi kami mengulangi imbasan antivirus dengan pangkalan data clamscan /ladynews.biz tambahan, tetapi kononnya semuanya bersih.

Kami mengulangi carian untuk fail dengan regexxer dan cuba mencari menggunakan kata kunci OpenIDOpenID, OpenID atau WSO - dan kami sampai pada kesimpulan bahawa masalahnya ternyata lebih luas dan lebih mendalam:

  • - ia tidak sepatutnya berada di sini, inilah sumbernya: http://pastebin.com/jYEiZY9G
  • /administrator/components/com_finder/controllers/imagelist.php- ia tidak sepatutnya berada di sini, inilah sumbernya: http://pastebin.com/0uqDRMgv
  • /administrator/components/com_users/tables/css.php- ia tidak sepatutnya berada di sini, inilah sumbernya: http://pastebin.com/8qNtSyma
  • /administrator/templates/hathor/html/com_contact/contact/toolbar.trash.html.php- ia tidak sepatutnya berada di sini, berikut adalah sumbernya: http://pastebin.com/CtVuZsiz
  • /components/com_jce/editor/tiny_mce/plugins/link/img/Manager.php- ia tidak sepatutnya berada di sini, berikut adalah sumbernya: http://pastebin.com/2NwTNCxx
  • /libraries/joomla/application/web/router/helpsites.php- ia tidak sepatutnya berada di sini, berikut adalah sumbernya: http://pastebin.com/ANHxyvL9
  • /plugins/system/ytshortcodes/XML.php- ia tidak sepatutnya berada di sini, berikut adalah sumbernya: http://pastebin.com/GnmSDfc9
  • /templates/index.php - ia tidak sepatutnya berada di sini, inilah sumbernya: http://pastebin.com/gHbMeF2t

/administrator/components/com_admin/index.php dan /templates/index.php mungkin skrip input yang melaksanakan kod utama menggunakan fungsi eval() yang sangat tidak digalakkan, yang turut menggunakan:

Nah, logik menyembunyikan kod berniat jahat adalah jelas. Sekarang, jika kita mencari pembinaan “ eval($ ”), kita akan dapati lebih banyak perkara yang menarik:

  • /administrator/components/com_admin/sql/updates/postgresql/php.php- http://pastebin.com/gRHvXt5u
  • /components/com_kunena/template/blue_eagle/media/iconsets/buttons/bluebird/newsfeed.php -
  • /components/com_mailto/helpers/index.php -
  • /components/com_users/views/login/file.php -
  • /components/com_users/controller.php- dijangkiti dan memerlukan penggantian!,
  • /includes/index.php -
  • /libraries/joomla/string/wrapper/section.php -
  • /libraries/legacy/access/directory.php -
  • /libraries/nextend/javascript/jquery/InputFilter.php -
  • /libraries/nextend/smartslider/admin/views/sliders_slider/tpl/config_tinybrowser.php -
  • /libraries/xef/assets/less/admin.frontpage.php -
  • /media/editors/codemirror/mode/rust/Alias.php -
  • /modules/mod_kunenalatest/language/zh-TW/smtp.php -
  • /modules/mod_kunenalogin/language/de-DE/XUL.php -
  • /plugins/content/jw_allvideos/jw_allvideos/includes/js/mediaplayer/skins/bekle/CREDITS.php -
  • /templates/sj_news_ii/html/mod_sj_contact_ajax/toolbar.messages.php -

Tidak semua skrip PHP viral mempunyai kod yang disiarkan di pastebin.com kerana hanya 10 penerbitan dibenarkan dalam masa 24 jam. Secara umum, prosedur penyingkiran adalah lebih kurang seperti berikut:

Ya, saya hampir terlupa - sebelum mula mengalih keluar skrip berniat jahat, tidak salah untuk menambah beberapa peraturan pada .htaccess yang melarang akses terus kepada mana-mana fail .php dalam mana-mana direktori, tetapi membenarkan akses hanya kepada fail root / atau /index .php dan /administrator/ atau /administrator/index.php - ini akan menyekat akses penyerang yang tidak diingini kepada skrip shell masuk yang tersembunyi dalam pelbagai direktori sistem:

(pub) (/pub) (reg)

# ---+++ MELINDUNGI BEBERAPA FAIL DAN DIREKTORI +++---# RewriteCond %(REQUEST_URI) !^/((index)+\.php|.*\.(htm|html|txt|xml)|+|.*/+|.*/.*\.(css|js |jpg|jpeg|png|gif|ico|eot|svg|ttf|woff|woff2|html)+)?$ RewriteCond %(REQUEST_URI) !^/(pentadbir)+/(index\.php)?$ RewriteRule ^ (.*)$ - # # ---+++// DILINDUNGI BEBERAPA FAIL DAN DIREKTORI +++---

UPD 2015-10-28: Nah, apa? Sudah rileks? terlalu awal...

Sekarang mari kita lihat di dalam hutan fail tapak untuk fail binari yang tidak sepatutnya wujud dalam enjin:

find / mypath/ -executable -type f find / mypath/ -type f -perm -u+x find / mypath/ -type f | fail xargs | grep "\:\ *data$"

Sesiapa yang mencari akan sentiasa mencari (fail binari):

  • /modules/mod_p30life_expectancy_calc/tmpl/accordian.pack.js
  • /images/stories/audio/34061012-b1be419af0b9.mp3
  • /libraries/xef/sources/folder/navigation.php
  • /libraries/joomla/application/web/application.php
  • /libraries/joomla/document/json/admin.checkin.php
  • /libraries/nextend/assets/css/LICENSES.php
  • /libraries/fof/config/domain/toolbar.categories.html.php
  • /libraries/fof/form/field/client.php
  • /libraries/phputf8/sysinfo_system.php
  • /components/com_mobilejoomla/index.php
  • /components/com_mobilejoomla/sysinfo_system.php
  • /components/index.php
  • /components/com_banners/sysinfo_config.php
  • /components/com_kunena/views/home/admin.checkin.php
  • /components/com_jce/editor/tiny_mce/plugins/source/js/codemirror/toolbar.checkin.php
  • /components/com_jce/editor/tiny_mce/plugins/colorpicker/admin.cache.php

Mari kita ringkaskan

Tidak mungkin untuk menentukan dengan pasti dari mana punca jangkitan ini - sama ada kerentanan kritikal yang ditemui baru-baru ini dalam enjin yang membenarkan suntikan SQL dan peningkatan keistimewaan harus dipersalahkan, atau fail .swf yang disebut di atas ditanda sebagai berniat jahat, atau sesuatu yang masih belum ditemui - kelemahan dalam salah satu komponen atau pemalam pihak ketiga, atau pengehosan web maya yang bocor - persoalannya masih terbuka?

Pada masa ini, fail berniat jahat yang dikesan telah dibersihkan, fail enjin telah dimuat naik semula sepenuhnya, penghadang telah dibina dengan peraturan dalam .htaccess... Mereka yang mempunyai masa dan berminat untuk menyusun dan menggali cerucuk ini of shit boleh memuat turun arkib wso-php-shell-in-joomla.zip - semua fail PHP berniat jahat yang disebutkan di atas dibungkus di sana, kata laluan untuk arkib ialah: www.site

JUMLAH: Tiada perkara seperti terlalu banyak paranoia, dan mana-mana antivirus percuma atau komersial dengan heuristiknya bersama-sama dengan pangkalan data tandatangan tambahan adalah jauh daripada mujarab. Oleh itu, mana-mana anti-virus adalah alat lapuk untuk melindungi persekitaran berbilang pengguna yang aktif dan untuk mengelakkan pelbagai ancaman yang tidak diketahui, kaedah perlindungan paranoid harus digunakan, contohnya: virtualisasi, SELinux, Bastille Linux, bit tidak berubah, ecryptfs dll!

  • Ancaman: shell web WSO PHP
  • Mangsa: ladynews.biz

Kebanyakan serangan ke atas sumber korporat melibatkan pengenalan cangkerang web - kod yang memungkinkan untuk mengawal mesin yang terjejas dari luar rangkaian. AntiShell Web Shell Hunter ialah alat keselamatan yang merangkumi seluruh set mekanisme untuk mengenal pasti cangkang web.




Cangkang web ialah skrip yang dimuatkan ke pelayan dan digunakan untuk pentadbiran jauh. Ia hanya menjadi berniat jahat apabila ia dikawal oleh penyerang. Dan dalam kes ini, dia menimbulkan ancaman yang serius.

Pelayan yang dijangkiti tidak perlu disambungkan ke Internet - ia boleh didapati di rangkaian dalaman syarikat. Cangkang web kemudiannya digunakan untuk mendapatkan akses kepada hos lain dengan aplikasi atau maklumat kritikal.

Untuk menulis cangkerang web, gunakan sebarang bahasa yang disokong oleh pelayan web sasaran. Dalam amalan, PHP dan ASP paling kerap digunakan, kerana ia adalah yang paling popular. Perisian hasad yang ditulis dalam shell Perl, Ruby, Python dan Unix juga biasa.

Cangkerang web dipasang dengan cara yang agak standard untuk aplikasi berniat jahat - menggunakan kelemahan dalam CMS atau perisian pelayan web. Selepas itu, ia berfungsi sebagai pintu belakang, yang membolehkan penyerang melaksanakan arahan sewenang-wenangnya pada mesin jauh, termasuk memperkenalkan perisian tebusan atau melancarkan serangan pada pelayan lain.

Bahaya khusus cangkerang web terletak pada kesederhanaan relatifnya. Mengubah suai skrip untuk menghasilkan program yang berbeza adalah tugas yang boleh dikendalikan walaupun seorang pemula. Oleh kerana kualiti ini, pengesanan cengkerang web oleh alat antivirus standard adalah sukar.

Seperti perisian hasad lain, cangkerang web boleh dikenal pasti melalui beberapa ciri luaran. Walau bagaimanapun, sebahagian besar daripada mereka juga boleh dikaitkan dengan fail yang sah sepenuhnya, jadi sebarang penunjuk yang mencurigakan mesti dipertimbangkan secara keseluruhan, menganalisis keseluruhan gambar, dan bukan serpihannya.

Penunjuk yang mungkin kehadiran shell web pada pelayan mungkin:

  • tempoh beban pelayan yang luar biasa tinggi;
  • kehadiran fail dengan cap masa yang mencurigakan (contohnya, lewat daripada masa kemas kini perisian terakhir);
  • kehadiran fail yang mencurigakan di tempat yang boleh diakses daripada Internet;
  • kehadiran fail yang mengandungi pautan ke cmd.exe, eval dan seumpamanya;
  • kehadiran kebenaran yang mencurigakan daripada rangkaian dalaman;
  • kehadiran fail yang menjana trafik yang luar biasa bagi mereka.

Adalah jelas bahawa analisis "manual" dalam kes ini, walaupun boleh, memerlukan terlalu banyak sumber manusia, jadi penggunaannya tidak mempunyai sebarang kesesuaian praktikal. Program AntiShell Web Shell Hunter, yang dibangunkan oleh Garhi Technology, membolehkan anda mengautomasikan prosedur ini, dan pembangunnya mendakwa bahawa ia dijamin untuk mengenali semua cangkang web yang diketahui.

Aplikasi ini berdasarkan teknologi berikut:

  • carian mengikut kata kunci. Semua fail disemak untuk perkataan dan arahan yang mungkin dikaitkan dengan serangan;
  • analisis tandatangan: cari tandatangan cangkerang web yang diketahui;
  • analisis garis terpanjang. Selalunya, kod berniat jahat disulitkan sedemikian rupa untuk memintas carian kata kunci. Ini menjadikan baris kod sangat panjang, yang menjadikannya boleh dikesan;
  • pengiraan entropi Shannon dalam kod sumber. Setiap baris kod diberi penilaian, berdasarkan tahap ancaman boleh dinilai;
  • cari kod hasad menggunakan kaedah indeks padanan.

Ini menyelesaikan salah satu masalah utama mengesan cangkerang web, yang dikaitkan dengan kepelbagaian bahasa yang digunakan dan kemungkinan pengubahsuaian yang mudah. Faktor ini tidak menjejaskan operasi AntiShell Web Shell Hunter, yang menjadikannya universal dan boleh digunakan untuk melindungi mana-mana pelayan.

Memandangkan fail yang tidak diubah suai sejak imbasan sebelumnya dikecualikan daripada pemprosesan, AntiShell Web Shell Hunter tidak membuat beban yang tinggi pada pelayan. Di samping itu, pendekatan ini mengurangkan masa pengesahan.

Pada masa yang sama, pentadbir boleh menetapkan masa imbasan secara bebas berdasarkan turun naik harian dalam beban pelayan. Jika perlu, mod harian digantikan dengan mingguan atau bulanan, yang membolehkan anda mengoptimumkan operasi keseluruhan sistem.

Program ini mengesan fail yang mengandungi kod shell web dan menyediakan pentadbir sistem maklumat lengkap tentang objek: tarikh dan masa penciptaan, nama pemilik, hak dan sebagainya.

Semua data ini (tetapi bukan fail itu sendiri) juga pergi ke pusat pelanggan syarikat pembangun, yang, berdasarkannya, boleh memberikan sokongan dalam memproses kejadian dan mengkaji akibatnya. Pelanggan yang melanggan perkhidmatan berbayar juga boleh menggunakan utiliti khas untuk memuat turun sendiri fail yang dijangkiti untuk analisis lanjut.

Mesej tentang objek yang ditemui dihantar kepada pentadbir sistem melalui e-mel. Dia tidak perlu memantau secara peribadi proses itu.

Hari ini, AntiShell Web Shell Hunter ialah satu-satunya alat yang tertumpu khusus untuk mengesan cangkerang web. Sebilangan aplikasi antivirus termasuk ciri yang serupa, tetapi hanya sebagai pilihan tambahan, yang tidak aktif secara lalai. Sebagai peraturan, mereka bergantung semata-mata pada analisis tandatangan, jadi keberkesanannya meninggalkan banyak yang diinginkan.

Memandangkan penggunaan cangkerang web untuk menyerang pelayan menjadi lebih biasa, adalah wajar untuk melindungi sistem dengan penyelesaian khusus. Seperti yang mereka katakan, anda tidak boleh mempunyai terlalu banyak keselamatan.