สวัสดีคร้าบ ผมมีปัญหา Server ถูกเจาะ เลยมีเรื่องอยากขอคำปรึกษาเพื่อนๆ พี่ๆ ครับ
ผมมีลูกค้าใช้งาน wordpress ครับ ลูกค้าเป็นผู้ใช้ระดับ user ไม่ได้ root password ไม่เคย ssh เข้ามา ปกติผมจะดูแล server ให้ครับ
Server ทำงานมาได้เกือบ 2 ปีแล้วครับ เป็น dedicated server ลง centos 6.x 64bit ตอนนี้เป็น 6.5 ครับ
ข้างในติดตั้ง wordpress ครับ มีอยู่ 5 เว็บไซต๋์
ส่วนใหญ่ขาดการอัพเดท มีปัญหาโดนเจาะบ้างประปรายตลอด 2 ปีที่ผ่านมา แต่ละครั้งที่โดนจะมี phisingsite หรือ spam mail
เตือนลูกค้ายังไงก็ไม่ค่อยอัพเดทซักที
พอโดนทีผมก็จะลบลงใหม่ แบบเก็บฐานข้อมูลเฉพาะ post และไฟล์รูปภาพไว้มาติดตั้งให้ใหม่ครับ ที่ผ่านมาก็ดูแลปกติครับ
จนมาอาทิตย์ที่แล้วจู่ๆ เครื่องส่ง DDoS ออกจนเต็มสายเว็บช้าไปทั้งหมด ผมมาดู process ที่ส่ง DDoS กลับเจอเป็น process
ที่มี user เป็น root @_@
[root@sv1 ~]# lsof -w -n -p 5384
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ifyiptddm 5384 root cwd DIR 9,2 4096 2 /
ifyiptddm 5384 root rtd DIR 9,2 4096 2 /
ifyiptddm 5384 root txt REG 9,2 625718 39324164 /usr/bin/ifyiptddmo
ifyiptddm 5384 root 0u CHR 1,3 0t0 3824 /dev/null
ifyiptddm 5384 root 1u CHR 1,3 0t0 3824 /dev/null
ifyiptddm 5384 root 2u CHR 1,3 0t0 3824 /dev/null
ifyiptddm 5384 root 3u IPv4 185164 0t0 TCP 123.123.123.123:40846->104.223.10.40:opsession-prxy (SYN_SENT)
ลองลูบๆ คลำๆ ไฟล์ดู
- ลอง cat /usr/bin/ifyiptddmo แต่เปิดไฟล์อ่านไม่ได้ เจอแต่ตัวยึกยือ
- ลอง execute ไฟล์ดู ./usr/bin/ifyiptddmo พบว่าไฟล์จะหายวับไปเลยครับ แต่มี อีกไฟล์เปลี่ยนชื่อสร้างขึ้่นมาแทนทำ ddos เหมือนกัน
- ลองเปลี่ยน password root เปลี่ยน ssh port แล้วลบไฟล์ทิ้งไม่ถึง นาทีก็โผล่มาใหม่
- ตรวจ cronjob ไม่มีอะไรผิดปกติ
ผมถอดใจเลยเคยพอดูว่าเค้ามีสิทธิ์ root ผ่านนี้เครื่องคงพรุนไปไหนถึงไหน
เลย backup ข้อมูลเนื่องจากมี 5 โดเมนไฟล์รวมกันไม่ถึง 5 GB แล้ว format ลบลงใหม่
ระหว่างลบลงใหม่ลูกค้าบอกว่ามีเว็บ 4 โดเมนที่ผู้ชมเข้าเยอะไม่อยากให้ดับ ผมเลยไป restore อีกเครื่องนึง ขอแทนเครื่องนี้ว่าเครื่อง B ครับ
ทีเหลืออีก 1 เว็บพอ format ติดตั้งใหม่กลับมาติดตั้งเครื่องเดิม เครื่อง A แล้วไม่พบอาการอีก ที่เครื่องนี้ สรปุึว่าเครื่อง A หาย
แต่ว่าพอทิ้งไว้ 2 วัน เครื่อง B ที่ย้ายไป 4 เว็บถูกเจาะอาการเดียวกันเลยครับ ตอนเข้าไปดูพบว่ากำลังส่ง ddos กันอย่างเมามันส์
ผมเข้าไปแล้วใช้ iptable drop เอาไว้อยูู่
ที่มั่นใจคือ backdoor ต้องอยู่ใน 4 เว้บที่ย้ายไปแน่ๆ แต่ก่อนย้ายลองใช้ maldet clamav กับ abuseseat findbot.pl scan ดูก่อนย้าย
พบไฟล์เข้ารหัส base64 อยู่ไม่กี่ไฟล์แต่ลบออกหมดแล้วครับ
เลยอยากสอบถามว่า hacker ยกระดับมาเป็น root ได้ไงอะครับ ทั้ง 2 เครื่อง ที่ผมทำตั้งแต่ติดตั้งครั้งแรก
-
รหัสผ่าน ssh และ directadmin random สุ่มยาก
-
ติดตั้ง clamav ตั้ง auto scan เคยเจอตัวอื่น แต่ไม่เจอตัวนี้
-
ติดตั้ง Maldet (LMD) ตั้ง auto scan เคยเจอตัวอื่น แต่ไม่เจอตัวนี้
-
ทำ secure /tmp
-
ทำ php disable_functions = exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,dl,popen,show_source
-
yum update ทุกๆ 3 เดือน
-
คอมไพปิด cgi ให้กับ httpd
-
นอกเหนือจากด้านบนผมลืมทำอะไรไปรึเปล่าครับเนี่ย
-
มีคำสั่ง หรือวิธีหาต้นตอที่สร้างไฟล์ /usr/bin/fzyrabrclw ขึ้นมาทำงานรึเปล่าครับ
[root@sv1 bin]# find /usr/bin/ -type f -printf ‘%TY-%Tm-%Td %TT %p
’ | sort -r | head -n 5
2016-01-26 18:05:08.8891505330 ./fzyrabrclw
2015-08-17 22:57:15.0000000000 ./snmpwalk
2015-08-17 22:57:15.0000000000 ./snmpvacm
2015-08-17 22:57:15.0000000000 ./snmpusm
2015-08-17 22:57:15.0000000000 ./snmptrap
[root@sv1 bin]# rm fzyrabrclw
rm: remove regular file `fzyrabrclw’? y
[root@sv1 bin]# find /usr/bin/ -type f -printf ‘%TY-%Tm-%Td %TT %p
’ | sort -r | head -n 5
2016-01-26 18:47:35.6281488540 /usr/bin/gqwnnjrqun
2015-08-17 22:57:15.0000000000 /usr/bin/snmpwalk
2015-08-17 22:57:15.0000000000 /usr/bin/snmpvacm
2015-08-17 22:57:15.0000000000 /usr/bin/snmpusm
2015-08-17 22:57:15.0000000000 /usr/bin/snmptrap
[root@sv1 bin]# rm gqwnnjrqun
rm: remove regular file `gqwnnjrqun’? y
[root@sv1 bin]# find /usr/bin/ -type f -printf ‘%TY-%Tm-%Td %TT %p
’ | sort -r | head -n 5
2016-01-26 18:48:14.4471487420 /usr/bin/stsmddhyyw
2015-08-17 22:57:15.0000000000 /usr/bin/snmpwalk
2015-08-17 22:57:15.0000000000 /usr/bin/snmpvacm
2015-08-17 22:57:15.0000000000 /usr/bin/snmpusm
2015-08-17 22:57:15.0000000000 /usr/bin/snmptrap