Chronicles of DDOS: การจัดการกับการโจมตี XMLRPC ของ WordPress Bots
เผยแพร่แล้ว: 2019-04-08เมื่อสองวันก่อน เราประสบปัญหากับหนึ่งในเว็บไซต์ลูกค้าของเราในชื่อ Nettsted Limited ปกติเราไม่ได้ให้การสนับสนุนด้านเทคนิคแก่ลูกค้าของเรา แต่บริการโฮสติ้งของลูกค้าของเราไม่ได้ให้การสนับสนุนใดๆ กับเธอ เนื่องจากเรารู้สึกว่าต้องช่วยเธอ เราจึงตัดสินใจ ดำเนินการกับการโจมตีของ Botnet เราต้องเผชิญกับพฤติกรรมแปลก ๆ ของบอทระหว่างการโจมตี ฉันจะพูดถึงสิ่งที่เกิดขึ้นทุกชั่วโมงในหน้านี้ และสิ่งที่เราทำเพื่อปกป้องเว็บไซต์ของลูกค้า
จุดเริ่มต้นของการโจมตี DDOS: ผู้โจมตีระบุตัวเอง
ในฐานะที่ฉันเป็นเจ้าของ Nettsted Limited ฉันทำงาน 16-18 ชั่วโมงในหนึ่งวันเพื่อให้การสนับสนุนแก่ลูกค้าของเรา เรามีลูกค้าที่แตกต่างกันจากทั่วโลก ดังนั้นฉันจึงต้องตื่นตัวในโซนเวลาที่ต่างกัน หลายเดือนต่อมา อย่างแรกเลย ฉันอยากดูหนังและสนุกกับครอบครัว น่าเสียดายที่นี่คือวันที่แย่ที่สุดวันหนึ่งในอาชีพการงานของฉัน หลังจากดูหนัง เราตัดสินใจพักผ่อน อย่างไรก็ตาม มีเพียงสิ่งที่มองไม่เห็นได้สะกิดฉันและบอกฉันว่า “เฮ้! ต้องดูผลงานแล้วนอน” และใช่… นี่คือสิ่งที่เกิดขึ้นระหว่างที่ฉันขาดงาน 5 ชั่วโมง:
- ลูกค้ารายหนึ่งของฉันได้ลบปลั๊กอิน SEO ลบคำอธิบายและชื่อทั้งหมดของเว็บไซต์ เขายังทำลายโครงสร้างลิงก์ของเว็บไซต์อีกด้วย
- ลูกค้ารายอื่นได้ลบปลั๊กอินบางตัวที่เราติดตั้งซึ่งเกี่ยวข้องกับ SEO เปลี่ยนการตั้งค่าแคชและไฟล์ .js และ .css ทั้งหมดเสีย
- ลูกค้ารายหนึ่งของฉันถูกโจมตีด้วย DDOS และเธอกำลังเฝ้าดูเว็บไซต์ของเธอพัง
เมื่อฉันเข้าร่วม WhatsApp และ Skype ฉันพบข้อร้องเรียนมากมายในช่วง 5 ชั่วโมงนั้น 30% ของประโยคเป็นเพียง "คุณอยู่ที่ไหน!"
ลูกค้าของฉันบอกฉันว่าเขาได้รับข้อความผ่าน WhatsApp ผู้โจมตีระบุตัวเองด้วยหมายเลขโทรศัพท์และบอกลูกค้าของฉันว่าเขากำลังจะโจมตีเธอ มันฟังดูงี่เง่าจริงๆ แต่เขาทำจริงๆ… เมื่อฉันกลับมาทำงาน การโจมตีก็ได้เริ่มต้นขึ้นแล้ว
วันที่ 1-) ดำเนินการกับการโจมตีครั้งแรก
นี่คือบันทึกบางส่วนจากการโจมตีที่เราได้รับ:
103.9.156.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; ; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
216.240.176.141 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.0;
104.236.33.158 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://pmsearchpartners.com; verifying pingback from 93.174.93.163"
149.210.236.96 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.27; http://imageconsultant.mu/; verifying pingback from 149.210.236.96"
185.87.249.33 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1;
158.69.26.84 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.2; http://teensystudios.com; verifying pingback from 93.174.93.163"
103.233.76.243 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://help.worldmart.in; verifying pingback from 93.174.93.163"
203.175.180.254 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://www.cybertechriskcenter.com; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
68.71.60.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://www.itunesalternative.org; verifying pingback from 93.174.93.163"
66.55.132.6 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.8.16;
163.172.103.45 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-"
ในบันทึก คุณจะเห็นว่าการโจมตีนั้นมาจากตัวแทนผู้ใช้ WordPress อย่างไรก็ตาม การจู่โจมบางอย่างก็เกิดขึ้นโดยไม่มีเอเย่นต์เช่นกัน ฉันตรวจสอบเว็บไซต์ที่อ้างอิงทั้งหมดแล้ว และพวกเขาทั้งหมดเป็นเว็บไซต์ที่ล้าสมัยและถูกละทิ้ง มี IP หนึ่งซึ่งเกือบจะเหมือนกันในบันทึกทั้งหมดและมีอีก 2 รายการ 93.174.93.163 เป็น IP ของเนเธอร์แลนด์ แต่ฉันเชื่อว่าเป็นเซิร์ฟเวอร์/โฮสต์ซึ่งกำลังเตรียมการโจมตีบ็อตเน็ตให้กับเรา อีก 2 IPs เป็น IP ของเนเธอร์แลนด์ด้วย
เนื่องจากมีการแจ้งเตือน "ยืนยัน pingback จาก" มากเกินไปเกี่ยวกับการโจมตี ฉันคิดว่าเขาใช้ pingbacks และ xmlrpc.php สำหรับการโจมตี

ปฏิกิริยาแรกของฉันต่อการโจมตี คือการเปลี่ยนชื่อ xmlrpc.php จากนั้นลบออกทั้งหมดและลบ Pingbacks ออกจากการตั้งค่า WordPress
ผลลัพธ์ : มันไม่ได้ทำให้การโจมตีช้าลงด้วยซ้ำ
เนื่องจากฉันไม่ได้ผลลัพธ์ที่ดีจากการเคลื่อนไหวครั้งแรก ฉันจึงตัดสินใจลบไฟล์ xmlrpc.php ของ WordPress ออกจากไฟล์ แต่ก็ยังไม่ได้ช่วยอะไร
อย่างไรก็ตาม ได้พิสูจน์แล้วว่าช่วยสำหรับการโจมตี DDOS บางประเภท หากคุณกำลังเผชิญกับสิ่งนั้น คุณสามารถลองใช้มันได้เช่นกัน
วันที่ 1-) การตอบสนองครั้งแรก: ใช้ประโยชน์จากการเป็นท้องถิ่น
ตอนนี้คุณจะบอกฉันว่าทำไมฉันถึงไม่ใช้ cloudflare CF ใช้เวลาในการตั้งค่าและการเปลี่ยนแปลงเนมเซิร์ฟเวอร์อาจเป็นเรื่องยุ่งยากในบางครั้ง ดังนั้นฉันจึงต้องการชะลอการโจมตี แต่ฉันก็ตั้งค่า cloudflare สำหรับเว็บไซต์ด้วย เปลี่ยนเนมเซิร์ฟเวอร์ การโจมตีรุนแรงและเป็นความเสียหายอย่างร้ายแรงต่อการใช้งาน I/O, แบนด์วิดธ์ และอื่นๆ ฉันเชื่อว่าพวกเขาเป็น 2-3 คนที่โจมตีจากเซิร์ฟเวอร์ที่แตกต่างกัน เว็บไซต์ของลูกค้าของฉันได้รับเงิน 1,000 ดอลลาร์ต่อวัน และนั่นก็เป็นปัญหาใหญ่สำหรับเขา เว็บไซต์หยุดทำงานประมาณ 6 ชั่วโมง
เนื่องจากเป็นไซต์ในพื้นที่ ฉันจึงตัดสินใจตั้งค่า htaccess ฉันต้องการที่อยู่ IP ทั้งหมดของเดนมาร์ก ด้วยความช่วยเหลือของเว็บไซต์ ฉันจัดการเพื่อค้นหา IP ของเดนมาร์กทั้งหมด ฉันจะปิดเว็บไซต์เพื่อเข้าชมต่างประเทศทั้งหมดชั่วคราว ฉัน สร้างไฟล์ htaccess และปิดกั้นการรับส่งข้อมูลจากต่างประเทศทั้งหมดไปยังเว็บไซต์
ผลลัพธ์ : นี่เป็นผลลัพธ์ที่ดีชั่วคราว บอทที่เป็นอันตรายทั้งหมดได้มาถึง 403 หน้าแล้ว มีแต่ข่าวร้าย. บอทของ Google ก็แตะ 403 เช่นกัน เนื่องจากการรับส่งข้อมูลของบ็อตมาจากสหรัฐอเมริกาเป็นหลัก ฉันไม่ได้ตั้งค่าใดๆ สำหรับ IP บอทของสหรัฐฯ หรือ Google เนื่องจากเป็นการดำเนินการชั่วคราวจนกว่าจะมีการเปลี่ยนแปลง Nameserver จึงไม่มีปัญหา
ระหว่างกระบวนการทั้งหมด ฉันกำลังคุยกับลูกค้าทางโทรศัพท์และทำให้เธอสงบลง เธอค่อนข้างโกรธและอารมณ์เสียเพราะสถานการณ์ เธอบอกฉันว่าเธอได้รับข้อความจากผู้โจมตี เธอมีหมายเลขโทรศัพท์ของเขา!
วันที่ 1-) Nameservers เปลี่ยนไปและมีปัญหากับการตั้งค่า Cloudflare
ประมาณ 2 ชั่วโมงต่อมาที่ฉันตั้งค่า htaccess เซิร์ฟเวอร์ชื่อเปลี่ยนไป และฉันเปิดใช้งาน cloudflare นำกฎการปฏิเสธ/อนุญาตออกจากไฟล์ .htaccess แล้ว อย่างไรก็ตาม มีปัญหากับการตั้งค่า WAF ของ Cloudflare ฉันขอให้ลูกค้า เปลี่ยน IP ของเซิร์ฟเวอร์ และเธอก็ทำอย่างนั้น ต่อมาฉันจะเปลี่ยนระเบียน DNS ของ cloudflare เนื่องจากข้อมูล IP เก่ายังคงอยู่ที่นั่น แต่ถ้าฉันจะทำทันทีหลังจากซื้อ IP ไซต์ก็จะหยุดทำงานอีกครั้ง “โหมด Under Attack” เปิดใช้งาน บนเว็บไซต์แล้ว
ผลลัพธ์ : หลังจากที่เราเปิดใช้งาน Cloudflare การโจมตีทั้งหมดก็หยุดลง
หลังจากตื่นเต้น 6-7 ชั่วโมงฉันก็ลุกขึ้นจากเก้าอี้และเข้านอน เราคิดว่าเราชนะแต่มันยังไม่จบ
วันที่ 2-) เขากลับมา! ข้ามไปที่ Cloudflare ด้วย Botnet!
เราเปลี่ยน IP ในตอนเช้า และเนื่องจากฉันคิดว่าเว็บไซต์ปลอดภัย ฉันจึงเปลี่ยนโหมดการโจมตีเป็นปานกลาง ฉันได้ทำการเปลี่ยนแปลงอื่นๆ ใน .htaccess ฉันได้ซื้อ PRO cloudflare ให้กับลูกค้าของฉัน ฉันตั้งค่า WAF บางอย่างเพื่อทำให้เว็บไซต์ปลอดภัยยิ่งขึ้น อย่างไรก็ตาม หลังจากนั้นไม่นานเขาก็กลับมาพร้อมการโจมตีที่จริงจังมากขึ้น และจำนวนการโจมตีที่รุนแรงก็ถูกโจมตีไปยังจุดเริ่มต้น เขากำลังหลบเลี่ยง Cloudflare
การตั้งค่า WAF บางอย่างของ Cloudflare สัญญาว่าจะหยุดการโจมตีบอท WordPress, XMLRPC Attack แต่กลับไม่ใช่ . ฉันตัดสินใจ ตั้งค่า WAF ทั้งหมด เป็นค่าเริ่มต้นบน Cloudflare
ผลลัพธ์ : การโจมตีของบอททั้งหมดที่ไม่มีตัวแทนผู้ใช้เริ่มโจมตีถึง 403
ผลที่ได้ทำให้เว็บไซต์โล่งใจในบางครั้งและเซิร์ฟเวอร์ก็ทำงานอีกครั้ง อย่างไรก็ตาม เราได้รับการโจมตีมากเกินไป และมันก็ใกล้จะถึงแล้ว
วันที่ 2-) การบล็อกประเทศบน Cloudflare
ในที่สุด ฉันคิดว่าเราควรลงทุนกับ cloudflare มากขึ้นเพื่อกำจัดการโจมตีเหล่านั้น เราได้ลบภัยคุกคามออกเกือบ 50% จากการเปลี่ยนแปลงครั้งล่าสุดของฉัน อย่างไรก็ตาม ยังมีอีก 50% สำหรับการบล็อกประเทศของเว็บไซต์ท้องถิ่นจะไม่เป็นปัญหา นอกจากนี้ เนื่องจากเราได้แก้ไขการเข้าชมบอท 50% การโจมตีจากสหรัฐฯ จะไม่เป็นปัญหาร้ายแรงสำหรับเรา เราซื้อองค์กร Cloudflare และบล็อกการรับส่งข้อมูลต่างประเทศทั้งหมด ยกเว้นจากสหรัฐอเมริกาและเดนมาร์ก
ผลลัพธ์ : สิ่งนี้แก้ไข 90% ของการรับส่งข้อมูลของบ็อตเน็ต
วันที่ 3-) การแก้แค้นเป็นอาหารจานเย็นที่ดีที่สุด
เซิร์ฟเวอร์ของเราสามารถจัดการกับปริมาณการใช้บ็อตเน็ต 90% พวกเขายังไม่หยุดการโจมตี จากนั้นฉันก็พบปลั๊กอินที่น่าสนใจบน WordPress อย่างไรก็ตามฉันต้องทดสอบก่อน มิฉะนั้นเว็บไซต์อาจล่มและนั่นจะทำลายสิ่งต่างๆ ฉันขอให้เพื่อนโปรแกรมเมอร์โจมตีเว็บไซต์ของฉัน มันทำงานได้อย่างสมบูรณ์แบบ จากนั้นฉันจะตรวจสอบเกี่ยวกับผู้โจมตี ฉันเข้าใจว่าเขาเป็นใครและทำไมเขาถึงโจมตีเรา
ฉันติดต่อกับผู้โจมตีก่อน ฉันขอให้เขาหยุดการโจมตีของเขา อย่างไรก็ตามเขาตอบฉันด้วยการดูหมิ่นและสาบานมากมาย ฉันเพิ่งบล็อกเขาจาก WhatsApp และไม่ตอบเขาด้วยซ้ำ ลูกค้าของฉันขอให้ฉันจ่ายเงินเพิ่มสำหรับบริการนี้ แต่ฉันปฏิเสธ ฉันถือมันเป็นเรื่องของความภาคภูมิใจ ฉันขออนุญาตลูกค้าของฉันและลบโหมดภายใต้การโจมตี ฉันตั้งค่าปลั๊กอิน
ฉันเริ่มส่งบอทที่น่ารังเกียจ เปื้อนเลือด และเลวทรามของเขากลับไปที่เว็บไซต์ของเขา เว็บไซต์ของเขาพังต่อหน้าต่อตาฉัน สิ่งที่ฉันรู้สึกเหมือนกันกับ Cersei ที่กำลังเฝ้าดูการทำลายล้างของ Baelor's Sept จากนั้นฉันก็ส่งเว็บไซต์อื่นของเขาและอื่น ๆ และอื่น ๆ ไปให้พวกเขา ... เมื่อพวกเขาหยุดการโจมตีระบบก็หยุดลง อย่างไรก็ตาม เมื่อพวกเขาเริ่มโจมตีด้วยบอท มันถูกเปลี่ยนเส้นทางไปยังเว็บไซต์ทั้งหมดของพวกเขา