วิธีแก้ไข bug shellshock

มีการพบ Bug ใหญ่ๆอีกครั้งที่น่าจะมีผลกระทบในวงกว้าง และมีความเสี่ยงสูง
สำหรับ Hosting ที่มีการจัดการดีๆทางเวบโฮสติ้งคงรีบป้องกันให้ แต่สำหรับแอดมินที่ดูแลเครื่องส่วนตัวหรือ VPS จะต้องรีบป้องกันด้วยตัวเองโดยเร็ว

Shellshock (CVE-2014-6271 and CVE-2014-7169) is an vulnerability in GNU’s bash shell that gives attackers access to run remote commands on a vulnerable system. If your system has not updated bash in the last 24 hours, you’re most definitely vulnerable and have been since first boot. This security vulnerability affects versions 1.14 (released in 1994) to the most recent version 4.3 according to NVD.

วิธีการตรวจสอบ shellshock bug

hosting ดีๆทางโฮสคงรีบกันให้ แต่ VPS / วางเครื่อง นี่คงต้องรีบกันเอาเอง

command ใช้เชคว่าเครื่องกระทบไหม
(ให้พิมพ์คำสั่งนี้ลงใน shell command line)

Exploit 1 (CVE-2014-6271)
There are a few different ways to test if your system is vulnerable to shellshock. Try running the following command in a shell.

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

If you see “Vulnerable” you need to update bash. Otherwise, you should be good to go.
Exploit 2 (CVE-2014-7169)

Even after upgrading bash you may still be vulnerable to this exploit. Try running the following code.

env X='() { (a)=>\' sh -c "echo date"; cat echo

If the above command outputs the current date (it may also show errors), you are still vulnerable.

คำสั่งใช้ตรวจสอบ version ของ bash ที่ใช้อยู่
bash --version
for bash, and
cat /etc/*release*
for your OS.

วิธีการแก้ไข Shellshock bug
ใช้คำสั่ง Yum สำหรับคนที่ใช้ CentOS

yum update bash -y

(ในบางรายคำสั่งนี้จะใช้ไมไ่ด้ เนื่องจาก mirror ที่ใช้ยังไม่ได้มีการส่งแพคเกจอัพเดต ให้ดูวิธีถัดไปด้านล่าง)
สำหรับผู้ใช้ Ubuntu ให้ใช้คำสั่ง

apt-get update; apt-get upgrade;

สำหรับผู้ใช้ Arch Linux:

pacman -Syu

กรณีที่สั่งแล้วไม่มีการอัพเดต bash version ทางผู้ดูแลระบบจะต้องทำการ build เอาเอง หรือจะใช้ curl command ไปดึงสคริปที่มีคนทำไว้ให้ที่ shellshock.net มาแก้ไขระบบก็ได้

ก่อนอื่นต้องมีการลงชุดคำสั่ง patch ไว้ในระบบก่อน โดยการใช้คำสั่งลง
Cent OS ใช้ Yum เพื่อ install patch
yum install patch
Ubantu ใช้
sudo apt-get install patch

เมื่อลง service patch ไว้แล้ว เรียก curl ไปดึงสคริปของ shellshocker.net มาใช้ด้วยคำสั่ง

curl https://shellshocker.net/fixbash | sh

ในกรณีที่จะไม่เรียกด้วย curl สามารถใช้สคริปแบบด้านล่างรันทีละขั้นก็ได้

cd ~/
mkdir bash
cd bash
wget https://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
#download all patches
for i in $(seq -f "%03g" 0 25); do wget https://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i; done
tar zxvf bash-4.3.tar.gz
cd bash-4.3
for i in $(seq -f "%03g" 0 25);do patch -p0 < ../bash43-$i; done ./configure && make && make install

รายละเอียดเพิ่มเติม
https://shellshocker.net/
https://access.redhat.com/solutions/1207723
http://lists.centos.org/pipermail/centos/2014-September/146099.html
http://www.bbc.com/news/technology-29361794

เนื้อหาที่เกี่ยวข้อง :

Leave a Reply

Your email address will not be published. Required fields are marked *