การวิเคราะห์ความเป็นไปได้ในการบล็อกแอปพลิเคชันสำหรับการควบคุมคอมพิวเตอร์ระยะไกลผ่านเครือข่ายโดยใช้ตัวอย่างของ AnyDesk

เมื่อวันหนึ่งหัวหน้าเกิดคำถามว่า “ทำไมบางคนถึงเข้าถึงคอมพิวเตอร์ที่ทำงานจากระยะไกล โดยไม่ได้รับการอนุญาตเพิ่มเติมในการใช้งาน”
ภารกิจเกิดขึ้นเพื่อ "ปิด" ช่องโหว่

การวิเคราะห์ความเป็นไปได้ในการบล็อกแอปพลิเคชันสำหรับการควบคุมคอมพิวเตอร์ระยะไกลผ่านเครือข่ายโดยใช้ตัวอย่างของ AnyDesk
มีแอปพลิเคชันมากมายสำหรับการควบคุมระยะไกลผ่านเครือข่าย: เดสก์ท็อประยะไกลของ Chrome, AmmyAdmin, LiteManager, TeamViewer, การควบคุมทุกที่ ฯลฯ หากเดสก์ท็อประยะไกลของ Chrome มีคู่มืออย่างเป็นทางการสำหรับต่อสู้กับการเข้าถึงบริการ TeamViewer จะมีข้อจำกัดด้านลิขสิทธิ์ตรงเวลาหรือคำขอ จากเครือข่ายและผู้ใช้ "กัดฟัน" ไม่ทางใดก็ทางหนึ่ง "ส่องแสง" กับผู้ดูแลระบบจากนั้นเป็นที่ชื่นชอบของหลาย ๆ คนสำหรับการใช้งานส่วนตัว - AnyDesk ยังคงต้องการการดูแลเป็นพิเศษโดยเฉพาะอย่างยิ่งหากเจ้านายพูดว่า "ไม่!"

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

พยายามที่จะไปจากสิ่งที่ตรงกันข้ามในความเป็นจริง เว็บไซต์ มันบอกว่าต้องอนุญาตให้โปรแกรมทำงาน ดังนั้น บันทึก DNS จึงถูกบล็อก *.net.anydesk.com. แต่ AnyDesk ไม่ใช่เรื่องง่าย มันไม่สนใจเรื่องการบล็อกชื่อโดเมน

กาลครั้งหนึ่ง ฉันได้แก้ไขปัญหาการบล็อก “Anyplace Control” ซึ่งมาพร้อมกับซอฟต์แวร์ที่น่าสงสัยและแก้ไขได้ด้วยการบล็อก IP เพียงไม่กี่รายการ (ฉันได้สำรองโปรแกรมป้องกันไวรัสไว้แล้ว) ปัญหาของ AnyDesk หลังจากที่ฉันรวบรวมที่อยู่ IP มากกว่าหนึ่งโหลด้วยตนเอง หลอกฉัน หลีกหนีจากการใช้แรงงานคนตามปกติ

นอกจากนี้ยังพบว่าใน “C:ProgramDataAnyDesk” มีไฟล์จำนวนหนึ่งพร้อมการตั้งค่า ฯลฯ และในไฟล์นั้น ad_svc.ติดตาม เหตุการณ์เกี่ยวกับการเชื่อมต่อและความล้มเหลวจะถูกรวบรวม

1. การสังเกต

ดังที่ได้กล่าวไปแล้ว การบล็อก *.anydesk.com ไม่ได้ให้ผลลัพธ์ใด ๆ ในการทำงานของโปรแกรม จึงตัดสินใจวิเคราะห์ พฤติกรรมของโปรแกรมในสถานการณ์ตึงเครียด. TCPView จาก Sysinternals อยู่ในมือคุณแล้วไปได้เลย!

การวิเคราะห์ความเป็นไปได้ในการบล็อกแอปพลิเคชันสำหรับการควบคุมคอมพิวเตอร์ระยะไกลผ่านเครือข่ายโดยใช้ตัวอย่างของ AnyDesk

1.1. จะเห็นได้ว่ากระบวนการหลายอย่างที่เราสนใจนั้น "ค้างอยู่" และมีเพียงกระบวนการเดียวที่สื่อสารกับที่อยู่จากภายนอกเท่านั้นที่เป็นที่สนใจของเรา พอร์ตที่เชื่อมต่อถูกเลือกจากสิ่งที่ฉันเห็น: 80, 443, 6568 🙂 เราไม่สามารถบล็อก 80 และ 443 ได้อย่างแน่นอน

1.2. หลังจากบล็อกที่อยู่ผ่านเราเตอร์แล้ว ที่อยู่อื่นจะถูกเลือกอย่างเงียบๆ

การวิเคราะห์ความเป็นไปได้ในการบล็อกแอปพลิเคชันสำหรับการควบคุมคอมพิวเตอร์ระยะไกลผ่านเครือข่ายโดยใช้ตัวอย่างของ AnyDesk

1.3. คอนโซลคือทุกสิ่งของเรา! เราพิจารณา PID แล้วฉันก็โชคดีนิดหน่อยที่บริการติดตั้ง AnyDesk ดังนั้น PID ที่เรากำลังมองหาจึงเป็นเพียง PID เดียวเท่านั้น
1.4. เรากำหนดที่อยู่ IP ของเซิร์ฟเวอร์บริการจากกระบวนการ PID

การวิเคราะห์ความเป็นไปได้ในการบล็อกแอปพลิเคชันสำหรับการควบคุมคอมพิวเตอร์ระยะไกลผ่านเครือข่ายโดยใช้ตัวอย่างของ AnyDesk

2. การเตรียมการ

เนื่องจากโปรแกรมระบุที่อยู่ IP อาจจะใช้งานได้บนพีซีของฉันเท่านั้น ฉันจึงไม่มีข้อจำกัดด้านความสะดวกและความเกียจคร้าน ดังนั้น C#

2.1. วิธีการทั้งหมดในการระบุที่อยู่ IP ที่จำเป็นเป็นที่ทราบกันดีอยู่แล้ว แต่ยังคงต้องดำเนินการต่อไป

string pid1_;//узнаем PID сервиса AnyDesk
using (var p = new Process()) 
{p.StartInfo.FileName = "cmd.exe";
 p.StartInfo.Arguments = " /c "tasklist.exe /fi "imagename eq AnyDesk.exe" /NH /FO CsV | findstr "Services""";
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardOutput = true;
 p.StartInfo.CreateNoWindow = true;
 p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding("CP866");
 p.Start();
 string output = p.StandardOutput.ReadToEnd();
 string[] pid1 = output.Split(',');//переводим ответ в массив
 pid1_ = pid1[1].Replace(""", "");//берем 2й элемент без кавычек
}

ในทำนองเดียวกันเราพบบริการที่สร้างการเชื่อมต่อฉันจะให้เฉพาะสายหลักเท่านั้น

p.StartInfo.Arguments = "/c " netstat  -n -o | findstr /I " + pid1_ + " | findstr "ESTABLISHED""";

ผลลัพธ์ที่ได้จะเป็น:

การวิเคราะห์ความเป็นไปได้ในการบล็อกแอปพลิเคชันสำหรับการควบคุมคอมพิวเตอร์ระยะไกลผ่านเครือข่ายโดยใช้ตัวอย่างของ AnyDesk
จากแถวนั้น เช่นเดียวกับขั้นตอนก่อนหน้า ให้แยกคอลัมน์ที่ 3 และลบทุกอย่างที่อยู่หลัง “:” ส่งผลให้เราได้ IP ที่ต้องการ

2.2. การบล็อก IP ใน Windows หาก Linux มี Blackhole และ iptables วิธีการบล็อกที่อยู่ IP ในหนึ่งบรรทัดโดยไม่ต้องใช้ไฟร์วอลล์ใน Windows ก็กลายเป็นเรื่องผิดปกติ
แต่มีเครื่องมืออะไรบ้างนั้น...

route add наш_найденный_IP_адрес mask 255.255.255.255 10.113.113.113 if 1 -p

พารามิเตอร์หลัก "ถ้า 1" ส่งเส้นทางไปที่ Loopback (คุณสามารถแสดงอินเทอร์เฟซที่มีอยู่ได้โดยการรันการพิมพ์เส้นทาง) และสำคัญ! ตอนนี้จำเป็นต้องเปิดตัวโปรแกรม ด้วยสิทธิ์ของผู้ดูแลระบบเนื่องจากการเปลี่ยนเส้นทางต้องใช้ระดับความสูง

2.3. การแสดงและบันทึกที่อยู่ IP ที่ระบุเป็นงานที่ไม่สำคัญและไม่ต้องการคำอธิบาย หากคุณลองคิดดู คุณก็สามารถประมวลผลไฟล์ได้ ad_svc.ติดตาม AnyDesk เอง แต่ฉันไม่ได้คิดถึงมันทันที + บางทีอาจมีข้อจำกัดอยู่

2.4. พฤติกรรมที่ไม่สม่ำเสมอที่แปลกประหลาดของโปรแกรมคือเมื่อ "taskkilling" กระบวนการบริการใน Windows 10 มันจะรีสตาร์ทโดยอัตโนมัติใน Windows 8 จะสิ้นสุดลงโดยเหลือเพียงกระบวนการคอนโซลและไม่ต้องเชื่อมต่อใหม่โดยทั่วไปจะไร้เหตุผลและสิ่งนี้ไม่ถูกต้อง

การลบกระบวนการที่เชื่อมต่อกับเซิร์ฟเวอร์ออกทำให้คุณสามารถ "บังคับ" การเชื่อมต่อใหม่ไปยังที่อยู่ถัดไปได้ มันถูกนำไปใช้ในลักษณะเดียวกับคำสั่งก่อนหน้า ดังนั้นฉันจะให้มัน:

p.StartInfo.Arguments = "/c taskkill /PID " + pid1_ + " /F";

นอกจากนี้ให้เปิดโปรแกรม AnyDesk

 //запускаем программу которая расположена по пути path_pro
if (File.Exists(path_pro)){ 
Process p1 = Process.Start(path_pro);}

2.5. เราจะตรวจสอบสถานะของ AnyDesk ต่อนาที (หรือบ่อยกว่านั้น?) และหากมีการเชื่อมต่ออยู่ เช่น การเชื่อมต่อที่ถูกสร้างขึ้น - บล็อก IP นี้และอีกครั้ง - รอจนกว่าจะเชื่อมต่อ บล็อกและรอ

3. การโจมตี

รหัสถูก "ร่าง" และตัดสินใจที่จะแสดงภาพกระบวนการ "+" ระบุ IP ที่พบและถูกบล็อก และ "."—ทำซ้ำการตรวจสอบโดยไม่ต้องเชื่อมต่อเพื่อนบ้านจาก AnyDesk ได้สำเร็จ

การวิเคราะห์ความเป็นไปได้ในการบล็อกแอปพลิเคชันสำหรับการควบคุมคอมพิวเตอร์ระยะไกลผ่านเครือข่ายโดยใช้ตัวอย่างของ AnyDesk

รหัสโครงการ

ผลที่ตามมา…

การวิเคราะห์ความเป็นไปได้ในการบล็อกแอปพลิเคชันสำหรับการควบคุมคอมพิวเตอร์ระยะไกลผ่านเครือข่ายโดยใช้ตัวอย่างของ AnyDesk
โปรแกรมนี้ทำงานบนคอมพิวเตอร์หลายเครื่องที่ใช้ Windows OS ต่างกัน โดยมี AnyDesk 5 และ 6 เวอร์ชัน มีการทำซ้ำมากกว่า 500 ครั้ง มีการรวบรวมที่อยู่ประมาณ 80 รายการ สำหรับ 2500 - 87 และอื่นๆ...

เมื่อเวลาผ่านไป จำนวน IP ที่ถูกบล็อกมีจำนวนถึง 100+

เชื่อมโยงไปยังขั้นสุดท้าย ไฟล์ข้อความ มีที่อยู่: เวลา и สอง

มันเสร็จแล้ว! กลุ่มที่อยู่ IP ถูกเพิ่มเข้าไปในกฎของเราเตอร์หลักผ่านสคริปต์และ AnyDesk ก็ไม่สามารถสร้างการเชื่อมต่อภายนอกได้

มีจุดแปลกคือจากบันทึกเริ่มต้นเห็นได้ชัดว่าที่อยู่นั้นเกี่ยวข้องกับการถ่ายโอนข้อมูล boot-01.net.anydesk.com. แน่นอนว่าเราบล็อกโฮสต์ *.net.anydesk.com ทั้งหมดตามกฎทั่วไป แต่นั่นไม่ใช่เรื่องแปลก แต่ละครั้งที่มีการ ping ปกติจากคอมพิวเตอร์เครื่องอื่น ชื่อโดเมนนี้จะให้ IP ที่แตกต่างกัน กำลังตรวจสอบบน Linux:

host boot-01.net.anydesk.com

เช่น DNSLookup พวกเขาให้ที่อยู่ IP เดียวเท่านั้น แต่ที่อยู่นี้เป็นตัวแปร เมื่อวิเคราะห์การเชื่อมต่อ TCPView เราจะส่งคืนบันทึก PTR ของที่อยู่ IP ประเภทนั้น รีเลย์-*.net.anydesk.com.

ตามทฤษฎี: เนื่องจากบางครั้ง ping ไปยังโฮสต์ที่ไม่ถูกบล็อกที่ไม่รู้จัก boot-01.net.anydesk.com เราสามารถค้นหา ips เหล่านี้และบล็อกมันได้ ทำให้การใช้งานนี้เป็นสคริปต์ปกติภายใต้ Linux OS ที่นี่ไม่จำเป็นต้องติดตั้ง AnyDesk จากการวิเคราะห์พบว่า IP เหล่านี้มักจะ "ตัด"กับที่พบในรายการของเรา บางทีอาจเป็นเพียงโฮสต์นี้ที่โปรแกรมเชื่อมต่อก่อนที่จะเริ่ม "แยก" IP ที่รู้จัก ฉันอาจจะเสริมบทความด้วยส่วนที่ 2 ของการค้นหาโฮสต์ในภายหลังแม้ว่าในขณะนี้ ตัวโปรแกรมเองไม่ได้ติดตั้งภายในเครือข่ายภายนอกเข้าร่วมโดยทั่วไป

ฉันหวังว่าคุณจะไม่เห็นสิ่งที่ผิดกฎหมายข้างต้น และผู้สร้าง AnyDesk จะปฏิบัติต่อการกระทำของฉันอย่างมีน้ำใจนักกีฬา

ที่มา: will.com

เพิ่มความคิดเห็น