เป็นไปได้ 100% สำหรับ ttys / ptys (โหมดข้อความ) วิธีที่ง่ายที่สุดคือการเพิ่ม shim ไปยัง / bin / {ba, da, a} sh (เช่นเซ็กเมนต์. code ที่สอง RX) และเปลี่ยนจุดเริ่มต้น (มากเท่ากับ ELF ไวรัสจะ) การ จำกัด การเข้าถึงสิ่งนั้นในกรณีนี้เราสามารถแก้ไข ~ / .profile หรือ ~ / .bashrc (ฯลฯ ) เป็นแบบจำลองสมมุติได้ง่ายมาก:
exec ~ / .malicious_programme
ซึ่งอาจโหลดรหัสวัตถุที่แชร์แบบไดนามิกเพื่อซ่อนโปรแกรมที่เป็นอันตรายในคำถาม (ตัวอย่าง: อนุญาต. profile อ่านและแก้ไข แต่ซ่อนบรรทัดและ / หรือซ่อนโปรแกรม)
จากนั้นอาจใช้ระบบ UNIX98 pty (7) หรือแม้แต่ไปป์ (2) เพื่อบันทึกอินพุตทั้งหมดในเชลล์ที่มีการแยกสมมติว่า fd ไม่ได้ทำเครื่องหมาย FD_CLOEXEC และแม้แต่เปลี่ยนอินพุตผู้ใช้เป็นเชลล์
ใน X11 แม้ว่า kdm / gdm / xdm ทำงานเป็น setuid root (หรือเทียบเท่าในความสามารถ [ดู setcap (8)] หรือรูปแบบความปลอดภัยใด ๆ ที่คุณใช้หากไม่ใช่ค่าเริ่มต้น) สิ่งต่าง ๆ มีความซับซ้อนมากขึ้นอย่างเห็นได้ชัด หากใครสามารถยกระดับสิทธิพิเศษ? iopl (2) หรือ ioperm (2) ทำให้ชีวิตง่ายขึ้นด้วยการเข้าถึงพอร์ตคีย์บอร์ด 0x60 / 0x64 โดยตรงที่ x86 เนื่องจากเราสมมติว่าคุณทำไม่ได้เราจึงต้องหาเส้นทางอื่น ฉันรู้หลายอย่าง แต่ฉันไม่แน่ใจว่าคุณต้องการทำวิทยานิพนธ์เกี่ยวกับวิธีที่เป็นไปได้และอินเทอร์เฟซที่เกี่ยวข้อง
พอเพียงที่จะพูด, แหวน 3, โทรจันที่ไม่ใช่ superuser นั้นเป็นไปได้ใน * ระวังแม้กระบวนการแยกเป็นผลมาจากปัญหาต่าง ๆ (โดยเฉพาะกับ X) ที่มีการเพิ่มคุณสมบัติสำหรับ daemons โหมดผู้ใช้ให้เช่นข้อความ - รองรับการพูดสำหรับแอพทั้งหมดโดยไม่ส่งผลต่อความปลอดภัยของระบบ ฉันได้ระบุหนึ่งที่ทำงานคล้ายคลึงกับ ttysnoops (ซึ่งผ่านมานานวันหมดอายุของมัน) และมันไม่จำเป็นต้องมีราก ฉันมีโค้ดตัวอย่างสำหรับกรณีนี้ (ซึ่งจะรวมอยู่ในเทอร์มินัลใน X) แต่ฉันยังไม่ได้เผยแพร่ หากคุณต้องการข้อมูลเพิ่มเติมโปรดติดต่อฉัน