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

คราวนี้ เป็นการตรวจสอบ ที่เป็น Windows Server 2008 32bit ที่ใช้ IIS6 เป็น Web Server และใช้ PHP 5.2.17  เครื่องของหน่วยงานภายในมหาวิทยาลัย ซึ่ง ถูก Google Webmaster Tools ตรวจพบว่า เครื่องดังกล่าวน่าจะโดน Hack และมีการวาง Backdoor เอาไว้ เบื้องต้น พบว่า เครื่องนี้ ใช้ Joomla และรายงานของ Google ก็บอกไฟล์ปัญหา เป็น php ใน images/stories จึง เริ่มจากทำตาม วิธีตรวจสอบเว็บไซต์ที่โดน Hack #3 แต่ ต้องเปลี่ยนไปใช้คำสั่งบน PowerShell แทนที่จะเป็น Shell Script อย่างเดิม พื้นที่ Document Root อยู่ที่ c:\inetpub\wwwroot วิธีการตรวจสอบ 1. ใช้  powershell ด้วยสิทธิ์ administrator privilege 2. ค้นหา ไฟล์ *.php ซึ่งอยู่ใน directory “stories” (ใน PowerShell ทำงานแตกต่างจาก Shell Script มากๆ จึงต้องดัดแปลงบางอย่าง) gci c:\inetpub\wwwroot -rec -include “*stories*” | where {$_.psiscontainer} | gci -Filter “*.php” โดยที่คำสั่งนี้ ใช้ชื่อย่อ และมีความหมายดังนี้ gci = Get-ChildItem : ทำงานเหมือนคำสั่ง find และใช้ option “-rec” ย่อมาจาก Recurse ซึ่งหมายถึง ค้นหาลงลึกไปใน Subdirectory ด้วย และ เอาเฉพาะใน Directory ย่อย “stories” เท่านั้น ส่วนการใช้ ไพพ์ “|” ก็ไม่เหมือนใน Shell Script ที่เป็นการส่ง String หรือข้อความตรงๆ แต่เป็นการส่งต่อ Object gci -Filter “*.php” หมายถึง เมื่อค้นหาลึกไปใน Subdirectory “stories” แล้ว ให้กรองเอาเฉพาะไฟล์ แบบ *.php ผลที่ได้คือ พบว่ามี php file จำนวนมาก ใน images/stories จริงๆ ดังภาพ 3. ตรวจสอบ Log ซึ่งอยู่ที่ c:\inetpub\logs และค้นหาไฟล์ในนั้น ดูว่า มี “BOT.*JCE” บันทึกหรือไม่ ด้วยคำสั่ง gci c:\inetpub\logs -rec  | where {$_.psiscontainer} | gci -rec -filter “*.log” | get-content | select-string -pattern “BOT.*JCE” ผลที่ได้คือ ซึ่งพบว่า มีการโจมตีมาเป็นจำนวนมาก 4. หา Backdoor อื่นๆ ที่อาจจะเกิดขึ้น หลังจาก Backdoor ใน images/stories เหล่านั้น โดยทดลองดูว่า มีไฟล์ใหม่เกิดขึ้น หลังจากแต่ละ Backdoor นั้นๆ 2 วันหรือไม่ ด้วยคำสั่ง $backdoor=gci C:\inetpub\wwwroot\sticorner\images\stories -filter “*.php” foreach ($f in

Read More »

วิธีแก้ปัญหา windows 8.1 กับ Powerpoint 2013 ที่มีความสามารถ Presenter View แล้วภาพสั่น

วิธีแก้ปัญหา windows 8.1 กับ Powerpoint 2013 ที่มีความสามารถ Presenter View ซึ่งทำให้ผู้บรรยายสามารถ รู้ว่า สไลด์ต่อไปเป็นภาพอะไร และมี Note ต่างๆ แถมยังสามารถ เลือก Slide ที่จะ show เบื้องหลัง ก่อนจะแสดงให้ผู้ชมเห็นทาง Projector ได้ด้วย หน้าจอ Presenter View จะเป็นประมาณนี้ ปัญหา: เราเอา Notebook ไปต่อกับ Projector แล้วทำเป็นแบบ Duplicate ตอนแสดง Desktop ก็เห็นสวยงามดี ไม่สั่น แต่พอเปิด Powerpoint 2013 แล้ว กด F5 เพื่อ Present ก็พบว่า ภาพบน Projector สั่น หรือได้สัดส่วนไม่พอดี เหตุ: Presenter View นั้น จะแอบสลับไปใช้ Secondary Screen Resolution นั่นเอง ถ้า ใครเคยตั้งไว้สูงลิ่ว เช่น 1920×1080 เพราะ ที่โต๊ะมี 2 จอ ให้ใช้ ก็จะทำให้เวลา Present เกิดอาการภาพสั่น วิธีแก้ไข: ให้ปรับ Resolution ของ Secondary Screen ให้เป็นแบบเดียวกับ Primary Screen ที่ดีอยู่แล้ว เช่น เป็น 1366×768 เท่ากัน แล้วจะทำให้การ Present ด้วย Powerpoint 2013 แบบ Presenter View ราบรื่น หรือถ้าจะให้ง่าย คือใช้เป็นแบบ Primary Screen อย่างเดียว โดย ไปที่ Presentation เลือก Primary Screen Uncheck “Use Presenter View” ดังภาพ

Read More »

dnsqsum script

DNS Query Summary Script สำหรับ Summary DNS Query Log เพื่อดูว่ามีการ query มาจาก host ใหน และ query domain ใหนบ้าง โดยแสดงเฉพาะ Top 10 — quick & dirty version — #!/bin/bash QLOG=”/var/log/named/query.log” [ ! -f “$QLOG” ] && echo “Log file ‘$QLOG’ doesn’t exist?” && exit DCOL=6 V=`head -1 $QLOG | cut -f5 -d’ ‘` if [ “$V” = “view” ]; then DCOL=8 fi echo “===== Source of Query =====” cat $QLOG | cut -f4 -d’ ‘ | cut -f1 -d’#’ | sort | uniq -c | sort -rn | head echo “=———————-=” echo “===== Domain to Query =====” cat $QLOG | cut -f$DCOL -d’ ‘ | sort | uniq -c | sort -rn | head echo “=———————-=”

Read More »

update fail2ban after DNS query attack

หลังจากทิ้งไว้นานกว่า 1 ปี ในที่สุดการโจมตีในลักษณะของการ DOS attack สำหรับ DNS Server ก็กลับมาอีกรอบ วันนี้ (2013-12-11) คุณ สงกรานต์ก็ post ข้อความในกลุ่ม PSU Sysadmin บน facebook ว่า DNS Server หลายๆเครื่องที่อยู่ภายในเครือข่ายของ PSU มี traffic เกิดขึ้นมากผิดปกติ และมากกว่าตัว DNS Server หลักของมหาวิทยาลัยเอง {ns1,ns2}.psu.ac.th ซึ่งตัว DNS Server ทั้งสองโดยทั่วไปแล้ว เนื่องจากเป็นเซิร์ฟเวอร์ที่ให้บริการเป็นหลักให้กับเครื่องคอมพิวเตอร์ทั้งหมดภายในมหาวิทยาลัย ก็ควรที่จะมี traffic สูงกว่า DNS Server ตัวอื่นๆ แต่เมื่อเครื่อง DNS Server อื่นๆมี traffic สูงกว่า ก็พอที่จะบอกได้คร่าวๆล่ะว่า มีเหตุการณ์ผิดปกติเกิดขึ้นแน่ๆ ในจำนวน server เหล่านั้น มีเครื่องเซิร์ฟเวอร์ที่ผมดูแลอยู่ด้วย เป็นเครื่องที่ใช้สำหรับสอน นศ. ในรายวิชา Linux Server Admin. ซึ่งหัวข้อหนึ่งที่นศ.จะต้องเรียน ก็คือการติดตั้งและให้บริการ Name Service ซึ่งเครื่องเซิร์เวอร์เครื่องนี้ นอกจากจะใช้เป็นตัวอย่างในการ setup แล้ว ยังทำหน้าที่เป็น 2nd DNS ให้กับ domain ของ นศ. ทั้งหมดด้วย (นศ. มี domain ของตัวเองคนละ 1 domain) logfile ที่เกิดจากการ query มีขนาดมากกว่า 2GB จากการเก็บ log ของการ query ในช่วงเวลาประมาณ 3 วันครึ่ง (เริ่ม 2013-12-08 16:25 จนถึง 2013-12-11 12:40) เมื่อเทียบกับ log ปกติมีขนาดประมาณ 1-2 MB สำหรับการเก็บ log ในช่วง 1 สัปดาห์ หรือถ้าเทียบในแง่ของจำนวนของการ query ในช่วง 3 วันที่ผ่านมามีการ query ประมาณ 18 ล้านครั้ง เมื่อเทียบกับการ query ปกติประมาณ 15,000 ครั้งต่อสัปดาห์ การโจมติมาจากใหนบ้าง? 7778377 95.211.115.114 3870621 93.170.4.34 2596494 94.198.114.135 2581297 95.211.216.168 331584 199.59.161.6 53137 216.246.109.162 47351 205.251.194.32 46793 205.251.193.79 41119 156.154.166.38 39572 156.154.166.37 39501 54.230.130.116 36855 205.251.198.179 34079 42.112.16.162 31690 134.255.243.100 28662 205.251.197.226 27481 212.118.48.20 23435 204.188.252.146 20565 82.221.105.131 20477 89.184.81.131 19036 95.141.37.197 17404 72.20.56.200 14156 206.72.192.13 11510 82.221.105.139 10387 5.135.14.245 ตัวเลขในคอลัมน์แรกคือจำนวนครั้งที่มีการ query และในคอลัมน์ที่สองเป็น ip address query อะไรบ้าง? ถ้าดูข้อมูลคร่าวๆก็จะได้ 08-Dec-2013 06:58:54.295 client 192.99.1.168#9118: view theworld: query: adrenalinessss.cc IN A +E (172.30.0.85) 08-Dec-2013 06:58:54.296 client 192.99.1.168#19072: view

Read More »

การเพิ่ม Wireless Profile PSU WiFi (802.1x) บน Windows 8/8.1

“บทความนี้ไม่ใช่บนความใหม่ แค่เป็นวิธีลงบน Windows 8/8.1 เท่านั้นนะครับ ใครชำนาญแล้วให้ข้ามไปได้เลยครับ” ทำตามขั้นตอนดังนี้ครับ 1. เปิดหน้า Network and Sharing Center เลือก Set up a new connection or network 2. เลือก Manually connection to a wireless network 3. ให้ตั้งค่าดังรูป *ขอแนะนำให้ใส่ชื่อ Network name ตัวเล็กตัวใหญ่แป๊ะ ๆ นะครับ มีวรรค 1 วรรคหน้า ( ด้วยนะครับ 4. หลังจากนั้นให้เลือก Change connection settings *ถ้ามันบอกว่ามีอยู่แล้วให้ลบ profile ทิ้ง วิธีลบด้วย command line อ่านบทความได้ที่นี่ครับ (http://sysadmin.psu.ac.th/2013/12/10/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%88%E0%B8%B1%E0%B8%94%E0%B8%81%E0%B8%B2%E0%B8%A3-wireless-profile-%E0%B8%9A%E0%B8%99-windows-88-1-%E0%B8%9C%E0%B9%88%E0%B8%B2%E0%B8%99-command-line/) 5. เลือก Tab Security จากนั้นเลือกหัวข้อ Settings 6. ให้ ติก Verify the server…. ออก จากนั้นกด OK 7. จากนั้นเลือก Advance Settings ต่อ 8. ให้ติกในส่วนของ Specify authentication mode : และเลือกให้ authen แบบ User authentication ในกรณีที่เป็นเครื่องส่วนตัวสามารถเลือก Save credentials (Save Username Password) จะได้ไม่ต้องกรอกทุกครั้งที่ต่อครับ  * ในการ Save credentials ในกรณีเปลี่ยนรหัสผ่านต้องมาเปลี่ยนที่นี่ด้วยครับไม่งั้น Windows จะ authen ผิดถี่จนระบบ PSU Passport ทำการ lock account ของท่านครับ (ระบบจะปลด lock อัตโนมัติหลังจากหยุด login จากทุกระบบ 20-30 นาทีโดยประมาณ) 9. หน้าจอสำหรับ Save credentials 10. เป็นอันเสร็จ ปิดหน้าต่างที่เปิดไว้ให้หมดครับ แล้วลองกลับไปเชื่อมต่อใหม่อีกครั้งก็จะขึ้นหน้าให้ Login ดังรูปครับ ถ้าหน้าตาต่างจากนี้แสดงว่า Set ผิดครับ

Read More »