Proxy คือ บริการที่ให้เราสามารถส่งต่อคำขอส่งข้อมูล (requests) ผ่าน Proxy Server ไปยังเซิร์ฟเวอร์อื่นๆ ได้ โดยไม่ต้องเชื่อมต่อจากเราโดยตรง ตัวอย่างเช่น การจะเชื่อมต่อ A ไปหา B ปกติจะมีลักษณะดังนี้ A -> B หากผ่าน Proxy จะมีลักษณะ A -> Proxy Server -> B ซึ่งสามารถทำให้เชื่อมต่อ ต่อกันไปเป็นทอดๆ ได้ หรือที่เรียกว่า "Proxy Chains" เช่น A -> P1 -> P2 -> P3 -> B จะเห็นได้ว่ามีหลาย hops ก่อนจะถึง B
การที่จะระบุต้นทาง ต้องย้อนไปถามผู้ให้บริการ Proxy เพื่อหาประวัติการใช้ proxy ในเวลานั้น ตั้งแต่ผู้ให้บริการ P3 ขึ้นไปเรื่อยๆ จนกว่าจะเจอต้นทาง ซึ่งในบางเซิร์ฟเวอร์ ประวัติการใช้งาน (logs) มักถูกลบออกภายในระยะเวลาหนึ่งเดือน และมีมาตรการในการรักษาข้อมูลลูกข่าย หากใช้ Proxy Chains หลายชั้น ก็จะเป็นการยากต่อการระบุต้นทาง
brew install proxychains-ng
sudo apt-get install proxychains
1) สร้างไฟล์ Config ของ proxychains (Download ข้างล่าง) โดยบันทึกไว้ที่ /etc/proxychains.conf สำหรับ Ubuntu และ /usr/local/etc/proxychains.conf สำหรับ macOS
https://github.com/rofl0r/proxychains-ng/blob/master/src/proxychains.conf
2) ปรับแต่งไฟล์ proxychains.conf เพื่อเปิดใช้ Proxy แบบ Dynamics ดังนี้
#strict_chain คอมเม้นบรรทัดนี้
dynamic_chain และนำคอมเม้นบรรทัดนี้ออก
3) เพิ่ม Proxy Server เข้าไปใน proxychains.conf (บรรทัดสุดท้าย) มีดังนี้
raw 178.1.256.4 8080 #เชื่อมต่อแบบ raw -> port 8080
http 178.1.256.4 8080 #เชื่อมต่อแบบ http -> port 8080
sock4 178.1.256.4 8080 #เชื่อมต่อแบบ Socket -> port 8080
สามารถหา Proxy Server ฟรีได้จาก Google โดยค้นหาว่า "free proxy lists" ซึ่งส่วนมากจะเป็นประเภท raw
raw 139.99.237.62 80
raw 157.100.12.138 999
raw 218.238.83.182 80
raw 140.227.69.124 3180
raw 208.113.134.223 80
raw 103.115.252.18 80
raw 34.110.251.255 80
raw 140.227.61.156 23456
raw 183.250.163.175 9091
raw 191.97.16.113 999
ใส่คำสั่ง proxychains หรือ proxychains4 นำหน้าคำสั่งที่จะใช้งาน เช่น
proxychains4 ping google.com
หรือ
proxychains4 nmap -sV google.com
อ้างอิง (reference): NetworkChuck
