แชร์ประสบการ์ณครั้งแรกที่ไปยิงเครื่องคนอื่นครับ T_T

วันนี้อยู่ดีๆ ผู้ให้บริการก็แจ้งมาว่า ip เราใช้งานไปโจมตี ip ของ server ต่างประเทศครับ
เอาหละสิผมทำไงดีเครียดเลยฮะ มือใหม่ไม่รู้จำทำไงดู mrtg กราฟขึ้น traffic ขึ้นมาผิดหูผิดตาเลย

วิ่งไปดูกระทู้ howto ก่อน เจอแต่วิธีดูว่าเค้ายิงมาจะ block ยังไงไม่เจอว่าถ้าเครื่องไปยิงเค้าทำไง
เอาหละสิลองดูกระทู้เครื่องมือคุณ icez ก่อน เลยลง iptraf กะจะดูว่าส่งไปที่ไหน แล้ว block ip
เปิดมาจอฟ้าดูไม่รู้เรื่องเลยครับด้วยความน้อยประสบการณ์…หาทางอื่นต่อ:189bbdde:

เลยลอง top ดู เจอ process perl แปลกๆ มา 5-6 ตัว วิ่งกันอยู่
ทีแรกกะ kill มันเลยดีกว่าเคยเห็นคำสั่ง kill ในบอร์ดนี้แหละแต่เกิดคิดได้ครับว่าถ้า kill มันแล้วไม่หายหละวันดีคืนดีขึ้นมาอีกทำไง:c8908497:

ไป search webhostingtalk ดู เค้าว่าให้ตามล่ามันก่อนว่ามาจากไหนด้วยคำสั่ง lsof -w -n -p ตามด้วย process ID
อ่านๆ ดูเหมือนว่ามาจาก /tmp ได้เรื่องเลยครับไม่เคยทำ secure /tmp ที่ตัวนี้ แต่พอจะได้ความละ
เลยสั่ง kill -9 ตามด้วย process ID :069:

จากนั้นไปหากระทู้คุณแมน kke ดูวิธีทำ secure /tmp
พอทำเสร็จมา top ดูอีกที อ้าว ทำไม perl มันยังขึ้นมาอีกหละ กราฟ mrtg ก็ไม่ลด

มึนๆๆๆ สั่งรีบูทดีกว่า รีเครื่องปุ๊ป พยายามรีโมท ไม่เข้าเลย :cfed93e2: มึนหนักกว่าเดิม เข้า single use mode เครื่องแจ้งว่า /tmp มัน read only ติดอยู่ตรงนั้นแหละครับ
ลอง fsck ดูไม่หาย กด ctrl+d รีเครื่องยังไงก็ไม่เข้า แก้ไปแก้มาเกือบชั่วโมงปรากฎว่า ผมเขียน fstab ผิดซะงั้น แก้แล้ว รีเครื่องใหม่ จะเป็นลม

เปิดเครื่องมา top ดูอีกทีซิ้…ไม่หายครับ perl มาอีกแล้ว ลอง lsof -w -n -p ตามด้วย process ID อีกครั้งมันเขียนว่ามาจาก /tmp แต่วงเล็บ deleted
คิดในใจต่อครับ deleted ไปแล้วแล้วมันมาได้ไงว้าาาาาา

พอดีนึกขึ้นได้คุณแมน kke เคยสอนให้ ปิด cgi ไปเลย ด้วยการ คอมพลาย อาปาเช่ใหม่ ทำเสร็จ นิ่งทันทีเลย perl หายไปแล้ว
ดีใจมากกกกกกกกกกกกกกครับ:baa60776::baa60776::baa60776::baa60776:

ตอนนี้กำลังเฝ้าระวังอยู่ครับเผื่อมีอาฟเตอร์ช็อคคคค

ปล1 - ผมต้องทำอะไรเพิ่มเติมมั้ยครับพี่ๆ กลัวจะเป็นอีกครับ
ปล2 - พอเปลี่ยนบอร์ดใหม่ แล้ว search กระทู้เจอแต่เข้าไม่ได้อะครับเกือบทุกกระทู้เลย แต่ยังโชคดีกดดู cache จากอากู๋ได้ครับ

ไฟล์ที่วางใน /tmp จะต้องมาจากช่องโหว่ของ script เว็บใดเว็บหนึ่ง ที่สามารถ upload ไฟล์และเรียกไฟล์ให้ทำงานได้

  1. secure /tmp ช่วยอะไรไม่ได้มาก เพราะยังสามารถเรียกผ่าน perl ได้อยู่ดี (แทนที่จะเรียก /tmp/file.pl ตรงๆ ก็เรียก /usr/bin/perl /tmp/file.pl แทน) แต่ก็ดีกว่าไม่ทำไว้
  2. สั่ง run ไฟล์ใน /tmp ได้ น่าจะยังไม่ได้ disable function พวก exec system passthru ไว้ใน php.ini
  3. ถ้า disable function ไว้แล้ว พวกนี้จะวางไฟล์ใน public_html/upload ที่ chmod เป็น 777 เอาไว้ แล้วเรียกให้ทำงานผ่านหน้าเว็บ ซึ่งเวลาดู process จะเห็นว่าไฟล์ run มาจาก path ของเว็บใหน ก็ต้องกันด้วยการ compile ปิด cgi ใน apache ไปเลย

ถ้าจะหาว่ามาจากเว็บใหนก็ลองไล่เปิดไฟล์ .htaccess แต่ละเว็บดู อันที่มี AddHandler cgi-script ประมาณนี้
find /home//domains//public_html/ -name .htaccess -exec grep -H -i addhandler {} “;”

ขอบคุณมากครับพี่แมน เดี๋ยวไปไล่หาดูก่อนครับว่ามาจากเว็บไหน

Thank
น่าจะย้ายไปหมด
[h=2]Articles/How-To[/h]

ย้ายเข้า Article/How-to
และ Thanks 2 ท่านครับ

แถมให้ secure tmp ไม่ค่อยช่วยอะไร แต่ดีกว่าไม่มีอะไรเลย

จะปิด cgi/perl ใน apache ยังไงครับ?
ขอคำแนะนำหน่อยครับ มือใหม่ ไม่ทราบวิธีเลย (ใช้ vps อยู่ เขาเปิดมาให้ซะด้วย)

แก้ไฟล์ httpd.conf
คอมเม้นต์บรรทัดนี้ออก AddHandler cgi-script .cgi .pl
ใส่ Options -ExecCGI ลงไปทุก virtual host

ประสบการณ์นี้ขอไปแชร์ต่อได้ไหมนิ

มาเก็บความรู้ ขอบคุณครับ :875328cc:

ขอบคุณครับ