ของดีอยากบอกต่อ: Interactsh หนึ่งในทางเลือกของการทดสอบแบบ OOB Technique นอกจาก Burp Collab

Datafarm
3 min readJun 23, 2021

Interactsh คือ หนึ่งใน Open-Source ที่อยู่ภายใต้โครงการ Project Discovery (projectdiscovery.io) ที่ได้มีการสร้างและรวบรวม Open-Source tools ต่าง ๆ สำหรับแฮกเกอร์และเหล่านักพัฒนาทั้งหลาย เพื่อช่วยในการทดสอบและทำ Security Automation ในรูปแบบต่าง ๆ

เกริ่นกันก่อนว่าโดยทั่วไปในระหว่างการทดสอบเจาะระบบนั้น บางสถานการณ์ยังไม่สามารถยืนยันได้แน่ชัดว่าเป็นช่องโหว่จริง หรือไม่อาจจะทดลองใช้ฟังก์ชันของช่องโหว่นั้น ๆ ให้มีการเรียกใช้งานออกมายัง Service ที่อยู่ข้างนอก (หรืออาจจะเป็นเครื่องของผู้ทดสอบเอง) อาจจะรวมถึงการทดสอบที่อยากจะรู้ว่ามีการป้องกันที่ขา Out-bound ที่ Service ใดบ้าง หรือแม้กระทั่งขณะที่อยากจะมีการนำข้อมูลออกมายังภายนอก (Data Exfiltration) ก็อาจจะต้องมีการ Configured Server และเปิดใช้งาน Service ที่ต้องการเพื่อรอรับการเชื่อมต่อกลับมา ซึ่งอาจจะเป็นในรูปแบบของ DNS/HTTP/SMTP Protocol (และอื่นๆ ขึ้นอยู่กับบริบท) หรือแม้กระทั่ง TCP/UDP/ICMP Protocol ธรรมดาก็ได้ ซึ่งช่องโหว่ที่มักจะใช้ผ่านการดำเนินการแบบ Out of Band (OOB) นั้นมักจะเป็นช่องโหว่ประเภท Blind เช่น Blind SQL Injection, Blind Server Side Request Forgery (SSRF), Blind XML External Entities (XXE) และ OS Command Injection เป็นต้น ซึ่งรวมถึงการใช้งานในลำดับของการทำ Post-Exploitation ด้วยเช่นกัน

อย่างที่ได้กล่าวไปนั้นที่ว่าอาจจะต้องมีการตั้ง Server (หรือ Service) ขึ้นมาเพื่อรอรับ Connection จากเครื่องปลายทาง ซึ่งหลาย ๆ คนก็น่าจะรู้จักโปรแกรม Intercept Proxy อย่าง Burp Suite ก็จะมี feature ที่ใช้ในการช่วยทดสอบ OOB อย่าง Burp Collaborator

จากรูปตัวอย่างก็จะเป็นตัวอย่างการสร้าง HTTP Request ไปยัง Burp Collaborator (Share Server ของ PortSwigger)

ผลที่ได้ก็จะปรากฏ Connection ที่มีการติดต่อกลับมาที่ Payload ของเรา จะสังเกตได้ว่ามีการแสดงรายละเอียดที่เป็น IP Address ของคนที่เชื่อมต่อกลับมาด้วย ซึ่งก็จะมีประโยชน์สำหรับในการทดสอบในขั้นตอนอื่น ๆ เช่นกัน

แต่คราวนี้ถ้าเราไม่ได้ใช้โปรแกรม Burp Suite รวมถึงว่าอยากจะทำโปรแกรมหรือสคริปต์ Automation เล็กๆ ขึ้นมาเพื่อทดสอบช่องโหว่และอยากจะ PoC OOB หรือใช้ในการดึงข้อมูลมาจากระบบปลายทางหละจะทำอย่างไรดี อย่างที่ได้บอกไปตอนต้นเลยว่า Interactsh จากโครงการ projectdiscovery จะมาช่วยตอบโจทย์ในส่วนนี้

โดย Features ที่ทาง Interactsh สามารถทำได้ ณ ตอนนี้มีดังนี้

จากภาพ Features ด้านบนจะสังเกตได้ว่ามีการรองรับทั้งแบบ command line และ Web UI รวมถึงสามารถให้ตั้งเซิร์ฟเวอร์ขึ้นเองได้ (ซึ่ง Burp Collab ก็สามารถตั้ง Private Server เองได้เช่นกัน)

เดี๋ยวจะมาสาธิตการใช้งานแบบ command line แบบคร่าว ๆ (คร่าวๆ จริงนะ 55) ให้ดูกันก่อน

โดยที่ Options ที่ให้ใช้งานได้มีตามนี้เลย

โดยผู้ทดสอบได้สร้าง Temporary URL ที่ใช้สำหรับทดสอบการเชื่อมต่อด้วย Interactsh-client และได้ลองใช้ http client ในการเรียกใช้ URL ดังกล่าวผ่าน HTTP Protocol

และก็พบว่ามีการแสดงรายละเอียดต่าง ๆ ของ client ที่ติดต่อกลับมาทั้ง DNS และ HTTP ตามรูปแบบการเชื่อมต่อปกตินั่นเอง

นอกจากนี้ก็ยังมีในส่วนของที่เป็น Web UI ให้เรียกใช้งานด้วยที่ https://interact.projectdiscovery.io/ ซึ่งเมื่อเข้าไปแล้วแต่ละคนก็จะได้ Temporary URL ที่ไม่ซ้ำกัน (เอ๊ะ หรืออาจจะมีโอกาสซ้ำกันได้นะ) และนำไปใช้งานได้ตามปกติ

ซึ่งลักษณะการใช้งานก็อาจจะคล้ายกับพวก Service webhook หรือพวก httpbin แต่บริการเหล่านั้นอาจจะไม่ได้รองรับได้หลาย Protocol เท่า interactsh

เช่นเคยครับหวังว่าบทความนี้คงมีประโยชน์กับใครซักคนหนึ่งไม่มากก็น้อย ฝากกดไลท์เพื่อติดตามบทความดี ๆ จากทางเพจ Datafarm ที่จะนำมาพร้อมเสริ์ฟในทุก ๆ วันพุธกันด้วยนะครับ รักษาเนื้อ รักษาตัวให้ผ่านพ้นจากโรคร้ายในครั้งนี้ไปด้วยกันนะครับ

รายละเอียดเพิ่มเติมที่น่าสนใจ

https://github.com/projectdiscovery/interactsh

https://interact.projectdiscovery.io/

--

--

No responses yet