วิธีตรวจสอบการเชื่อมต่อบนเซิร์ฟเวอร์ Linux ด้วย Rustcat

เมื่อเราต้องการตรวจสอบการเชื่อมต่อระหว่าง a ลินุกซ์ เซิร์ฟเวอร์และไคลเอนต์หลายตัว สิ่งที่ง่ายที่สุดคือการใช้เครื่องมือ Netcat ยอดนิยมเพื่อตรวจสอบว่ามีการสร้างการสื่อสารอย่างถูกต้องหรือไม่ โปรแกรมนี้ใช้กันอย่างแพร่หลายเพื่อตรวจสอบว่าไฟร์วอลล์และในระดับเครือข่ายสามารถเข้าถึงปลายทางของเราได้หรือไม่ อย่างไรก็ตาม มีทางเลือกที่ใช้งานง่ายและใช้งานง่ายกว่าที่เรียกว่า Rustcat หากคุณต้องการทางเลือกอื่นแทน Netcat ยอดนิยม Rustcat คือสิ่งที่คุณกำลังมองหา วันนี้ในบทความนี้ เราจะอธิบายวิธีการติดตั้งและใช้งานบนคอมพิวเตอร์ของคุณเพื่อตรวจสอบการเชื่อมต่อ

ตรวจสอบการเชื่อมต่อบนเซิร์ฟเวอร์ Linux ด้วย Rustcat

คุณสมบัติหลัก

Rustcat เป็นโปรแกรมที่ช่วยให้เราสามารถเปิดซ็อกเก็ตบนคอมพิวเตอร์ของเรา เพื่อรับการเชื่อมต่อขาเข้า และตรวจสอบว่ามีการสื่อสารกับคอมพิวเตอร์เครื่องอื่นที่ทำหน้าที่เป็นไคลเอนต์หรือไม่ ซึ่งสามารถทำได้เพื่อวัตถุประสงค์หลายประการ เช่น เพื่อตรวจสอบว่าทุกอย่างถูกต้องในระดับเครือข่ายหรือไม่ หากตารางเส้นทางที่กำหนดค่าไว้นั้นถูกต้อง และแม้ว่าเราจะมี ไฟร์วอลล์ อนุญาตหรือปฏิเสธการเชื่อมต่อ TCP และ UDP ที่แตกต่างกันไปยังอุปกรณ์ของเรา การมีเครื่องมืออย่าง Netcat หรือ Rustcat เมื่อเราจะกำหนดค่าเซิร์ฟเวอร์นั้นเป็นสิ่งจำเป็น ด้วยเครื่องมือนี้ เราสามารถตรวจสอบว่ามีการเชื่อมต่อแบบจุดต่อจุดหรือไม่ เพียงแค่เปิดพอร์ตบางพอร์ตบนไฟร์วอลล์

หากเราไม่มีเครื่องมือเช่น Netcat หรือ Rustcat เราจะต้องฟังเว็บหรือเซิร์ฟเวอร์ FTP บนพอร์ตต่างๆ เพื่อตรวจสอบว่าเปิดอย่างถูกต้องและรับฟังได้หรือไม่ อย่างไรก็ตาม ด้วยเซิร์ฟเวอร์เหล่านี้ เราจะต้องแก้ไขไฟล์การกำหนดค่า ลองกับเว็บไคลเอ็นต์หรือไคลเอ็นต์ FTP และตรวจสอบว่าการเชื่อมต่อสำเร็จหรือไม่ โปรแกรมอย่าง Rustcat ช่วยอำนวยความสะดวกในการตรวจสอบนี้อย่างมากว่าพอร์ตใดเปิดหรือปิด เพียงแค่ดำเนินการคำสั่งบนเซิร์ฟเวอร์ที่รับฟังบนโปรโตคอล TCP หรือ UDP ที่แน่นอน และคำสั่งอื่นบนไคลเอนต์หรือไคลเอนต์ที่จะเชื่อมต่อ เพื่อตรวจสอบว่ามีการสื่อสารแบบจุดต่อจุดหรือไม่

เครื่องมือ Rustcat นี้มีคุณสมบัติที่น่าสนใจมาก เช่น ประวัติคำสั่งที่ดำเนินการทั้งหมด มันใช้งานง่ายมาก มากกว่า Netcat ยอดนิยมที่เรารู้ นอกจากนี้ยังรองรับโปรโตคอล UDP (นอกเหนือจากการรองรับ TCP) และสามารถใช้สีต่างๆ เพื่อให้เข้าใจง่ายขึ้น โปรแกรมนี้เข้ากันได้กับลีนุกซ์ทุกรุ่นเช่น Debian, อูบุนตู และ Arch Linux และอื่น ๆ อีกมากมาย อย่างไรก็ตาม หากระบบปฏิบัติการของคุณเข้ากันไม่ได้ คุณจะสามารถดาวน์โหลดซอร์สโค้ดและคอมไพล์โดยตรงบนคอมพิวเตอร์ของคุณได้เสมอ ด้วยวิธีนี้ ระบบปฏิบัติการจะทำงานให้คุณโดยไม่มีปัญหาใดๆ สุดท้ายนี้ โปรแกรมนี้ให้คุณสร้าง reverse shell ด้วยวิธีนี้ เราสามารถรันคำสั่งจากระยะไกลบนเครื่องที่เชื่อมต่อกับเซิร์ฟเวอร์ของเราได้

การติดตั้งและการว่าจ้าง

ในกรณีของเรา เราได้ใช้ระบบปฏิบัติการที่ใช้ Debian เวอร์ชันล่าสุดสำหรับการดาวน์โหลดและติดตั้งโปรแกรมนี้ ดังนั้นการแจกแจงแบบอื่นๆ ที่ใช้ Debian เช่น Ubuntu หรือ Kali Linux จะทำงานได้อย่างสมบูรณ์และไม่มีปัญหา สิ่งแรกที่เราต้องทำคือดาวน์โหลดไฟล์ .deb ในระบบปฏิบัติการของเราดังนี้:

wget https://github.com/robiot/rustcat/releases/latest/download/rustcat_amd64.deb

อย่างที่คุณเห็น โปรแกรมนี้ถูกดาวน์โหลดโดยตรงจาก GitHub เพื่อดาวน์โหลดเวอร์ชันล่าสุดของโปรแกรมที่มีอยู่ซึ่งก็คือ v1.0.1 ตามที่คุณจะเห็นในภายหลัง

เมื่อดาวน์โหลดแล้ว เราจะต้องติดตั้งโดยรันคำสั่งต่อไปนี้:

sudo apt install ./rustcat_amd64.deb

เรายังสามารถติดตั้งได้โดยใช้คำสั่ง dpkg ยอดนิยม แต่เราคิดว่าการติดตั้ง apt นั้นง่ายกว่าเพราะผู้ดูแลระบบทุกคนใช้กันอย่างแพร่หลายในการติดตั้งโปรแกรมจากที่เก็บ

เมื่อติดตั้งแล้ว เราสามารถเริ่มทำงานกับมันได้ โดยรันคำสั่ง "rc" ตามด้วยคำสั่งต่างๆ เพื่อตรวจสอบว่าทำงานถูกต้องหรือไม่ คุณสามารถเรียกใช้ความช่วยเหลือของโปรแกรมโดยใช้คำสั่งต่อไปนี้:

rc --help

เมื่อเราดำเนินการแล้ว เราจะเห็นคำสั่งซื้อที่มีอยู่ทั้งหมด:

เมื่อเราตรวจสอบแล้วว่าการติดตั้งสำเร็จ เราจะเห็นตัวเลือกการกำหนดค่าทั้งหมดที่เรามี

Rustcat ทำงานอย่างไร

การทำงานของ Ruscat นั้นง่ายมาก จำเป็นต้องรันคำสั่ง “rc” เท่านั้น ตามด้วยตัวเลือกและพารามิเตอร์ต่าง ๆ โดยเฉพาะ ไวยากรณ์ที่เราต้องปฏิบัติตามมีดังต่อไปนี้: rc [ตัวเลือก] [ปลายทาง] [พอร์ต] . สำหรับตัวเลือกที่มีอยู่ เรามีดังต่อไปนี้:

  • -ho –help จะแสดงความช่วยเหลือเกี่ยวกับรายการตัวเลือกที่มีให้
  • -vo –version จะแสดงเวอร์ชันของโปรแกรม ในกรณีของเรา เวอร์ชันล่าสุดคือ Rustcat v1.0.1
  • -H หรือ -history จะแสดงประวัติ TCP ทั้งหมด
  • -l จะเปิดใช้งานโหมดการฟังสำหรับเซิร์ฟเวอร์
  • -p ให้คุณเลือกพอร์ต
  • -u อนุญาตให้กำหนดค่าโหมด UDP แทนโปรโตคอล TCP
  • -r เปิดใช้งานโหมดเชลล์ย้อนกลับ

เมื่อเราได้เห็นรูปแบบและตัวเลือกที่มีทั้งหมดแล้ว เราจะให้ตัวอย่างพื้นฐานและตัวอย่างขั้นสูงอื่นๆ แก่คุณ

หากเราต้องการเรียกใช้ Rustcat บนคอมพิวเตอร์ของเรา (localhost) และบนพอร์ต 33333 ด้วย TDP เราสามารถทำได้ดังนี้:

rc -l -p 33333

นอกจากนี้ยังสามารถใส่ในลักษณะต่อไปนี้:

rc -lp 33333

หากเราต้องการเรียกใช้ Rustcat บนคอมพิวเตอร์ของเรา (localhost) และบนพอร์ต 33333 ด้วย UDP เราสามารถทำได้ดังนี้:

rc -l -p -u 33333

นอกจากนี้ยังสามารถใส่ในลักษณะต่อไปนี้:

rc -lpu 33333

หากเราต้องการเรียกใช้ Rustcat บนคอมพิวเตอร์ของเรา (localhost) และบนพอร์ต 33333 ด้วย TDP แต่เรามีประวัติของคำสั่งที่ดำเนินการแล้ว เราสามารถทำได้ดังนี้:

rc -l -H -p 33333

นอกจากนี้ยังสามารถใส่ในลักษณะต่อไปนี้:

rc -lHp 33333

หากเราต้องการฟังที่อยู่ IP เฉพาะและไม่ใช่ทั้งหมด (0.0.0.0 หมายถึงอินเทอร์เฟซทั้งหมด) เราต้องระบุดังนี้:

rc -l 192.168.1.2 33333

อย่างที่คุณเห็น ต้องขอบคุณ reverse shell ที่ทำให้เราสามารถรันคำสั่งต่างๆ ใน ​​bash ได้อย่างง่ายดายและรวดเร็ว Rustcat เป็นทางเลือกที่น่าสนใจมากสำหรับ Netcat ยอดนิยม แม้ว่าจะไม่ได้ติดตั้งไว้ตามค่าเริ่มต้นก็ตาม ด้วยเครื่องมือที่น่าสนใจนี้ เราจะสามารถตรวจสอบว่าไฟร์วอลล์ของเรากำลังกรองการสื่อสารจากภายในเครือข่ายภายในหรือจากภายนอก เพื่อทดสอบพอร์ตต่างๆ และดูว่าทั้ง TCP และ UDP เปิดหรือปิดอยู่

เราขอแนะนำให้คุณไปที่ โครงการ Rustcat บน GitHub ที่ซึ่งคุณจะพบซอร์สโค้ดและรายละเอียดทั้งหมดเกี่ยวกับเครื่องมือฟรีที่ยอดเยี่ยมนี้สำหรับเซิร์ฟเวอร์ Linux ของเรา