โดนแฮกเซิร์ฟเวอร์ใช้ขุดเหรียญ Monero (XMR) ด้วยโปรแกรม XMRig ผ่าน Docker Container

ประสบการณ์การโดนแฮกเซิร์ฟเวอร์ครั้งแรกของผม

ปกติเซิร์ฟเวอร์ของ CodeBangkok จะใช้ Ubuntu Linux ซึ่งมี Docker Service รันอยู่เอาไว้สำหรับรัน Discourse Container ซึ่งมันก็คือเว็บ CodeBangkok นั่นเอง

ประมาณวันที่ 10 มกราคม มีการแจ้งเข้ามาว่าไม่สามารถเข้าใช้งานเว็บไซด์ได้ ผมเข้าไปเช็คที่เซิร์ฟเวอร์ดูก็พบว่า hardisk เหลือ 0 byte พร้อมกับ CPU ทั้ง 2 Core ขึ้น 100% ตลอดเวลา จึงได้ใช้โปรแกรม htop เช็คดู process

ผลประกฏว่ามีการรันคำสั่ง xmrig ที่ใช้สำหรับขุดเหรียญ Monero (XMR) ถึง 3 Process ด้วยกัน พร้อมกับมีคำสั่ง shell รันคำสั่ง docker run เพื่อรัน docker container ชื่อ java123 แบบรัวๆอีก

Github: XMRig https://github.com/xmrig/xmrig
ข่าวที่เกี่ยวข้อง: วิจัยพบว่าเหรียญ Monero เป็นที่หนึ่งที่แฮ็กเกอร์เลือกใช้ Malware ขุดเหรียญ Bitcoin อยู่อันดับสอง

ผมจึงรันคำสั่งเช็ค docker container ที่ชื่อ java123 ดู ผลปรากฏว่ามี container ที่ชื่อ java123 รันอยู่จริง ซึ่งก็คือตัวที่รันโปรแกรม XMRig นั่นเอง ซึ่ง container นี้ได้ใช้ Image ชื่อ osekugatty/picture124 พอมาลีสรายชื่อ image ที่อยู่ในเครื่องก็จะเห็นได้ว่ามี repo ที่ชื่อ osekugatty/picture124 อยู่จริง

ผมก็ลองเข้าไปเช็คดูที่ Docker Hub ที่ https://hub.docker.com/u/osekugatty ก็จะเห็นว่า repo นี้มีอยู่จริง สังเกตุว่า Account นี้สร้างมาเมื่อ 22 December 2018 นี้เอง (ปัจจุบันวันที่ 10 มกราคม 2018) แต่มียอด pull image นี้ไปแล้ว 100K+ นั่นอาจจะหมายถึงจำนวนเครื่อง server ที่โดนไปรึเปล่า

ผมจึงได้ดำเนินการ stop, remove container และ remove image ออก ก็ไม่เป็นผล มันยังกลับมาได้อยู่ เพราะยังมีคำสั่งอีกมากมายรันอยู่เพื่อใช้สำหรับ run container

ผมจึงได้ดำเนินการสั่ง service docker stop เพื่อหยุด docker daemon ซะ ผลก็คือ container ที่ขุดเหรียญหยุดรันแล้ว แต่ยังมี shell script อีกมากมายรันอยู่เพื่อที่จะพยายาม run container ให้ได้ ซึ่งมันกิน cpu เกือบ 100% เลยทีเดียว

ผมได้คำแนะนำมากมายจากเพื่อนในกลุ่ม thaiadmin.org และเพื่อนๆใน Facebook สรุปได้ว่า มันเล่นงานที่ crontab ครับ

มันได้เพิ่มคำสั่งนี้ไว้ที่ /etc/crontab เอาไว้เยอะมาก

ผมได้ backup เก็บเอาไว้ดู จากเดิมที่ไฟล์มีขนาด 752 Byte มันเพิ่มไปเป็น 1.139 MByte เพื่อรันคำสั่งนี้คำสั่งเดียว แต่หลายๆครั้ง

จบแล้วครับ สรุปม้นมาโจมตีที่ crontab นั่นเอง ลบบรรทัดนั้นออก แล้วก็ลบ container กับ Image ออก แต่ก็ยังไม่รู้อยู่อีกว่ามันได้สิทธิ์ root ไปได้ยังไง ยังคงต้อง format แล้วลงใหม่อยู่ดี

ขอบคุณกลุ่ม thaiadmin.org คือ Khachain, Thanatip, Krissada, Suebtas, Chakrit
ขอบคุณเพื่อนบนเฟสบุ๊ค คือ Praparn, Wijitsopon, Thirapat, Sutthipong
ขอบคุณแขกรับเชิญพิเศษ Damrongsak, Ammarit

ลิ้งโพสในกลุ่ม https://www.facebook.com/photo.php?fbid=10216107780420938
ลิ้งโพสส่วนตัว https://www.facebook.com/photo.php?fbid=10216107833982277

1 Like