Saturday, September 18, 2010

network command - รู้จัก กับ Netstat เพื่อหาและจัดการ port ของโปรแกรม เพื่อ block หรือเพื่อการ hack


Netstat เป็นคำสั่งที่ใช้ตรวจสอบ Network เกี่ยวกับการเชื่อมต่อ Port
ระบบที่ใช้ในประกอบการทำอธิบายนี้
1) Win Xp ที่เป็นเครื่องลูกข่าย Linux SIS
2) Linux SIS เปิด share net อย่างเดียว (ฉะนั้น ระบบจะยังคง block ทุกอย่าง เปิดแต่เว็บให้ใช้งานได้)

สถานการณ์
ถ้าอยากรู้ว่า port ของ streaming ของ mcot.net

จากการใช้คำสั่งจาก DOS Prompt ในรูปข้างบน เป็นการเรียกดูวิธีการใช้ของโปรแกรม netstat โดยการใส่เครื่องหมาย /? ต่อท้ายคำสั่งนั้น สามารถใช้ได้กับโปรแกรมอย่างอื่นในดอสได้ด้วย) เพื่อขอดูการใช้งาน ผมจะอธิบายที่ละบรรทัดอย่างคร่าวๆ

และการใช้คำสั่งนี้ ไม่ว่าจะเป็น Opiton หรือใดๆก็ตาม จะไม่เป็นอันตรายต่อเครื่อง รวมทั้งระบบ Network ซึ่งในการใช้ สามารถใช้ได้ในขณะที่ต่อ Internet หรือไม่ก็ตาม
-a   Displays all connections and listening ports.

Opiton นี้จะเป็นการดูการเชื่อมต่อ Port ทั้งหมดที่ (เครื่องนั้นๆ=เครื่องคุณ) ที่ใช้คำสั่งนี้ได้เปิดรอการเข้ามาติดต่อ  แต่ผลที่แสดงจะเป็นรายชื่อ Service ที่ติดต่อกับเครื่อง (เครื่องนั้นๆ=เครื่องคุณ)  เช่นชื่อเว็บไซด์หรือชื่อเครื่อง  ไม่แสดงเป็นตัวเลข IP
-e   Displays Ethernet statistics. This may be combined with the -s option.

Opiton นี้จะเป็นการดูเหมือนกับสถิติต่างๆในการรับ/ส่งข้อมูลต่างๆ  ต้องใช้ร่วมกับ Opiton -s  เป็นการดูสถานะการรับส่งข้อมูลต่างๆ  ซึ่งลองใช้ดูได้
-n   Displays addresses and port numbers in numerical form.

Opiton นี้จะเหมือนกับ -a  แต่การแสดงผลจะเป็นเลข IP กับ Port แทนชื่อเครื่องหรือชื่อเว็บไซด์ต่างๆที่ได้มีการติดต่อหรือเชื่อมการติดต่อ
ขั้นตอน
1. คลิ๊ก Start Menu (มุมซ้ายล่างหน้าจอครับ)
2. เลือกคำสั่ง Run... (มุมขวาใกล้ๆ Turn Off Computer)
3. พิมพ์ cmd ลงไปจากนั้นกด Enter
4. พิมพ์คำสั่ง netstat -an

ผลที่ได้ จะออกมา ดังรูป
เนื่องจาก เครื่องที่ใช้ ทดสอบ เป็นเครื่อง ที่อยู่หลัง Linux SIS ซึ่ง โดย default sis จะ block ทุกอย่าง
ตรง เลข 1 คือ โปรแกรม Office Scan ซึ่งมันจะ เปิด port 9100 เพื่อ connect ไปที่ server officescan
ตรง เลข 2 คือ IP:PORT ของ server ของ office scan คำย่อ SYN_SENT หมายความว่า ข้อมูลไดๆก็ตามที่ ส่งออก ณ จุดนี้ ถูก block อยู่ไม่สามารถส่งออกได้
จากนั้น ทำการเปิดเว็บ http://www.mcot.net แล้วสั่ง netstat -an อีกรอบเพื่อ check การต่อเชื่อในเครื่องอีกรอบ

IP ที่อยู่ในกลุ่มหมายเลข 2 คือ IP ที่เครื่องนั้นต่อเชื่อหลังจาก เปิด http://www.mcot.net จากนั้นทำการ click เปิดหน้าต่าง ของ Live News เพื่อให้เครื่องเชื่อมต่อ mms สลับหน้าต่างไปที่หน้าต่าง cmd แล้วพิมพ์คำสั่ง netstat -an อีกรอบเพื่อ check connection

จากรูป server MMS ของ mcot ก็คือ 202.142.200.131 โดย connect ไปที่ port 1755 ซึ่งใน ภาพ จะไม่สามารถเปิดได้เพราะ SIS ยัง block connection นั้นอยู่ (SYN_SENT)
จากตรงนี้ สามารถนำไปประยุกหา port ของโปรแกรมอื่นๆได้ โดย ทำตามวิธีด้านบน

เพิ่มเติม

1. Proto   TCP -- คือโปรโตคอลที่เครื่องกำลังเชื่อมต่ออยู่

2. Local Address   qillip:telnet -- [ชื่อ เครื่อง qillip] : [telnet Service (port ที่เครื่องได้เปิด)]  ซึ่งตอนนี้เป็นหรือบริการที่เปิด และเราจะรู้ได้ตรงนี้เอง เช่นพวกโทรจัน Trojan หรือโปรแกรมบางโปรแกรมมักจะเปิด Service หรือบริการที่เปิดรอ เพื่อจะเข้ามาควบคุมเครื่องหรือมีการแชร์เครื่อง เพื่อใช้ในการถ่ายโอนข้อมูลระหว่างเครื่องในระบบ Network

3. Foreign Address   qillip:0 -- ชื่อเครื่อง [qillip] : [เครื่องที่เชื่อมต่อกับเครื่องที่คุณได้ใช้อยู่] ที่เป็นเลข 0 เพราะว่าผมยังไม่ได้ต่อเน็ต

4. State   LISTENING -- สถานะการติดต่อ ซึ่งจะมีอยู่หลายแบบคือ ตรงนี้ขอข้ามไปก่อนครับว่าหมายถึงอะไร

สี เหลือง เป็นสถานะ ESTABLISHED
Local Address ซึ่ง IP ผมคือ 203.118.74.149 ได้เปิด port 135 เอาไว้และเข้ามาที่เครื่องทาง port นี้
Foreign Address เป็น IP ของเครื่องที่มา hack เครื่องผมคือ 203.118.82.158
State เป็นสถานะ ESTABLISHED  หมายความว่า เป็นการเชื่อมต่อระหว่างเครื่อง 2 เครื่องได้แล้ว พูดอีกแบบคือ มีเครื่องอื่นได้เข้ามาในเครื่องผมแล้ว

สีฟ้า เป็นสถานะ LISTENING
Local Address ซึ่ง IP ผมคือ 203.118.74.149 ได้เปิด port 139
Foreign Address ยังไม่มีเครื่องใดมาทำการติดต่อ
State เป็นสถานะ LISTENING  คือรอการติดต่อ ซึ่งเครื่องอื่นสามารถเข้าได้ทางนี้
สีม่วง เป็นสถานะ TIME_WAIT
Local Address ซึ่ง IP ผมคือ 203.118.74.149 ได้เปิด port 139
Foreign Address เครื่องที่มี IP 203.118.74.110 ได้กำลังแสกนเครื่องผมอยู่  เพื่อหาช่องโหว่
State เป็นสถานะ TIME_WAIT คือเค้ากำลังแสกนเครื่องผมโดยผ่าน port 139  กำลังแสกน หรืออีกความหมายคือ เครื่องนั้นอาจกำลังถอด password เครื่องคุณอยู่ก็ได้
SYN_SENT หมาย ความว่า ข้อมูลไดๆก็ตามที่ ส่งออก ณ จุดนี้ ถูก block อยู่ไม่สามารถส่งออกได้

** ให้สังเกตเครื่องคุณ ถ้าได้มีตัวนี้อยู่บรรทัดไหน ให้สังเกตที่บรรทัดเดียวกันว่า เครื่องคุณได้เปิด Port ไหนเอาไว้บ้าง **

TIP :  ซึ่งตอนนี้คุณคงอ่าน และคงสามารถที่จะเดาได้ว่าแต่ละบรรทัดที่โปรแกรมแสดงหมายความว่าอะไรบ้าง แต่ถ้าใช้ Option ดังรูปข้างบน (ต่อ Internet) ให้พิมพ์คำสั่ง netstat -a  เพื่อจะแสดงเป็นชื่อ ซึ่งบางทีในสถานะ ESTABLISHED หมายความว่า มีเครื่องอื่นได้เข้ามาในเครื่องผมแล้วนั้น อาจเป็นเว็บไซด์ที่คุณกำลังดาว์นโหลดอยู่ก็ได้ คำสั่ง netstat -a จะแสดงเป็นชื่อเว็บต่างๆ ซึ่งถ้าใช้คำสั่ง netstat -an จะแสดงเป็นตัวเลข IP ยากต่อการเดา และการดูจริงๆคุณต้องสังเกตที่ port ที่เครื่องคุณด้วยว่าเป็น port ที่ใช้ทำอะไร


HACK :  ถ้าคุณกำลัง chat อยู่ ไม่ว่าจะเป็น icq , msn , yahoo ect.. ก็ตาม และได้มีการรับ/ส่งไฟล์ระหว่างเครื่องเกิดขึ้น ให้พิมพ์คำสั่ง netstat -an หรือ netstat -a หรือ netstat -n ก็ได้ โปรแกรมนี้จะมีการแสดงเลข IP ต่างๆที่คุณได้ติดต่ออยู่ และคุณรู้ IP เครื่องเป้าหมายแล้ว อิอิ ถ้ามีความรู้ในเรื่องอื่น ก็นำมาใช้ได้เลย

   นี่คือการทำงานโดยใช้ดอสแบบทั่วไป ให้คุณลองดูว่าเครื่องคุณได้เปิด Port อะไรไว้บ้าง ถ้ามีการเปิดที่เยอะมาก คุณต้องรู้ว่าแต่ละ Port ไหนโปรแกรมอะไรเป็นตัวเปิด โดยทำการค้นหาได้จากโปรแกรมที่คุณใช้ได้ถนัด ซึ่งแล้วแต่คนจะถนัดทางไหน และหัวข้อต่อไป ผมจะอธิบายการใช้โปรแกรมอีกตัว ซึ่งใช้ได้ดีมากสำหรับการหาโปรแกรมตัวแสบ ที่แอบมาเปิด port  และยังสามารถใช้งานได้อีกหลายอย่าง แทนโปรแกรม NETSTAT ได้ดีอีกด้วย แถมยังมีโปรแกรมให้ HACK เครื่องแถมมาด้วย
Credit www.opentle.org & www.justusers.net

No comments: