คุณลบ proxychains ออกจากคำสั่ง เรียกใช้อีกครั้ง และยังเห็นข้อความเริ่มต้นของ wrapper ตรวจสอบสภาพแวดล้อมการเรียกใช้ก่อนจะมองหาการตั้งค่าในแอป

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

การตรวจสอบแบบอ่านอย่างเดียวครั้งแรกในเชลล์นั้นคือ:

printf '%s\n' "$LD_PRELOAD"

มองหาไลบรารี wrapper ของพร็อกซี แต่เปิดทางไว้ว่าตัวแปรอาจแสดงรายการไลบรารีอื่นที่โหลดโดยเจตนาด้วย การลบทุกบรรทัดแบบไม่พิจารณาอาจรบกวนเครื่องมืออื่น

เปลี่ยนตัวเรียกใช้ แล้วเรียกโปรแกรมใหม่

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

การยกเลิกตัวแปรสภาพแวดล้อมไม่ได้ถอนไลบรารีออกจากโปรเซสที่เริ่มด้วยมันไปแล้ว แอปที่กำลังทำงานจึงอาจยังถือ wrapper ไว้จนกว่าจะเริ่มใหม่ผ่านเส้นทางการเรียกใช้ที่แก้ไขแล้ว

หากไม่มีตัวแปร ให้ตรวจสอบแหล่งโหลดล่วงหน้าอื่นที่กำหนดไว้ เช่น /etc/ld.so.preload และตัวเรียกใช้จริง กลไกนี้มีขีดจำกัด ไฟล์ปฏิบัติการแบบสแตติก การเรียกระบบโดยตรง และข้อจำกัดการทำงานอย่างปลอดภัยอาจทำงานต่างออกไป เมื่อใช้ sudo ลำดับของ wrapper สำคัญ การโหลดล่วงหน้าที่สืบทอดมาอธิบายการดักจับที่ไม่คาดคิด แต่ไม่ใช่หลักฐานว่าทราฟฟิกเครือข่ายทุกชนิดใช้พร็อกซี

บทความที่เกี่ยวข้อง