คอมพิวเตอร์ Windows อินเทอร์เน็ต

PHPShell เป็นสคริปต์ php ที่ให้คุณรันคำสั่งเชลล์บนเว็บเซิร์ฟเวอร์ได้ สคริปต์เชลล์ php ที่เป็นอันตราย - ขาเติบโตจาก php shell คืออะไร

เมื่อเร็ว ๆ นี้ บนอินเทอร์เน็ตอันกว้างใหญ่ ฉันได้กล่าวถึง " PHP Shell" สองสามปีที่แล้วยูทิลิตี้นี้ช่วยฉันได้มากและตอนนี้ฉันต้องการชำระหนี้ให้กับผู้พัฒนา Martin Geisler (http://mgeisler.net/)

วัตถุประสงค์ของ "PHP Shell" คืออะไร? ฉันเชื่อว่าโปรแกรมเมอร์เว็บ "ขั้นสูง" ทุกคน ไม่ต้องพูดถึงผู้ดูแลระบบ ได้พบเจอและใช้ SSH SSH ช่วยให้เราได้รับ การเข้าถึงระยะไกลไปยังเซิร์ฟเวอร์และรันคำสั่งเชลล์บนเซิร์ฟเวอร์นั้น (มีคำสั่งต่างๆ มากมาย เช่น การเรียกดูไดเร็กทอรีไปมา ขึ้นและลง ย้าย ลบและคัดลอกไฟล์ การรันสคริปต์ และยูทิลิตี้ที่ชาญฉลาดทุกประเภท) ราวกับว่า ต่อสายกับจอภาพของคุณจาก บล็อกระบบขยายให้ยาวขึ้นจนมีขนาดที่เหลือเชื่อและเข้าถึงได้มากเท่ากับเซิร์ฟเวอร์โฮสต์ ฉันต้องบอกว่าเป็นไปได้ที่จะเจาะช่องสัญญาณผ่าน ssh และ X-graphics ซึ่งเป็นอิมเมจเดสก์ท็อปที่แสดงแอปพลิเคชันหน้าต่างที่ทำงานอยู่ แต่นี่ไม่ใช่สำหรับเว็บเซิร์ฟเวอร์อย่างชัดเจน

พูดง่ายๆ ก็คือ หากคุณไม่มี SSH บนโฮสติ้งของคุณ แสดงว่า "มีอะไรผิดปกติในอาณาจักรเดนมาร์ก" ข้อเสียคือ SSH มักถูกปิดใช้งานโดยค่าเริ่มต้นในไซต์ "ใหม่" ของคุณและต้องใช้เวลาพอสมควรในการโต้แย้งกับทีมสนับสนุนเพื่อให้ ssh ทำงานได้ นั่นคือสิ่งที่เกิดขึ้นในเย็นฤดูหนาวอันไกลโพ้นนั้น ฉันจำเป็นต้องย้ายไซต์จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่งโดยด่วน ในระหว่างที่เกิดปัญหาขึ้น และฉันก็พยายามใช้ปุ่มลัดสำหรับอุดรูบนเดสก์ท็อปเป็นประจำเพื่อดูว่า "ภายใน" ของผู้ป่วยมีอะไรอยู่ อ๊ะ... และไม่ได้เปิดใช้งานการสนับสนุน ssh จะเป็นอย่างไร? หากคุณค่อนข้างเชี่ยวชาญในการเขียนโปรแกรมในบางภาษา จะไม่ยากที่จะเขียนสคริปต์ขนาดเล็กเพื่อใช้งานตามที่ต้องการ ฉันเปิด google และหลังจากผ่านลิงก์สองสามลิงก์ ฉันพบว่ามีการกล่าวถึง PHP Shell ฉันกลับบ้านตรงเวลา

พูดตามจริงแล้ว ฉันโชคดีมากที่มีฟีเจอร์เชลล์แบบแยกส่วนเพียงพอที่ PHP Shell มอบให้ ฉันยังคงเลียนแบบมันอยู่

ที่สำคัญ PHP Shell ใช้ ฟังก์ชัน php- proc_open. ฟังก์ชันนี้เปิดใช้คำสั่งบางอย่างและเปิดสตรีมอินพุต-เอาต์พุตเพื่อป้อนข้อมูลบางอย่างลงในแอปพลิเคชัน (จำลองการป้อนข้อมูลด้วยตนเองเหมือนที่อยู่บนแป้นพิมพ์) และแสดงผลการทำงาน (ถ้าคุณรู้ว่าท่อคืออะไร เราก็เป็น พูดถึงพวกเขา) อันที่จริง ฟังก์ชัน proc_open เป็นเวอร์ชันปรับปรุงและขยายของฟังก์ชัน exec หรือระบบ อย่างไรก็ตามสิ่งเหล่านั้นเพิ่งเปิดตัวโปรแกรมและไม่ได้ให้โอกาสในการโต้ตอบกับมัน คุณควรมีทันทีในพารามิเตอร์ บรรทัดคำสั่งระบุข้อมูลทั้งหมดที่จำเป็นสำหรับคำสั่งในการทำงาน proc_open ให้คุณสร้างไพพ์ที่เกี่ยวข้องกับสคริปต์ php ของคุณ ดังนั้นคุณจึงสามารถจำลองอินพุตในโปรแกรมและอ่านผลลัพธ์ของการทำงานได้ สำหรับคนรัก ฟรีโฮสติ้งฉันจะพูดทันที:

"ไม่ คุณจะไม่สามารถเข้าถึง SSH ด้วย PHP Shell ได้"

ความจริงก็คือ สำหรับโฮสติ้งฟรีหรือราคาถูกมาก เป็นเรื่องปกติที่จะเรียกใช้ php ใน safe_mode มันปิดการใช้งานคุณสมบัติหลายอย่างรวมถึง proc_open

"ไม่ ด้วย PHPSHELL คุณไม่สามารถทำงานกับโปรแกรมแบบโต้ตอบได้"

แก่นแท้ของเว็บบอกเราว่าเป็นไปไม่ได้ที่จะเรียกใช้บางโปรแกรมบนเซิร์ฟเวอร์ระยะไกลที่จะยังทำงานต่อไปได้และจะอนุญาตให้เราป้อนและส่งออกข้อมูลระหว่างคำขอ http แยกกันหลายรายการ

"ไม่ คุณไม่สามารถเข้าถึงโปรแกรม ไฟล์ และโฟลเดอร์ทั้งหมดบนเซิร์ฟเวอร์ได้"

สคริปต์ทำงานในนามของ apache และความสามารถของมันจะถูก จำกัด โดยสิ่งที่บัญชี apache มีสิทธิ์ทำเท่านั้น หรืออีกวิธีหนึ่ง หากใช้ suexec บนโฮสต์ (http://en.wikipedia.org/wiki/SuEXEC) สิทธิ์ของคุณจะตรงกับสิทธิ์ บัญชีผู้ใช้จากการที่สคริปต์ php เปิดตัว

สมมติว่าสิ่งนี้ไม่ได้หยุดคุณ และคุณดาวน์โหลดและแตกไฟล์เก็บถาวรบนเซิร์ฟเวอร์ของคุณลงในโฟลเดอร์ พูด phpshell หากคุณป้อน "some-is-your-site/phpshell/phpshell.php" ลงในแถบที่อยู่ของเบราว์เซอร์ ระบบจะขอให้คุณแนะนำตัวเอง ป้อนชื่อและรหัสผ่าน แน่นอนว่านี่ไม่ใช่ข้อมูลประจำตัวของคุณ ได้รับจากโฮสของคุณ

ดังนั้นคุณต้องตั้งค่าการอนุญาต: ใครสามารถเข้าถึงเชลล์ผ่านยูทิลิตี้นี้ ในการดำเนินการนี้ ในไฟล์ config.php ให้ค้นหาส่วนผู้ใช้และเพิ่มชื่อผู้ใช้และรหัสผ่านในรูปแบบต่อไปนี้:

วาสยาโน=ความลับ

หากคุณสับสนกับการตั้งรหัสผ่านใน เปิดแบบฟอร์มจากนั้นใช้ไฟล์ pwhash.php คุณจะพบรหัสผ่าน md5 และจะถูกเก็บไว้ในไฟล์ config.php

ตอนนี้เราพยายามเข้าสู่ระบบอีกครั้งและเข้าไปในหน้าต่างที่เราป้อนคำสั่งที่ด้านล่างของหน้าต่าง คลิก "เรียกใช้" จากนั้นผลลัพธ์ของการดำเนินการจะปรากฏขึ้นที่กึ่งกลางของหน้าต่างหน้า

นั่นคือทั้งหมด บางที phpshell จะช่วยคุณได้บ้าง

สคริปต์เชลล์ WSO PHP ที่เป็นอันตราย /libraries/simplepie/idn/OpenIDOpenID.php ตรวจพบ (เว็บไซต์ Joomla! 3) บน ช่วงเวลานี้ตรวจพบโดยแอนตี้ไวรัสบางตัวเท่านั้น เช่น JS/SARS.S61, PHP:Decode-DE , Trojan.Html.Agent.vsvbn, PHP.Shell.354, php.cmdshell.unclassed.359.UNOFFICIAL

ในวันหนึ่งที่ "สวยงาม" (เหมือนใครสักคน) หนึ่งในหอผู้ป่วยของเรา (http://ladynews.biz) อันเป็นผลมาจากการสแกนไซต์ของเขาด้วยโปรแกรมป้องกันไวรัสที่เป็นโฮสต์ ได้รับข้อความต่อไปนี้:

พบไฟล์ที่มีเนื้อหาที่เป็นอันตรายในบัญชี เราขอแนะนำให้คุณจำกัดการเข้าถึงบัญชี FTP ของคุณจากที่อยู่ IP ที่คุณใช้เท่านั้น และใช้การป้องกันไวรัสเพื่อตรวจสอบบัญชีเพื่อหาไวรัส ดูคำแนะนำด้านความปลอดภัยและการแฮ็กเพื่อช่วยป้องกันการติดเชื้อซ้ำ

แน่นอนว่า มีการเสนอให้จัดการกับความอับอายนี้ การสแกนด้วย ClamAV แอนตี้ไวรัสปกติที่มีชุดฐานข้อมูลแอนตี้ไวรัสเป็นค่าเริ่มต้น ไม่ได้ให้ผลลัพธ์เพิ่มเติมใดๆ

ในตอนต้นของเรื่องนี้ (2015-10-23) สคริปต์เปลือกไวรัสนี้หายไปจากฐานข้อมูลต่อต้านไวรัสของโปรแกรมป้องกันไวรัสส่วนใหญ่ รวมถึง "สัตว์ประหลาด" เช่น Comodo, DrWeb, ESET-NOD32, GData, Kaspersky, McAfee, Microsoft, Symantec, TrendMicro และอื่นๆ ซึ่งได้รับการยืนยันเมื่อวันที่ 2015-10-23 โดยเครื่องสแกนออนไลน์ VirusTotal มีแอนตี้ไวรัสเพียงไม่กี่ตัวเท่านั้นที่สามารถตรวจจับสคริปต์ PHP ที่เป็นอันตรายได้:

วันที่อัปเดตผลการป้องกันไวรัส AhnLab- V3 JS/ SARS S61 20151022 Avast PHP: ถอดรหัส- DE [Trj] 20151023 NANO- โปรแกรมป้องกันไวรัสโทรจัน .html ตัวแทน. vsvbn20151023

ในวันเดียวกันนั้น ClamAV และ Dr.Web ได้รับแจ้งเกี่ยวกับการตรวจพบสคริปต์ที่เป็นอันตราย ClamAV ยังคงนิ่งเงียบ และ Dr.Web ตอบสนองต่อแพ็คเกจที่เป็นอันตรายภายใน 24 ชั่วโมง:

คำขอของคุณได้รับการวิเคราะห์แล้ว เพิ่มรายการที่เกี่ยวข้องลงในฐานข้อมูลไวรัส Dr.Web แล้ว และจะพร้อมใช้งานในระหว่างการอัพเดทครั้งต่อไป

ภัยคุกคาม: PHP.Shell.354

Dr.Web รักษาสัญญาและสคริปต์ไวรัส OpenIDOpenID.php ถูกกำหนดเป็น PHP.Shell.354 อย่างไรก็ตาม แอนตี้ไวรัสจำนวนมากเช่น ClamAV, Comodo, DrWeb, ESET-NOD32, GData, Kaspersky, McAfee, Microsoft, Symantec, TrendMicro ฯลฯ ฯลฯ ยังไม่มีความคิดเกี่ยวกับเรื่องนี้ (ณ วันที่ 2015-10-25)

ตกลง เราลบไฟล์แล้ว แต่นานแค่ไหน? มันมาจากไหนเราสามารถคาดเดาได้เท่านั้น อะไรต่อไป? เราเริ่มติดตั้งส่วนประกอบการตรวจสอบความปลอดภัยทุกประเภทและบิดกฎใน .htaccess ซึ่งห้ามการเข้าถึงทุกอย่างและทุกอย่าง เพราะในโฮสติ้งที่ใช้ร่วมกัน (หรือที่รู้จักว่า โฮสติ้งที่ใช้ร่วมกัน , โฮสติ้งที่ใช้ร่วมกัน) เราไม่มีอำนาจเพิ่มเติม มาตรการเหล่านี้จะประหยัดได้นานแค่ไหนไม่มีใครรู้

พูดถึงองค์ประกอบ Securitycheck ต่างๆ... Securitycheck เป็นส่วนประกอบสำหรับ Joomla! และค่อนข้างดี แต่ "การป้องกันเว็บไซต์ป้องกันไวรัส" บางอย่างเป็นเรื่องไร้สาระที่ฉันขอแนะนำไม่ให้ใครใช้ ต่อไปนี้คือบทวิจารณ์ที่ได้รับการพิสูจน์แล้วเกี่ยวกับ "การป้องกันเว็บไซต์ป้องกันไวรัส" นี้:

ส่วนประกอบนี้ยังสร้างไฟล์ pack.tar ใน /tmp ของคุณที่มี configuration.php ของคุณและรหัสผ่านอื่น ๆ ที่พบ! ระวัง

ซึ่งในการแปลหมายถึง: "ส่วนประกอบนี้ยังสร้าง สำรองของทั้งไซต์ในไฟล์ /tmp/pack.tar ซึ่งมี configuration.php พร้อมรหัสผ่านจากฐานข้อมูล! ระวัง " - นี่แสดงว่า "การป้องกันเว็บไซต์" ไม่มีกลิ่นจากส่วนประกอบนี้ ซึ่งจะทำให้เหยื่อคิดเกี่ยวกับการเปลี่ยนเส้นทางไปยังไดเร็กทอรี /logs , /tmp , /cache และปฏิเสธการเข้าถึงไดเร็กทอรีเหล่านี้

เมื่อคลิกลิงก์นี้ คุณจะเข้าใจได้ว่าปัญหามีอายุมากกว่าหนึ่งปีเป็นอย่างน้อย เมื่อดูที่นี่ เราจะเข้าใจว่าการปิดบังเชลล์สคริปต์ไม่ได้ทำโดย base64_encode/gzdeflate ที่ยุ่งยาก ซึ่งหมายความว่าต้องมีส่วนอื่นที่เรียก/เชื่อมต่อ OpenIDOpenID.php และดำเนินการ base64_decode/gzinflate ดังนั้น OpenIDOpenID.php จึงเป็นเพียงแค่ผลลัพธ์ (หรือผลที่ตามมา) ไม่ใช่สาเหตุที่เหยื่อบ่นว่าสแปมเริ่มถูกส่งจากเซิร์ฟเวอร์ในระดับอุตสาหกรรมแล้ว แต่ การลบด้วยตนเองไฟล์ที่เป็นอันตรายไม่ได้ช่วย หลังจากนั้นเหยื่อก็ไม่มีใครให้บ่นนอกจากการโฮสต์ NIC-RU โฮสติ้งเสมือน "รั่ว" อาจดีมาก บ่อยครั้งที่ IMHO ผู้คนทำงานที่นั่นเพื่อเงินเดือน ไม่ใช่เพื่อความคิด แต่ในบางกรณี ปัญหาอาจลึกกว่านั้นมาก

ตัวอย่างเช่น "ตรวจพบหัวฉีดที่เป็นอันตราย iFrame ในไฟล์ Adobe Flash" ฉันคิดว่าไม่ใช่ความลับสำหรับทุกคนที่คุณสามารถเขียนอินเทอร์เฟซในแฟลชเพื่ออัปโหลดไฟล์ไปยังไซต์และทำสิ่งที่น่าสนใจอื่น ๆ ในภาษา ActionScript ไวรัสในไฟล์ .swf ( Adobe Flash) ตามที่ปฏิบัติได้แสดงไว้สามารถไม่มีใครสังเกตเห็นได้หลายปีและเป็นประตูสีดำในไซต์ ( aka ประตูหลัง - ประตูหลัง) ซึ่งไฟล์เช่น "OpenIDOpenID.php" จะถูก "โยน" ซึ่งสามารถลบได้จนกว่าคุณจะเป็นสีน้ำเงินและไม่มีประโยชน์

จะทำอย่างไรค้นหา "ลิงก์ที่อ่อนแอ" ในไฟล์นับพัน ๆ ไฟล์ได้อย่างไร ในการทำเช่นนี้ คุณต้องใช้สิ่งที่เรียกว่าการวิเคราะห์พฤติกรรมสำนึก และในบางกรณี ให้ใช้ฐานข้อมูลต่อต้านไวรัสของบริษัทอื่น ควรพิจารณาด้วยว่าการวิเคราะห์แบบฮิวริสติก ขึ้นอยู่กับการตั้งค่า สามารถให้ผลบวกที่ผิดพลาดมากกว่าเมื่อใช้ลายเซ็นไวรัสเพิ่มเติมจากนักพัฒนาบุคคลที่สาม

ฉันจะรับฐานข้อมูลต่อต้านไวรัสของบริษัทอื่นได้ที่ไหน ตัวอย่างเช่น ฐานข้อมูลที่มีลายเซ็นต่อต้านไวรัสจากนักพัฒนาบุคคลที่สามสำหรับ ClamAV สามารถดาวน์โหลดได้ฟรีตามที่อยู่ต่อไปนี้: www.securiteinfo.com, malwarepatrol.net, rfxn.com จะใช้ฐานข้อมูลต่อต้านไวรัสเพิ่มเติมเหล่านี้ได้อย่างไร? นี่จะเป็นเรื่องที่แตกต่างอย่างสิ้นเชิง เราสามารถพูดได้เพียงว่าฐานข้อมูลต่อต้านไวรัสเพิ่มเติมสำหรับ ClamAV จาก rfxn.com (โครงการ LMD (Linux Malware Detect)) มีวัตถุประสงค์เพื่อค้นหามัลแวร์ในเว็บแอปพลิเคชันและให้ผลลัพธ์ที่ดีขึ้น rfxn.com ยังระบุด้วยว่า 78% ของภัยคุกคามที่มีลายนิ้วมืออยู่ในฐานข้อมูลนั้นไม่ถูกตรวจพบโดยโปรแกรมต่อต้านไวรัสเชิงพาณิชย์มากกว่า 30 รายการ และมีแนวโน้มมากที่สุดที่พวกมันจะตรวจพบ

ดังนั้น... เรื่องราวของเชลล์สคริปต์ PHP ที่เป็นอันตราย OpenIDOpenID.php จบลงอย่างไร

เลยตัดสินใจตุนเพิ่ม ฐานข้อมูลต่อต้านไวรัสสำหรับ ClamAV จาก malwarepatrol.net และ rfxn.com ให้ดาวน์โหลดสำเนาสำรองของไฟล์เว็บไซต์และสแกนในเครื่อง นี่คือผลลัพธ์ของการสแกน:

$ clamscan / ladynews.biz / ../ game_eng.swf: MBL_647563.UNOFFICIAL FOUND / ../ farmfrenzy_pp_eng.swf: MBL_647563.UNOFFICIAL FOUND / ../ beachpartycraze_eng.swf: MBL_2934eng / UN.OFFICIAL FOUND: MBL_647563.UNOFFICIAL FOUND / ../ loader_eng.swf: MBL_647563.UNOFFICIAL FOUND ----------- SCAN SUMMARY ----------- ไวรัสที่รู้จัก: 4174348 รุ่นเครื่องยนต์: 0.98.7 ไดเรกทอรีที่สแกน: 3772 ไฟล์ที่สแกน: 18283 ไฟล์ที่ติดไวรัส: 5 ข้อผิดพลาดทั้งหมด: 1 ข้อมูลที่สแกนแล้ว: 417.76 MB อ่านข้อมูล: 533.51 MB (อัตราส่วน 0.78 : 1 ) เวลา: 1039.768 วินาที (17 ม. 19 วินาที)

/libraries/simplepie/idn/OpenIDOpenID.phpเช่นเดียวกับไฟล์ .swf ที่กล่าวถึงข้างต้น ถูกลบไปแล้ว แต่ปัญหาได้รับการแก้ไขหรือไม่ แม้จะพูดยาก แต่เราก็ขุดต่อไป ...

จากเวอร์ชันถอดรหัสของไฟล์ /libraries/simplepie/idn/OpenIDOpenID.php(http://pastebin.com/WRLRLG9B) โดยดูที่ค่าคงที่ @define("WSO_VERSION", "2.5"); เป็นที่ชัดเจนว่านี่คือผลิตภัณฑ์ชนิดหนึ่งที่เรียกว่า WSO หลังจากขุดบนเครือข่ายเล็กน้อยสำหรับคีย์เวิร์ด WSO ได้ผลลัพธ์ดังต่อไปนี้:

ปรากฎว่าหัวข้อไม่ใช่เรื่องใหม่มาเป็นเวลานาน ดังนั้นเราจึงนำ regexxer เข้าไปในฟัน ขุดไฟล์ไซต์ต่อไปและค้นหา: ข้อผิดพลาดในการเปิดไดเรกทอรี "/home/user/libraries/joomla/cache/controller/cache" : ปฏิเสธการอนุญาต

ใช่ อยู่นี่แล้ว เจ็บตรงไหนอีก! เราดูที่สิทธิ์ในไดเรกทอรีซึ่งโดยค่าเริ่มต้นไม่ควรเป็น = chmod 111 (หรือที่เรียกว่า Run for Owner / Group / Everyone) ดังนั้น มีบางอย่างกำลังนั่งอยู่ที่ไหนสักแห่งและแพร่กระจายไปทั่วแคตตาล็อก ซ่อนตัวเองจากไวรัสด้วย chmods 111

เมื่อตั้งค่า chmod 551 สำหรับไดเร็กทอรีและมองเข้าไปข้างในแล้ว ก็พบว่ามี /libraries/joomla/cache/controller/cache/cache/langs.phpซอร์สโค้ดที่โพสต์ไว้ที่นี่: http://pastebin.com/JDTWpxjT - directory /libraries/joomla/cache/controller/cacheลบ.

เยี่ยมมาก ตอนนี้เราใส่ chmods ลงในไฟล์และไดเร็กทอรีทั้งหมดตามลำดับ:

# การเปลี่ยนแปลงสิทธิ์จำนวนมาก (chmod) ในไฟล์ในไดเร็กทอรี ./dirname และด้านล่าง find / home/ user/ public_html -type f -exec chmod 644 ( ) \; # สิทธิ์การเปลี่ยนแปลงจำนวนมาก (chmod) เป็น /dirname และด้านล่าง find / home/ user/ public_html -type d -exec chmod 755 ( ) \;

อีกครั้งที่เราตรวจสอบแอนตี้ไวรัสซ้ำด้วยฐานข้อมูล clamscan /ladynews.biz เพิ่มเติม แต่คาดว่าทุกอย่างจะสะอาด

เราค้นหาไฟล์ซ้ำด้วย regexxer และพยายามค้นหาโดย คีย์เวิร์ด OpenIDOpenID, OpenID หรือ WSO - และเราได้ข้อสรุปว่า p.zdets นั้นกว้างและลึกกว่ามาก:

  • - ไม่ควรอยู่ที่นี่ นี่คือที่มา: http://pastebin.com/jYEiZY9G
  • /administrator/components/com_finder/controllers/imagelist.php- ไม่ควรอยู่ที่นี่ นี่คือที่มา: http://pastebin.com/0uqDRMgv
  • /administrator/components/com_users/tables/css.php- ไม่ควรอยู่ที่นี่ นี่คือที่มา: http://pastebin.com/8qNtSyma
  • /administrator/templates/hathor/html/com_contact/contact/toolbar.trash.html.php- ไม่ควรอยู่ที่นี่ นี่คือที่มา: http://pastebin.com/CtVuZsiz
  • /components/com_jce/editor/tiny_mce/plugins/link/img/Manager.php- ไม่ควรอยู่ที่นี่ นี่คือที่มา: http://pastebin.com/2NwTNCxx
  • /libraries/joomla/application/web/router/helpsites.php- ไม่ควรอยู่ที่นี่ นี่คือที่มา: http://pastebin.com/ANHxyvL9
  • /plugins/system/ytshortcodes/XML.php- ไม่ควรอยู่ที่นี่ นี่คือที่มา: http://pastebin.com/GnmSDfc9
  • /templates/index.php - ไม่ควรอยู่ที่นี่ นี่คือที่มา: http://pastebin.com/gHbMeF2t

/administrator/components/com_admin/index.phpและ /templates/index.php อาจเป็นสคริปต์เริ่มต้นที่รันโค้ดหลักด้วยฟังก์ชัน eval() ที่เลิกใช้งานแล้ว ซึ่งยังใช้:

ตรรกะของการปลอมตัว รหัสที่เป็นอันตรายแจ่มใส. ตอนนี้ หากเรามองหาโครงสร้าง " eval($ " เราจะพบสิ่งที่น่าสนใจอีกมากมาย:

  • /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- ติดเชื้อแล้วต้องเปลี่ยน!,
  • /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 -

สคริปต์ PHP แบบไวรัสบางตัวไม่ได้ถูกโพสต์บน pastebin.com เพราะอนุญาตเพียง 10 สิ่งพิมพ์ภายใน 24 ชั่วโมง ที่ คำสั่งทั่วไปการลบเช่นนี้:

ใช่ ฉันเกือบลืมไปเลย ก่อนที่คุณจะเริ่มลบสคริปต์ที่เป็นอันตราย การเพิ่มกฎสองสามข้อใน .htaccess ที่ห้ามการเข้าถึงโดยตรงไปยังไฟล์ .php ในไดเร็กทอรีใดๆ แต่อนุญาตให้เข้าถึงได้เฉพาะไฟล์รูท / หรือ /index .php และ /administrator/ หรือ /administrator/index.php - สิ่งนี้จะป้องกันไม่ให้ผู้บุกรุกเข้าถึงเชลล์สคริปต์ขาเข้าที่ซ่อนอยู่ในไดเร็กทอรีระบบต่างๆ:

(ผับ) (/ผับ) (reg)

# ---+++ ปกป้องไฟล์และไดเรกทอรีบางส่วน +++---# RewriteCond %(REQUEST_URI) !^/((ดัชนี)+\.php|.*\.(htm|html|txt|xml)|+|.*/+|.*/.*\.(css|js) |jpg|jpeg|png|gif|ico|eot|svg|ttf|woff|woff2|html)+)?$ RewriteCond %(REQUEST_URI) !^/(ผู้ดูแลระบบ)+/(index\.php)?$ RewriteRule ^ (.*)$ - # # ---+++// ป้องกันไฟล์และไดเรกทอรีบางส่วน +++---

UPD 2015-10-28: อะไรนะ? ผ่อนคลายแล้ว? มันเร็วเกินไป...

ทีนี้มาดูไฟล์ไบนารีใน wilds ของไฟล์เว็บไซต์ ซึ่งไม่ควรอยู่ในเอ็นจิ้นเลย:

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

ใครก็ตามที่ค้นหาจะพบเสมอ (ไฟล์ไบนารี):

  • /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/LICENSE.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

มาสรุปกัน

ไม่สามารถระบุได้อย่างน่าเชื่อถือว่าขาของการติดเชื้อนี้เติบโตจากที่ใด - ไม่ว่าจะเป็นการตำหนิที่พบในเครื่องยนต์เมื่อเร็ว ๆ นี้ จุดอ่อนที่สำคัญอนุญาตให้ฉีด SQL และยกระดับสิทธิ์ ไม่ว่าจะเป็นไฟล์ .swf ที่กล่าวถึงข้างต้น หรือช่องโหว่บางประเภทที่ยังไม่ได้ค้นพบในส่วนประกอบหรือปลั๊กอินของบุคคลที่สาม หรือเว็บโฮสติ้งเสมือนที่รั่ว คำถามยังคงเปิดอยู่หรือไม่

กำลังค้นพบ ไฟล์ที่เป็นอันตรายล้างข้อมูล ไฟล์เอ็นจิ้นถูกอัปโหลดใหม่ทั้งหมด สิ่งกีดขวางที่สร้างขึ้นในกฎ .htaccess... ใครก็ตามที่มีเวลาและใครสนใจที่จะรวบรวมและขุดค้นข้อมูลอึพวกนี้สามารถดาวน์โหลด wso-php-shell-in-joomla.zip ไฟล์เก็บถาวร - ไฟล์ทั้งหมดข้างต้นบรรจุอยู่ในไฟล์ PHP ที่เป็นอันตราย รหัสผ่านสำหรับเก็บถาวร: www.website

ทั้งหมด: ไม่มีความหวาดระแวงมากเกินไป และโปรแกรมป้องกันไวรัสฟรีหรือเชิงพาณิชย์ที่มีฮิวริสติกพร้อมกับฐานข้อมูลลายเซ็นเพิ่มเติมนั้นอยู่ไกลจากยาครอบจักรวาล ดังนั้นโปรแกรมป้องกันไวรัสเป็นเครื่องมือที่ล้าสมัยในการปกป้องสภาพแวดล้อมของผู้ใช้หลายคนและเพื่อป้องกันภัยคุกคามที่ไม่รู้จักต่างๆ ควรใช้วิธีการป้องกันหวาดระแวง เช่น virtualization, SELinux, Bastille Linux, บิตที่ไม่เปลี่ยนรูป, ecryptfs เป็นต้น!

  • ภัยคุกคาม: WSO PHP Web Shell
  • เหยื่อ: ladynews.biz

การโจมตีทรัพยากรองค์กรส่วนใหญ่เกี่ยวข้องกับการแนะนำเว็บเชลล์ ซึ่งเป็นรหัสที่ทำให้สามารถควบคุมเครื่องที่ได้รับผลกระทบจากภายนอกเครือข่ายได้ AntiShell Web Shell Hunter คือ สารป้องกันซึ่งรวมถึงกลไกทั้งชุดสำหรับการตรวจจับเว็บเชลล์




เว็บเชลล์เป็นสคริปต์ที่อัปโหลดไปยังเซิร์ฟเวอร์และให้บริการแก่ การบริหารระยะไกล. มันจะกลายเป็นอันตรายก็ต่อเมื่อมันถูกควบคุมโดยผู้โจมตี และในกรณีนี้ เขากำลังคุกคามอย่างร้ายแรง

เซิร์ฟเวอร์ที่ติดไวรัสไม่จำเป็นต้องเชื่อมต่อกับอินเทอร์เน็ต - สามารถอยู่ในเครือข่ายภายในของบริษัท จากนั้นเว็บเชลล์จะใช้เพื่อเข้าถึงโฮสต์อื่นด้วยแอปพลิเคชันหรือข้อมูลที่สำคัญ

เว็บเชลล์เขียนในภาษาใดๆ ก็ตามที่เว็บเซิร์ฟเวอร์เป้าหมายสนับสนุน ในทางปฏิบัติ มีการใช้ PHP และ ASP มากที่สุด เนื่องจากเป็นที่นิยมมากที่สุด มัลแวร์เชลล์ Perl, Ruby, Python และ Unix ก็เป็นเรื่องปกติเช่นกัน

เว็บเชลล์ได้รับการติดตั้งในลักษณะมาตรฐานสำหรับแอปพลิเคชันที่เป็นอันตราย โดยใช้ช่องโหว่ใน CMS หรือ ซอฟต์แวร์เว็บเซิร์ฟเวอร์. หลังจากนั้น พวกมันจะทำหน้าที่เป็นแบ็คดอร์ ซึ่งช่วยให้ผู้โจมตีสามารถรันคำสั่งตามอำเภอใจบนเครื่องระยะไกล ซึ่งรวมถึงการฉีดแรนซัมแวร์หรือเปิดการโจมตีบนเซิร์ฟเวอร์อื่น

อันตรายเฉพาะของเว็บเชลล์อยู่ที่ความเรียบง่ายสัมพัทธ์ การปรับเปลี่ยนสคริปต์เพื่อสร้างโปรแกรมอื่นเป็นงานที่แม้แต่มือใหม่ก็สามารถจัดการได้ ด้วยคุณภาพนี้ การตรวจจับเว็บเชลล์ด้วยเครื่องมือป้องกันไวรัสมาตรฐานจึงเป็นเรื่องยาก

เหมือนคนอื่น มัลแวร์, เว็บเชลล์สามารถระบุได้ด้วยสัญญาณภายนอกจำนวนหนึ่ง อย่างไรก็ตาม ส่วนสำคัญของไฟล์เหล่านี้สามารถอ้างถึงไฟล์ทางกฎหมายโดยสมบูรณ์ ดังนั้น ตัวบ่งชี้ที่น่าสงสัยใดๆ จะต้องได้รับการพิจารณาในภาพรวม วิเคราะห์ภาพรวม ไม่ใช่เศษของข้อมูล

ตัวบ่งชี้ที่เป็นไปได้ของการมีอยู่ของเว็บเชลล์บนเซิร์ฟเวอร์สามารถ:

  • ช่วงเวลาของการโหลดสูงผิดปกติบนเซิร์ฟเวอร์
  • การมีอยู่ของไฟล์ที่มีการประทับเวลาที่น่าสงสัย (เช่น ช้ากว่าเวลา) ปรับปรุงล่าสุดบน);
  • มีจำหน่าย ไฟล์ที่น่าสงสัยในสถานที่ที่เข้าถึงได้จากอินเทอร์เน็ต
  • การมีอยู่ของไฟล์ที่มีลิงก์ไปยัง cmd.exe , eval และอื่นๆ
  • การมีอยู่ของการอนุญาตที่น่าสงสัยจากเครือข่ายภายใน
  • การมีไฟล์ที่สร้างทราฟฟิกที่ผิดปกติสำหรับพวกเขา

เห็นได้ชัดว่าการวิเคราะห์ "ด้วยตนเอง" ในกรณีนี้ หากเป็นไปได้ ต้องใช้ทรัพยากรมนุษย์มากเกินไป ดังนั้นการใช้งานจึงปราศจากความได้เปรียบในทางปฏิบัติใดๆ AntiShell Web Shell Hunter ที่พัฒนาโดย Garhi Technology ทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติและอ้างว่ารู้จักเว็บเชลล์ที่รู้จักทั้งหมด

แอปพลิเคชันนี้ใช้เทคโนโลยีต่อไปนี้:

  • การค้นหาคำหลัก ไฟล์ทั้งหมดได้รับการตรวจสอบว่ามีคำและคำสั่งที่อาจเกี่ยวข้องกับการโจมตีหรือไม่
  • การวิเคราะห์ลายเซ็น: ค้นหาลายเซ็นของเว็บเชลล์ที่รู้จัก
  • การวิเคราะห์สตริงที่ยาวที่สุด บ่อยครั้ง รหัสที่เป็นอันตรายถูกเข้ารหัสในลักษณะที่เลี่ยงการค้นหาคำสำคัญ ซึ่งทำให้บรรทัดของโค้ดยาวเป็นพิเศษ ซึ่งทำให้สามารถตรวจพบได้
  • การคำนวณเอนโทรปีแชนนอนใน รหัสแหล่งที่มา. โค้ดแต่ละบรรทัดได้รับการจัดอันดับโดยพิจารณาจากระดับของการคุกคาม
  • ค้นหาโค้ดที่เป็นอันตรายโดยใช้วิธีดัชนีการจับคู่

วิธีนี้ช่วยแก้ปัญหาหลักประการหนึ่งของการค้นพบเว็บเชลล์ที่เกี่ยวข้องกับภาษาต่างๆ ที่ใช้และความเป็นไปได้ในการแก้ไขอย่างง่าย ปัจจัยเหล่านี้ไม่ส่งผลต่อการทำงานของ AntiShell Web Shell Hunter แต่อย่างใด ซึ่งทำให้เป็นสากลและอนุญาตให้ใช้เพื่อป้องกันเซิร์ฟเวอร์ใดๆ

เนื่องจากไฟล์ที่ไม่ได้รับการแก้ไขตั้งแต่การสแกนครั้งก่อนจะไม่รวมอยู่ในการประมวลผล AntiShell Web Shell Hunter จึงไม่สร้างภาระงานสูงบนเซิร์ฟเวอร์ นอกจากนี้ วิธีการนี้ยังช่วยลดเวลาในการตรวจสอบ

ในเวลาเดียวกัน ผู้ดูแลระบบสามารถตั้งเวลาสแกนได้อย่างอิสระตามความผันผวนรายวันในการโหลดบนเซิร์ฟเวอร์ หากจำเป็น โหมดรายวันจะถูกแทนที่ด้วยโหมดรายสัปดาห์หรือรายเดือน ซึ่งทำให้คุณสามารถเพิ่มประสิทธิภาพการทำงานของทั้งระบบได้

โปรแกรมตรวจจับไฟล์ที่มีรหัสเว็บเชลล์และให้ผู้ดูแลระบบกับ ข้อมูลทั้งหมดตามวัตถุ: วันที่และเวลาที่สร้าง ชื่อเจ้าของ การอนุญาต และอื่นๆ

ข้อมูลทั้งหมดนี้ (แต่ไม่ใช่ไฟล์เอง) ยังไปที่ศูนย์ลูกค้าของบริษัทผู้พัฒนา ซึ่งสามารถให้การสนับสนุนในการประมวลผลเหตุการณ์และตรวจสอบผลที่ตามมาได้ ลูกค้าที่สมัครใช้บริการแบบชำระเงินก็ใช้ได้เช่นกัน ยูทิลิตี้พิเศษดาวน์โหลดไฟล์ที่ติดไวรัสเองเพื่อการวิเคราะห์เพิ่มเติม

ข้อความเกี่ยวกับวัตถุที่พบจะถูกส่งไปยังผู้ดูแลระบบโดย อีเมล. เขาไม่จำเป็นต้องดูแลกระบวนการเป็นการส่วนตัว

จนถึงปัจจุบัน AntiShell Web Shell Hunter เป็นเครื่องมือเดียวที่เน้นไปที่การตรวจจับเว็บเชลล์โดยเฉพาะ แอปพลิเคชั่นป้องกันไวรัสจำนวนหนึ่งมีคุณสมบัติที่คล้ายกัน แต่เป็นตัวเลือกเพิ่มเติมที่ปิดใช้งานตามค่าเริ่มต้นเท่านั้น ตามกฎแล้ว พวกเขาพึ่งพาการวิเคราะห์ลายเซ็นเพียงอย่างเดียว ดังนั้นประสิทธิภาพของมันจึงเป็นที่ต้องการอย่างมาก

เนื่องจากการใช้เว็บเชลล์ในการโจมตีเซิร์ฟเวอร์กลายเป็นเรื่องปกติมากขึ้น จึงควรปกป้องระบบด้วยโซลูชันเฉพาะทาง ดังคำกล่าวที่ว่า ความปลอดภัยไม่เคยมากเกินไป