Check Blog Security with WordPress Security Scanner

Jul 21, 2011
iasava

เพื่อนๆหลายคนที่ใช้ WordPress เขียน Blog อยู่ อยากจะลองทดสอบความปลอดภัย Blog ของเราว่ามีความปลอดภัยแค่ไหน นอกจาก Plugin ต่างๆที่มีให้โหลด เช่น WP Plugin Security Check,WP Security Scan เป็นต้น ซึ่งก็ช่วยแนะนำเราในระดับหนึ่งได้ แต่ในกรณีที่เราตั้งค่าพาสเวิร์ดแบบง่ายๆ หรือแบบที่เค้านิยมกันเป็นมาตรฐานเช่น วันเดือนปีเกิด,เบอร์โทรศัพท์ เป็นต้น อาจจะโดน Brute Force ได้หรือในช่วงที่ WordPress นั้นมีการอัพเดท Patch แต่เรายังไม่ได้อัพตาม ก็อาจจะทำให้ Blog ของเรามีช่องโหว่นั่นเอง

วันนี้ก็มี Tool อีกตัวหนึ่งซึ่งช่วยเช็คความปลอดภัยให้กับ Blog ที่เป็น WordPress มาแนะนำกัน นั่นก็คือ WordPress Security Scanner โดย Tool ตัวนี้สามารถติดตั้งได้ทั้งบน Windows,Linux หรือ Mac เขียนด้วยภาษา Ruby มาดูรายละเอียดกันครับ

  • -Username enumeration (from author querystring and location header)
  • -Weak password cracking (multithreaded)
  • -Version enumeration (from generator meta tag)
  • -Vulnerability enumeration (based on version)
  • -Plugin enumeration (2220 most popular by default)
  • -Plugin vulnerability enumeration (based on version)
  • -Plugin enumeration list generation
  • -Other misc WordPress checks (theme name, dir listing, …)

การติดตั้งก็ไม่ยากครับก่อนอื่นให้ไปดาวน์โหลดที่ WPScan v1.0 ผมได้ทดลองติดตั้งใน Ubuntu 11.04 Desktop นะครับ ก่อนจะใช้งานต้องลง package ดังนี้ก่อน

Installing on Backtrack5 Gnome/KDE 32bit:

# sudo apt-get install libcurl4-gnutls-dev
# sudo gem install --user-install mime-types
# sudo gem install --user-install typhoeus
# sudo gem install --user-install xml-simple

Installing on Debian/Ubuntu:

# sudo apt-get install libcurl4-gnutls-dev
# sudo apt-get install libopenssl-ruby
# sudo gem install typhoeus
# sudo gem install xml-simple

Installing on Windows: (not tested)

# gem install typhoeus
# gem install xml-simple

Installing on Mac OSX: (not tested)

# sudo gem install typhoeus
# sudo gem install xml-simple

ถ้าสมมุติไม่สามารถใช้คำสั่ง gem ได้ เราต้องติดตั้ง Ruby ก่อนนะครับ

# apt-get install rubygems1.8

เมื่อติดตั้งเสร็จแล้วก็ทำการ Unzip ไฟล์ wpscan-1.0.zip ก่อนนะครับ แล้วเข้าไปในโฟล์เดอร์ wpscan-1.0

# cd wpscan-1.0
# ruby1.8 ./wpscan.rb -h     # ดู help
# ruby1.8 ./wpscan.rb        # ดูตัวอย่างการใช้งาน

ผมได้ทดลองโดยทำการ Scan localhost ที่ติดตั้ง WordPress 3.1.3 ซึ่งยังไม่ได้อัพเดทปรากฎว่า wpscan ได้แสดงเวอร์ชั่นของ WordPress ที่เราใช้ออกมาพร้อมทั้งบอก ข้อมูล Bug ของเวอร์ชั่นนี้ โดยใช้คำสั่ง

# ruby1.8 ./wpscan.rb --url http://localhost/testsite

ได้ผลลัพธ์ออกมาดังรูป

เราสามารถป้องกัน WordPress ไม่ให้แสดงเวอร์ชั่นได้โดยการใส่ code นี้ไปที่ functions.php ของ theme ที่เราใช้นะครับ

function remove_version() {
return '';
}
add_filter('the_generator', 'remove_version');

อันนี้ก็เป็นตัวอย่างการป้องกันอีกทาง ส่วนวิธีการป้องกันอื่นๆ ก็ต้องคอยอัพเดทเสมอๆ เพื่อป้องกัน Bug ที่เกิดขึ้น, ไม่ตั้งพาสเวิร์ดง่ายเกิดไป เป็นต้น ไปดูวิดีโอการใช้งานคร่าวๆเลยครับ

Related posts: