Proxy Threats - Socks v666
Reverse Tunneling Into NAT Home Networks
เรื่องที่ผมจะกล่าวถึงต่อไปนี้จะเป็นเรื่องเกี่ยวกับ proxy ที่เรียกกันว่า SOCKS ซึ่งเป็น protocol ในการติดต่อสื่อสารชนิดหนึ่ง ซึ่งมจะแบ่งออกเป็น 3 ตอนโดยตอนนี้จะเป็นตอนที่ 1 โดยพูดถึงความเป็นมาของ SOCKS ซึ่งผมจะขอเกริ่นนำก่อนที่เราจะมาพูดถึงความเป็นมากันครับ

หลักการของรูปแบบการติดต่อสื่อสารระหว่างเครือข่ายที่เป็นที่รู้จักกันดีก็คือ NAT (Network Address Translation) และระบบการกรองข้อมูลเหมือนอย่างอุปกรณ์ เช่น Router และ Firewalls ซึ่งจะช่วยป้องกันและควบคุมข้อมูลจากภายนอก โดยที่เครือข่ายที่อยู่ภายในอุปกรณ์ประเภทนี้มักจะใช้งานภายใต้ Private IP และจะได้รับการป้องกันจากการโจมตีหรือข้อมูลที่ไม่พึงประสงค์จากภายนอกเพื่อป้องกันผลประโยชน์หรือข้อมูลที่มีค่าภายในระบบเครือข่ายนั้นๆ โดยการที่เจาะผ่านระบบกรองข้อมูลนี้ hacker จะทำการส่ง malware เข้ามาที่ตัวของ host ภายในเพื่อจะทำการควบคุม host ที่ติด malware จากภายนอกได้ และ host นั้นๆก็อาจจะถือได้ว่าเป็น botnet ตัวหนึ่งที่จะทำหน้าที่รอรับคำสั่งจาก hacker นั่นเอง ซึ่ง Honeynet Project นี้จะเป็น Project ที่จะทำให้เราสามารถเรียนรู้เทคนิคต่างๆ ที่เป็นที่แพร่หลายในรูปแบบการกระทำผิด การกระทำผิดที่ว่าพูดง่ายๆก็คือการเข้าถึงเครือข่ายของผู้อื่นโดยวิธีที่ไม่ใช่แบบปกติเค้าทำกัน เช่น การส่ง spam mail , การโจมตี Web application รวมไปถึงการบุกรุกเพื่อหาข้อมูลสำคัญจากเป้าหมาย

ซึ่งในเอกสารนี้เราจะศึกษากันถึงวิธีการทำงานของ reverse tunnel proxies , Protocol ที่ใช้ รวมไปถึงผลของการกระทำผิด รวมไปถึงตัวอย่างของตัวของมันที่สืบทอดมาจาก SOCKS Protocol

ความเป็นมาของ SOCKS
หลักการทำงานของ proxy เบื้องต้นคือระบบจะรับการร้องขอจากผู้ใช้จากนั้นจะทำการส่งการร้องขอนั้นไปยังเครื่องแม่ข่ายอื่นๆ SOCKS ก็เป็น internet protocol ชนิดหนึ่งที่ทำงานเป็น proxy แบบ transparent ซึ่งตัวมันเองได้ถูกพัฒนาโดย MIPS ในตั้งแต่ปี 1990 จนมาเป็นที่รู้จักแพร่หลายกันในปี 1992 เมื่อ SGI ได้ขอซื้อ บริษัท MIPS Computer System

SOCKS 4 เป็น Protocol ที่เชื่อมต่อบน TCP services และทำงานอยู่ใน Session layer ของ OSI Model



ซึ่ง SOCKS เองจะอยู่ภายใต้ Presentation Layer (เช่น SSL) กับ Application Layer (เช่น HTTP) ซึ่งจะเป็นเส้นทางที่ทำให้ตัวมันเองส่งข้อมูลไปที่ Application Layer ได้ ซึ่งระบบ proxy โดยทั่วไป ส่วนมากเมื่อเวลาที่ application เปลี่ยนไป ระบบ proxy อาจจะมีปัญหาเพราะตัวมันอาจจะไม่รู้จัก ซึ่งSOCKS 4 สนับสนุน การเชื่อมต่อบน TCP เพียงอย่างเดียวและมีการ authen ด้วยการใช้ userid และ SOCKS 4 นี้สนับสนุนการส่งการร้องขอ proxy ไปก่อนที่จะระบุ domain name ของเป้าหมาย ส่วน SOCKS 5 นั้นถูกพัฒนาบน SOCKS 4 ซึ่ง SOCKS 5 นี้จะสนับสนุนการเชื่อมต่อ proxy บน UDP , ระบบการ authen และสนับสนุน IPV6 ด้วย ในมาตรฐานการเชื่อมต่อของ SOCKS นั้นจะทำงานเป็นตัวกลางระหว่าง client กับ server โดยจะส่งไปตาม destination และ port ที่ request มา

ในกรณี proxybot infections นั้น เราได้ตรวจสอบจนพบว่าตัว proxy server เองบนเครื่องที่มีการเปิด port ที่เป็น unknown port (1024 ขึ้นไป) โดยผู้ที่ไม่ประสงค์ดีจะตามหา proxies ที่มีการเปิดใช้งานพร้อมกับทำให้เหยื่อส่งค่า IP address และ port ที่ proxy นั้นๆเปิดให้บริการจากนั้นจะทำการรวบรวมเพื่อนำไปใช้หรืออาจจะเอาไปขายหรืออาจจะนำไปใช้ในการกระทำผิด โดย proxies เป็นที่นิยมใช้กันทั่วไปเพราะมีการใช้งานได้หลากหลาย แต่ในกรณี spam เป็น application ที่นิยม ซึ่ง proxie หรือ user เองจะทำการ config application ใช้ชี้ไปที่รายชื่อของ IP address , Ports ของ proxybots ทั้งหลายให้ส่งข้อมูลกลับมา พูดง่ายๆก็คือคนภายนอกเข้ามาสั่ง proxybot ภายในให้ไปเชื่อมต่อกับเป้าหมายอื่นๆนั่นเอง

credit: Phirawat Sangkajuntranant
**Hidden Content: To see this hidden content your post count must be 2 or greater.**