การติดไวรัส DDoS Virus (เป็นบริการ unix) บนเว็บเซิร์ฟเวอร์ Debian 8 VM


14

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

ก่อนอื่นฉันเรียกใช้ps -ejเพื่อชำระเงินสิ่งที่ทำงาน:

root@snf-25181:~# ps -ej
1545 1545 1545 ? 00:00:00 console-kit-dae
1618 1057 1057 ? 00:00:00 gdm-session-wor
1632 1632 1632 ? 00:01:40 rghuoywvrf
1767 1767 1767 ? 00:00:00 sshd
1769 1769 1769 ? 00:00:00 systemd
1770 1769 1769 ? 00:00:00 (sd-pam)
1775 1767 1767 ? 00:00:00 sshd
1776 1776 1776 pts/0 00:00:00 bash
1849 1849 1776 pts/0 00:00:00 su
1870 1870 1776 pts/0 00:00:00 bash
2246 0 0 ? 00:00:00 kworker/0:0
2797 839 839 ? 00:00:00 apache2
3158 3158 3158 ? 00:00:00 bvxktwwnsb
3162 3162 3162 ? 00:00:00 bvxktwwnsb
3163 3163 3163 ? 00:00:00 bvxktwwnsb
3164 3164 3164 ? 00:00:00 bvxktwwnsb
3165 3165 1776 pts/0 00:00:00 ps

สังเกตเห็น bvxktwwnsb และ rguoywvrf

จากนั้นฉันทำps auxเพื่อรับบริการ (อีกครั้งหาง):

Debian-+  1629  0.0  0.0 178300  4444 ?        Sl   16:53   0:00 /usr/lib/dconf/dconf-service
root      1667  0.0  0.0  30744  4436 ?        Ss   16:53   0:00 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
root      1670  0.0  0.1 299588  9884 ?        Ssl  16:53   0:00 /usr/lib/packagekit/packagekitd
root      1674  0.0  0.1 1055004 6168 ?        Ssl  16:53   0:00 /usr/sbin/console-kit-daemon --no-daemon
www-data  1923  0.0  0.1 240964  8112 ?        S    16:53   0:00 /usr/sbin/apache2 -k start
pankgeo+  5656  0.0  0.0  27416  3424 ?        Ss   17:03   0:00 /lib/systemd/systemd --user
pankgeo+  5657  0.0  0.0 143108  2408 ?        S    17:03   0:00 (sd-pam)   
root      5893  0.0  0.1 102420  6428 ?        Ss   17:04   0:00 sshd: pankgeorg [priv]
pankgeo+  5904  0.1  0.0 102560  4128 ?        S    17:04   0:02 sshd: pankgeorg@pts/0
pankgeo+  5905  0.2  0.1  16816  6388 pts/0    Ss+  17:04   0:04 -bash      
root      7443  0.0  0.1 102420  6496 ?        Ss   17:07   0:00 sshd: pankgeorg [priv]
pankgeo+  7448  0.0  0.0 102552  4160 ?        S    17:07   0:00 sshd: pankgeorg@pts/1
pankgeo+  7449  0.0  0.1  16468  6228 pts/1    Ss+  17:07   0:01 -bash      
root     17351  0.0  0.0      0     0 ?        S    17:15   0:00 [kworker/0:0]
root     18446  0.0  0.0      0     0 ?        S    17:18   0:00 [kworker/0:2]
root     18488  0.1  0.0      0     0 ?        S    17:18   0:01 [kworker/1:1]
root     22680  1.5  0.0      0     0 ?        S    17:28   0:08 [kworker/1:0]
root     24173  0.0  0.1 102420  6416 ?        Ss   17:31   0:00 sshd: pankgeorg [priv]
pankgeo+ 24181  0.3  0.0 102420  3360 ?        S    17:31   0:01 sshd: pankgeorg@pts/2
pankgeo+ 24182  0.0  0.0  16480  6112 pts/2    Ss   17:31   0:00 -bash      
root     25316  2.3  0.0      0     0 ?        S    17:33   0:06 [kworker/1:2]
root     26777  0.0  0.0      0     0 ?        S    17:35   0:00 [kworker/0:1]
root     26778  0.0  0.0      0     0 ?        S    17:35   0:00 [kworker/0:3]
root     27300  0.0  0.0   1424  1040 ?        Ss   17:38   0:00 cat resolv.conf  #note                        
root     27306  0.0  0.0   1424  1036 ?        Ss   17:38   0:00 gnome-terminal   #from                     
root     27307  0.0  0.0   1424  1036 ?        Ss   17:38   0:00 ifconfig eth0    #here                    
root     27308  0.0  0.0   1424  1040 ?        Ss   17:38   0:00 id               #(DDOS?)         
root     27309  0.0  0.0   1424  1040 ?        Ss   17:38   0:00 ifconfig                        
pankgeo+ 27315  0.0  0.0  11136  2044 pts/2    R+   17:38   0:00 ps aux     

บันทึกรายการ [-4: -1] จากนั้นฉันพบออนไลน์เกี่ยวกับchkconfig --listดังนั้นฉันเรียกใช้และสิ่งนี้โผล่ออกมา:

root@snf-25181:/home/pankgeorg# chkconfig --list
acdnfhruvx 0:off 1:off 2:off 3:off 4:off 5:off 6:off
flyymwddwn 0:off 1:off 2:off 3:off 4:off 5:off 6:off

1-5 ที่แต่ฉันหันon offจากนั้นฉันเริ่มต้นใหม่และมีการเปลี่ยนชื่อ จากนั้นฉันlocated acdnfhruvxและสิ่งนี้โผล่ออกมา:

root@snf-25181:~# locate acdnfhruvx
/etc/init.d/acdnfhruvx
/etc/rc1.d/S01acdnfhruvx
/etc/rc2.d/S01acdnfhruvx
/etc/rc3.d/S01acdnfhruvx
/etc/rc4.d/S01acdnfhruvx
/etc/rc5.d/S01acdnfhruvx

เนื้อหาของหนึ่งในนั้น (เหมือนกันทั้งหมด): root @ snf-25181: ~ # cat /etc/init.d/acdnfhruvx #! / bin / sh

chkconfig: 12345 90 90
description: acdnfhruvx
BEGIN INIT INFO
Provides: acdnfhruvx
Required-Start:
Required-Stop:
Default-Start: 1 2 3 4 5
Default-Stop:
Short-Description: acdnfhruvx
END INIT INFO
case $1 in
start)
/bin/acdnfhruvx
;;
stop)
;;
*)
/bin/acdnfhruvx   
;;
esac    

พบสิ่งนี้หลังจากรีสตาร์ทดังนั้นจึง/bin/acdnfhruvxไม่มีที่ไหนเลย หลังจากนั้นฉันพบ exes (รูปแบบเอลฟ์) ที่/usr/bin(ฉันคิดว่าฉันสามารถแบ่งปันได้หากมีชายผู้กล้าหาญในหมู่พวกคุณ)

รายการที่กว้างขวางของคำสั่งที่ผมเห็นเครื่องที่ดำเนินการโดยไม่ทราบแหล่งที่มา (จากต่อเนื่องps -ejและps auxES:

root     27755  0.0  0.0   1424  1036 ?        Ss   17:40   0:00 ifconfig                        
root     27759  0.0  0.0   1424  1036 ?        Ss   17:40   0:00 who                        
root     27760  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 echo "find"                        
root     27761  0.0  0.0   1424  1036 ?        Ss   17:40   0:00 top                        
root     27762  0.0  0.0   1424  1036 ?        Ss   17:40   0:00 id                        
root     27805  0.0  0.0   1424  1036 ?        Ss   17:40   0:00 gnome-terminal                        
root     27809  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 ifconfig                        
root     27810  0.0  0.0   1424  1044 ?        Ss   17:40   0:00 sh                        
root     27811  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 sleep 1                        
root     27822  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 netstat -an                        
root     27826  0.0  0.0   1424  1036 ?        Ss   17:40   0:00 top                        
root     27829  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 bash                        
root     27833  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 cd /etc                        
root     27834  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 whoami                        
root     27822  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 netstat -an                        
root     27826  0.0  0.0   1424  1036 ?        Ss   17:40   0:00 top                        
root     27829  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 bash                        
root     27833  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 cd /etc                        
root     27834  0.0  0.0   1424  1040 ?        Ss   17:40   0:00 whoami                        

pkillไอเอ็นจีไม่มีจุดหมายเพราะมันจะทำการลบไฟล์ออก/etc/init.d/และ/{usr/,}binยังไม่มีจุดหมายตั้งแต่หลังจากรีสตาร์ทจึงมีไฟล์ปฏิบัติการเวอร์ชันใหม่ (เหมือนกัน) หลังจากข้อมูลทั้งหมดนี้ฉันมีสองคำถาม: ฉันจะรู้ได้อย่างไรว่าฉันติดเชื้อแล้ว ฉันสามารถกำจัดสิ่งนี้ได้ไหม? ขอบคุณล่วงหน้า!


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

คำตอบ:


24

เราได้รับความเดือดร้อนการติดเชื้อที่คล้ายกันใน Suse อาจจะผ่านSSH เข้าสู่ระบบบังคับเดรัจฉาน

ขั้นตอนในการทำความสะอาดคือ:

  1. /etc/crontabตรวจสอบไฟล์ คุณอาจมีรายการโทรไวรัสทุก 3 นาที

    */3 * * * * root /etc/cron.hourly/cron.sh
    

    ลบบรรทัดนี้

  2. ระบุกระบวนการหลักของไวรัส ในของคุณrguoywvrf ps -ejกระบวนการอื่น ๆ ถูกสร้างและฆ่าอย่างต่อเนื่อง
  3. หยุดมันอย่าฆ่ามันด้วย kill -STOP 1632
  4. ตรวจสอบกับผู้อื่นps -ejว่ามีเพียงพ่อแม่เท่านั้นที่มีชีวิตอยู่เด็ก ๆ ควรตายอย่างรวดเร็ว
  5. ตอนนี้คุณสามารถลบไฟล์ในและ/usr/bin /etc/init.dมีสายพันธุ์ของเชื้อไวรัสที่ยังใช้อยู่หรือ/boot /binใช้ls -lt | headเพื่อค้นหาไฟล์ที่ถูกแก้ไขเมื่อเร็ว ๆ นี้
  6. /etc/cron.hourly/cron.shตรวจสอบสคริปต์ใน /lib/libgcc.soในเซิร์ฟเวอร์ของเรามันถูกเรียกสำเนาของไวรัสอีก ลบทั้งสองไฟล์
  7. ตอนนี้คุณสามารถฆ่าrguoywvrfกระบวนการได้อย่างแน่นอน

1
มีสคริปต์ที่ไม่ดีบางอย่างใน /etc/rc6.d/ พวกเขาเริ่มต้นด้วย K90
mazgalici

1
ทำfind / -name "*rguoywvrf*"เพื่อค้นหาไฟล์อื่น ๆ โดยแทนที่rguoywvrfด้วยชื่อไฟล์ของคุณ
Mohamed Hafez

1
ตรวจสอบลิงค์นี้: garasiku.web.id/web/joomla/index.php/security/ …
DarckBlezzer

3

เพื่อตอบคำถามของคุณ:

  1. หากไม่มีข้อควรระวังที่จำเป็น (นอกไซต์ syslog, IDS, การตรวจสอบบันทึก ฯลฯ ) คุณอาจไม่เคยรู้ว่าเกิดอะไรขึ้น
  2. ฉันจะต้องเห็นด้วยกับแมตต์ คุณจะลงทุนเวลาเพื่อให้เครื่องจักรทำงานซึ่งคุณจะไม่ไว้วางใจจริงๆ ในความคิดของฉันทางออกที่ดีที่สุดคือการย้ายข้อมูลออกจากไซต์ & ทำซ้ำเครื่อง

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


1

นี่เป็นภัยคุกคามที่สร้างปัญหามากมายเพราะเริ่มการโจมตี DDOS และสร้างการเชื่อมต่อหลายพันครั้งไปยังเซิร์ฟเวอร์ภายนอกในพอร์ต 80 แต่ฉันทำไม่ได้ถ้าตั้งใจหรือไม่ก็มีแนวโน้มที่จะโอเวอร์โหลดการเชื่อมต่อของคุณจนกว่าเราเตอร์ / ไฟร์วอลล์จะหยุดทำงาน กฎการโจมตี DDOS

ตอนนี้คุณจะลบภัยคุกคามนี้ได้อย่างไร

  1. ค้นหาภัยคุกคามของคุณใช้

Centos / RedHat

ps -ely 

Debian

ps -ej

แล้วคุณจะได้เห็น:

3158 3158 3158 ? 00:00:00 bvxktwwnsb
3162 3162 3162 ? 00:00:00 bvxktwwnsb
3163 3163 3163 ? 00:00:00 bvxktwwnsb
3164 3164 3164 ? 00:00:00 bvxktwwnsb

" bvxktwwnsb" คือเป้าหมายของคุณ

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

    เทลนิท

  2. หลังจากนั้นคุณต้องลบไฟล์ที่ทำงานเมื่อเริ่มต้น

ใน Centos / Redhat ขั้นตอนคือ

ขั้นตอน)

cd /etc/init.d          
ll -tr 

คำสั่งสุดท้ายสั่งไฟล์ของคุณในวันที่ย้อนกลับคุณจะเห็นไฟล์ 1 หรือ 2 ไฟล์สุดท้ายที่ลงท้ายด้วยชื่อ like

acdnfhruvx
kmrkuwbrng
gqpjiestmf
bvxktwwnsb

คุณต้องดูเนื้อหา

cat /etc/init.d/gqpjiestmf

โดยปกติคุณจะเห็นการทำงานของไฟล์ที่อยู่ใน / bin หรือ / usr / sbin ด้วยชื่อเดียวกัน

คุณต้องลบทั้งสองไฟล์

ขั้นตอน b)

cd /etc/
ll -tr 

ตรวจสอบว่าไฟล์ crontab ของคุณมีการเปลี่ยนแปลงเมื่อเร็ว ๆ นี้ดูที่เนื้อหาค้นหาบรรทัด

*/3 * * * * root /etc/cron.hourly/udev.sh

หรือ

*/3 * * * * root /etc/cron.hourly/crontab.sh 

คุณต้องแก้ไขไฟล์และลบบรรทัดนั้น

ตรวจสอบเนื้อหาของudev.shหรือcrontab.shและคุณจะเห็นสิ่งนี้

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
cp /lib/libgcc4.so /lib/libgcc4.4.so
/lib/libgcc4.4.so

คุณต้องลบไฟล์ "libgcc4.4.so" หรืออื่น ๆ ที่กล่าวถึงที่นั่น (เช่นการเปลี่ยนการอนุญาตจะได้ผลเช่นกันchmod a-x libgcc.so)

รีบูตเซิร์ฟเวอร์ของคุณและทุกอย่างก็โอเค

สำหรับเดเบียน / อูบุนตูและญาติใช้:

locate bvxktwwnsb

และลบไฟล์ที่พบใน / etc และ / bin

หวังว่าจะช่วยได้หลายคน


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

0

ฉันพบบางสิ่ง !!!

มองหา / etc / crontab

ในเซิร์ฟเวอร์ของฉันมี cronjob ทุก 3 นาทีสำหรับการดำเนินการบางอย่าง:

*/3 * * * * root /etc/cron.hourly/cron.sh

cat cron.sh

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done
cp /lib/libgcc.so /lib/libgcc.so.bak
/lib/libgcc.so.bak

ทางออกของฉัน:

  1. ปิดการใช้งานสิทธิ์ (rwx 000) สำหรับ: /etc/init.d/ {/ usr} / bin / /lib/libgcc.so
  2. ลบรายการ cronjob ใน / etc / crontab
  3. ลบสคริปต์ cron ใน /etc/cron.hourly/cron.sh
  4. รีสตาร์ทเซิร์ฟเวอร์

หมายเหตุ: ตำแหน่งไฟล์อาจแตกต่างกัน


0

เคล็ดลับเพิ่มเติมประกอบกับโซลูชัน Serhii การหยุดกระบวนการทั้งหมดอาจเป็นเรื่องยากเพราะสิ่งนี้ทำให้เครือข่ายและซีพียูเสียหาย ดังนั้นเพิ่มบรรทัดนี้ในของคุณ/etc/crontabโดยอัตโนมัติเพื่อหยุดกระบวนการที่น่ารังเกียจทั้งหมด (หยุดกระบวนการทั้งหมดที่มี 10 ตัวอักษรในชื่อทุกสามนาที):

*/3 * * * * root pstree -ap | grep -E -- '-[a-z]{10},' | cut -d, -f2 | xargs kill -STOP 2>/dev/null

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.