• aristotle
  • ranking : สมาชิกทั่วไป
  • email : aristotle_wizard@hotmail.com
  • วันที่สร้าง : 2008-03-28
  • จำนวนเรื่อง : 25
  • จำนวนผู้ชม : 111769
  • ส่ง msg :
  • โหวต 27 คน
aristotle
ติดตามข่าวสาร IT ป้องกันไวรัสเเละ Hacker
Permalink : http://oknation.nationtv.tv/blog/admin-aristotle
วันจันทร์ ที่ 31 มีนาคม 2551
Posted by aristotle , ผู้อ่าน : 9028 , 19:01:55 น.  
หมวด : วิทยาศาสตร์/ไอที

พิมพ์หน้านี้
โหวต 0 คน

ที่มา : http://www.sans.org
เรียบเรียงโดย : ร.อ. วิวัต เรืองมี
เรียบเรียงเมื่อ : 20 สิงหาคม 2544


Have I been Hacked

หลังจาก hacker ได้ทำการ compromise ระบบแล้วนั้น ส่วนใหญ่ hacker จะไม่ทำการลบข้อมูลหรือทำอะไรที่จะเป็นผลเสียต่อระบบของท่าน แต่ hackers จะทำการติดตั้ง back door ในระบบซึ่งทำให้ hacker สามารถเข้าถ้าระบบในฐานะ root หรือบางที hacker อาจใช้ระบบของท่านในการโจมตีระบบอื่นๆต่อไป

เพราะฉะนั้นหากท่านประสบปัญหาอย่างเช่น ระบบของท่านเกิดช้าขึ้นมาอย่างผิดปกติแต่เมื่อท่านได้ทำการตรวจสอบ disk space และ process แล้วก็ไม่มีสิ่งใดผิดปกติ checklist ต่อไปนี้คือสิ่งที่ท่านควรตรวจสอบเพื่อบอกว่าระบบของท่านถูก hacked หรือไม่

1. เหตุการณ์หรือสัญญาณที่ผิดปกติ

ถ้าท่านไม่สามารถทำการ ssh, telnet หรือ login เข้าสู่เครื่องได้เป็นสิ่งบอกเหตุว่าท่านอาจจะถูก hacked ได้
ท่านควรจะทำการตรวจสอบเหตุต่างๆ ที่ไม่สามารถอธิบาย เช่น network ซึ่งผิดปกติ resource ถูกใช้ไปเยอะมากทั้งที่มี users เข้าใช้อยู่เพียงไม่กี่คน
ควรตรวจสอบ /etc/password file ว่ามี account ใดบ้างที่เพิ่งถูกเพิ่มเข้ามาโดยที่คุณไม่ได้ทำการเพิ่มเอง รวมทั้งตรวจสอบ accounts ที่ไม่มี password หรือ UID ถูก set ให้เท่ากับ "0"
2. ตรวจหา sniffer


เนื่องจาก sniffer จะทำให้ network interface รับ packet ทุกชนิดที่เข้ามาและทำการบันทึก packet ซึ่งประกอบด้วย username และ password ของ ftp และ telnet แม้ว่าท่านจะแก้ปัญหานี้โดยการใช้ switching แทน hub แต่ถ้าเครื่องดังกล่าวเป็น Internet gateway แล้วปัญหาก็ไม่ได้หมดไป ท่านสามารถทำการ check promiscoous mode ได้โดย # ifconfig - a/grep PROMISC


แต่มี rootkit บางตัวที่ทำการเปลี่ยนแปลง ifconfig เพื่อหลบซ่อนจากการใช้ parameters นี้ เพื่อความแน่ใจให้ท่าน run antisniff (
http://www.securitysoftwaretech.om/antisniff/) จาก remote machine

3. ตรวจสอบ logs

ทำการตรวจสอบ log files โดยการใช้คำสั่ง last เพื่อที่จะ list logins ท้ายๆออกมาแล้วตรวจสอบว่ามี unknown users หรือ usernames ที่แปลกๆหรือไม่ รวมทั้ง access time ของแต่ละ user ด้วยว่ามีความผิดปกติหรือไม่

# last | head

ตรวจสอบ message file ใน /var/log/ (สำหรับ Linux) หรือ /var/adm/ (สำหรับ Solaris)
รวมทั้งตรวจสอบ log files อื่นๆ ซึ่งใช้โดย syslog (โดยดูจาก /etc/syslog.conf) โดยการ grep su failures ทั้งหลายและเหตุการณ์ที่ vid = 0

# grap "vid = 0" /var/log/
และ
# grep "su" /var/log/


log files ซึ่งมีขนาดเท่ากับ "0" ก็อาจเป็นสัญญาณของการถูกบุกรุกเช่นเดียวกัน
เนื่องจาก rootkit ใหม่ๆ จะทำการลบ usermane จาก wtmp, utmp และ lastlog files เพราะฉะนั้นหากท่านไม่ได้ใช้อุปกรณ์ที่เรียกว่า write once read many เช่น CD-R ในการบันทึก log files ท่านไม่ควรไว้ใจ log files เท่าใดนัก
4. ไม่ควรเชื่อ ps command

ตรวจสอบชื่อและจำนวนของ running processes และพยายามหา processes ที่ไม่ค่อยคุ้น ข้อแปลกๆ หรือ startup time ที่ไม่ค่อยปกติ รวมทั้ง process ที่ใช้ CPU time มากๆอย่างไรก็ตามโดยปกติแล้วผู้บุกรุกจะ run sniffers อยู่ภายใต้ daemon ปกติ เช่น sendmail หรือ named และ rootkits โดยส่วนใหญ่ก็จะทำการเปลี่ยนแปลง ps และ pidof เพื่อที่จะหลบซ่อน process ของพวกเขา ดังนั้นท่านควรจะเปรียบเทียบระหว่างผลลัพธ์ของ ps กับผลลัพธ์ใน /proc เช่น

#ps --no-headers -ef | wc

เมื่อท่าน run คำสั่งต่อไปนี้ใน RedHat 7.0 # ps - -no- headers- ef | wc แล้วผลต่างกันกับที่ run # ls - d /proc/ [0-9]* นั่นคืออาจมี process ที่แอบซ่อนอยู่
ในระบบ Solaris อาจใช้คำสั่ง crash เพื่อที่จะแสดง list ของ processes แล้วเปรียบเทียบกับ ps output
violin $ crash dumpfile = /dev/mem, namelist = /dev/ksyms, outfile = stdout > proc
หรือท่านอาจจะติดตั้งและ run Isof [ftp://vic.cc.purdue.edu/pub/tools/] ซึ่งโปรแกรมนั้นจะบอกท่านว่า process ไหนกำลังใช้ files อะไร

5. ตรวจสอบ ports

ทำการ scan ports ของเครื่องโดยใช้ port scanner เช่น nmap [http://www.insecure.org/nmap/] ซึ่งค่า defaults ของ nmap นั้นคือ port1-1024 แต่ trojan horses ส่วนใหญ่จะใช้ ports ที่สูงกว่านั้น หากท่านต้องการเฉพาะเจาะจง ports ที่ต้องการจะ scan ให้ใช้ option-p เช่น


# nmap - p 1 - 65535 your_machin_address
หลังจากนั้น ให้ทำการใช้คำสั่ง netstat -a เพื่อตรวจสอบ port ที่เปิดอยู่บนเครื่องนั้นๆ
# netstat -a

หากพบว่ามี ports ที่ปรากฎใน output ของการใช้ nmap แต่ไม่ปรากฎใน output เมื่อใช้คำสั่ง netstat นั้นอาจหมายถึง netstat ได้ถูกเปลี่ยนแปลงเพื่อหลบซ่อน service บางอย่าง

6. ตรวจสอบ binaries

rootkits ส่วนใหญ่จะทำการเปลี่ยนแปลง system binaries เพื่อทำการหลบซ่อน file, sniffer หรือ port ที่ถูกเปิดอยู่ บน RedHat ท่านสามารถตรวจสอบ binaries ได้โดยใช้คำสั่ง


altis $ rpm - va | grep '1...5'
ซึ่งผลลัพธ์ที่เกิดขึ้นอาจเป็นลักษณะนี้คือ
s.5.....T c/etc/services
s.5....T c/etc/info-dir
s.5....T c/etc/inetd.conf
นั้นหมายถึงขนาดของ file เปลี่ยน (5)
MD5 checksum เปลี่ยน (5)
และเวลาที่ได้รับการเปลี่ยนแปลงถูกเปลี่ยน (T)

บนระบบซึ่งเป็น UNIX ท่านสามารถใช้คำสั่ง find ค้นหา files ที่ถูกเปลี่ยนแปลงในช่วงเวลาหนึ่งๆ ส่วน option ที่ใช้น่าจะใช้ -ctime option ดังนี้

# find/ bin -ctime -7

แต่วิธีที่ดีที่สุดคือใช้คำสั่ง cmp แล้วเปรียบเทียบ วันที่ ขนาดของไฟล์ และ time-stamp ของ system files กับ machine ที่เป็น clean machine และใช้ OS ประเภทเดียวกันซึ่งโดยปกติ binaries files ที่ถูกเปลี่ยนคือ

chsh, crontab, du, df, find, ifconfig, inedd, killall, login, ls, netstat, passwd, ps, sshd, syslogd และ top

ท่านสามารถใช้โปรแกรม tripwire หรือ samhain เพื่อให้แจ้งเตือนเมื่อ system files ถูกเปลี่ยนแปลง

Tripwire [
http://www.tripwire.org]
samhain [http://samhain.sourceforge.net]


7. ตรวจสอบ Config Files

ท่านควรตรวจสอบ files ซึ่งถูกเปลี่ยนแปลงบ่อยๆได้แก่

/etc/inetd.conf file
หรือ
/etc/xinetd.conf file
หรือ
/etc/xinetd.d directory

พยายามตรวจดู service ที่เพิ่มเข้ามา ถูกเปลี่ยนแปลงหรือเป็น service ที่ท่านไม่คุ้นเคย


/etc/hosts.eguiv, ~/.rhosts

พยายามตรวจดู creationdate และ "+" รวมทั้ง host names ที่ท่านไม่คุ้นเคย

/dev/* เนื่องจากมี rootkits บางประเภทที่จะติดตั้ง configuration files ใน /dev/ ท่านสามารถตรวจสอบ text files ใน /dev directory ได้ดัวนี้

# file /dev/* | grep text
/ dev/ ptyp : ASCIItext
/ dev/ ptyq : ASCIItext
/ dev/ ptyr : ASCIItext


จากตัวอย่างนี้ท่านจะเห็นว่า rootkit ได้ใช้ text file ptyr เพื่อจะหลบซ่อนจาก command lsใช้ ptyq เพื่อจะลบ sockets/ addresses ออกจาก netstat และใช้ ptyq เพื่อจะลบ processes ออกจาก ps

ในฐานะ root ให้ท่าน run crontab - l and atq เพื่อตรวจดูว่ามีโปรแกรมใดที่กำลังรอการทำงานอยู่หรือไม่

8. ตรวจสอบ setuid, setgid และไฟล์อื่นๆที่หลบซ่อนอยู่

ทำ setuid และ setgid files จะ run อยู่ในฐานะ root แม้ว่าจะถูก executed โดย user ธรรมดาก็ตาม
หากท่านต้องการค้นหา setuid files ให้ใช้คำสั่ง

# find / - perm -4000 -print

และในการค้นหา setgid ให้ใช้คำสั่ง

# find / -perm -2000 -print

โดยปกติแล้วผู้บุกรุกจะแอบซ่อน setuid files และ tools ท่านไว้ใน hidden directories ท่านสามารถตรวจสอบหา files ที่แอบซ่อนอยู่ได้โดยใช้คำสั่ง find

# find / -name " . * "

หรือบางทีผู้บุกรุกจะเลือก directory ไปในการแอบซ่อน files เช่น ~/ gnome, ~/.xauth เหล่านี้เป็นต้น

สรุป

หากท่านคิดว่าท่านถูก hacked แน่นอนแล้ว ให้ทำการ disconnect จาก network ทันทีและทำการ back up data แล้ว reinstall OS หรือว่าหากท่านไม่สามารถปิดระบบได้ทันทีก็ควรจะเปลี่ยน root password, ลบ user account ที่คิดว่าเป็นอันตรายและทำการ set เวลาที่จะปิดระบบหลังทำการ reinstall OS





อ่านความคิดเห็น

ความคิดเห็นที่ 2 (0)
ดินดำน้ำชุ่ม วันที่ : 01/04/2008 เวลา : 17.11 น.
http://oknation.nationtv.tv/blog/derreiser
เพื่อชาติ และเป็นคนดีของชาติ

มาเยือนครับ ขอบคุณครับ

ความคิดเห็นที่ 1 (0)
Din วันที่ : 31/03/2008 เวลา : 19.51 น.
http://oknation.nationtv.tv/blog/372smallroom
ดินน้อมรับคำปรามาสแล้วผลิดอกเพื่อตอบแทนชมรมคนรักษ์ภาษาไทย

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

แสดงความคิดเห็น


ถึง บล็อกเกอร์ ทุกท่าน โปรดอ่าน
   ด้วยทาง บริษัท จีเอ็มเอ็ม แกรมมี่ จำกัด (มหาชน) ได้ติดต่อขอความร่วมมือ มายังเว็บไซต์และเว็บบล็อกต่าง ๆ รวมไปถึงเว็บบล็อก OKnation ห้ามให้มีการเผยแพร่ผลงานอันมีลิขสิทธิ์ ของบริษัท จีเอ็มเอ็ม แกรมมี่ฯ บนเว็บ blog โดยกำหนดขอบเขตของสิ่งที่ห้ามทำ และสามารถทำได้ ดังนี้
ห้ามทำ
- การใส่ผลงานเพลงต้นฉบับให้ฟัง ทั้งแบบควบคุมเพลงได้ หรือซ่อนเป็นพื้นหลัง และทั้งที่อยู่ใน server ของคุณเอง หรือ copy code คนอื่นมาใช้
- การเผยแพร่ file ให้ download ทั้งที่อยู่ใน server ของคุณเอง หรือฝากไว้ server คนอื่น
สามารถทำได้
- เผยแพร่เนื้อเพลง ต้องระบุชื่อเพลงและชื่อผู้ร้องให้ชัดเจน
- การใส่เพลงที่ร้องไว้เอง ต้องระบุชื่อผู้ร้องต้นฉบับให้ชัดเจน
จึงเรียนมาเพื่อโปรดปฎิบัติตาม มิเช่นนั้นทางบริษัท จีเอ็มเอ็ม แกรมมี่ฯ จะให้ฝ่ายดูแลลิขสิทธิ์ ดำเนินการเอาผิดกับท่านตามกฎหมายละเมิดลิขสิทธิ์
OKNATION



กฎกติกาการเขียนเรื่องและแสดงความคิดเห็น
1 การเขียน หรือแสดงความคิดเห็นใด ๆ ต้องไม่หมิ่นเหม่ หรือกระทบต่อสถาบันชาติ ศาสนา และพระมหากษัตริย์ หรือกระทบต่อความมั่นคงของชาติ
2. ไม่ใช้ถ้อยคำหยาบคาย ดูหมิ่น ส่อเสียด ให้ร้ายผู้อื่นในทางเสียหาย หรือสร้างความแตกแยกในสังคม กับทั้งไม่มีภาพ วิดีโอคลิป หรือถ้อยคำลามก อนาจาร
3. ความขัดแย้งส่วนตัวที่เกิดจากการเขียนเรื่อง แสดงความคิดเห็น หรือในกล่องรับส่งข้อความ (หลังไมค์) ต้องไม่นำมาโพสหรือขยายความต่อในบล็อก และการโพสเรื่องส่วนตัว และการแสดงความคิดเห็น ต้องใช้ภาษาที่สุภาพเท่านั้น
4. พิจารณาเนื้อหาที่จะโพสก่อนเผยแพร่ให้รอบคอบ ว่าจะไม่เป็นการละเมิดกฎหมายใดใด และปิดคอมเมนต์หากจำเป็นโดยเฉพาะเรื่องที่มีเนื้อหาพาดพิงสถาบัน
5.การนำเรื่อง ภาพ หรือคลิปวิดีโอ ที่มิใช่ของตนเองมาลงในบล็อก ควรอ้างอิงแหล่งที่มา และ หลีกเลี่ยงการเผยแพร่สิ่งที่ละเมิดลิขสิทธิ์ ไม่ว่าจะเป็นรูปแบบหรือวิธีการใดก็ตาม 6. เนื้อหาและความคิดเห็นในบล็อก ไม่เกี่ยวข้องกับทีมงานผู้ดำเนินการจัดทำเว็บไซต์ โดยถือเป็นความรับผิดชอบทางกฎหมายเป็นการส่วนตัวของสมาชิก
คลิ้กอ่านเงื่อนไขทั้งหมดที่นี่"
OKnation ขอสงวนสิทธิ์ในการปิดบล็อก ลบเนื้อหาและความคิดเห็น ที่ขัดต่อความดังกล่าวข้างต้น โดยไม่ต้องชี้แจงเหตุผลใดๆ ต่อเจ้าของบล็อกและเจ้าของความคิดเห็นนั้นๆ
   

กลับไปหน้าที่แล้ว กลับด้านบน

<< มีนาคม 2008 >>
อา พฤ
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

[ Add to my favorite ] [ X ]


คุณได้รับความรู้มากเท่าไหร่จากBlogของผม?
มากที่สุด
15 คน
มาก
7 คน
ได้บ้าง
0 คน
ไม่ได้รับเลย
4 คน

  โหวต 26 คน