Linux keylogger โดยไม่รูทหรือ sudo! มันเป็นเรื่องจริงเหรอ?


29

ใครบางคนใน Youtube อ้างว่ามี keylogger ใน Ubuntu ที่ไม่ได้ดำเนินการหรือติดตั้งเป็นรูท ลิงค์ด้านล่างแสดงตัวอย่างของการทำงาน

http://www.youtube.com/watch?v=Y1fZAZTwyPQ

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

UPDATE: ซอฟต์แวร์ที่อ้างถึงในคำตอบ 24 มิถุนายนจะไม่ติดตั้งหากไม่มี sudo / root ฉันได้เพิ่มความโปรดปรานแก่ผู้ที่ให้ลิงก์ไปยังซอฟต์แวร์ keylogger Linux ที่ใช้งานได้ซึ่งสามารถติดตั้งและรันด้วยสิทธิ์ผู้ใช้ปกติ


ฉันเชื่อว่าสิ่งนี้สามารถทำได้ในระดับ X ได้อย่างง่ายดาย แค่คิดเกี่ยวกับโปรแกรมที่มีทางลัดทั่วโลก
Denis Nikolaenko

เพื่อป้องกันคีย์ล็อกเกอร์ระบบหน้าต่าง X คุณต้องใช้ SELinux สำหรับ X เพื่อให้ความรู้ของฉันไม่มีการกระจายลีนุกซ์แบบกว้าง ๆ ที่ทำได้นอกกรอบ nsa.gov/research/_files/selinux/papers/x11/t1.shtml
Denis Nikolaenko

คุณรู้ตัวอย่างการทำงานจริงหรือไม่? โดยที่ไม่ได้เห็นมันใช้งานได้โดยตรงฉันก็ยังไม่เชื่อ และโดยที่ไม่รู้ว่ามันเป็นไปได้ที่ keylogger จะได้รับการติดตั้งโดยไม่มีสิทธิ์ sudo / root มันไม่คุ้มค่าที่จะจัดการกับความซับซ้อนของการตั้งค่า AppArmor หรือ SELinux เพื่อป้องกัน
Mike Rowave


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

คำตอบ:


29

ใช่มันเป็นเรื่องจริง หากคุณถูกโจมตีผ่านเบราว์เซอร์และผู้โจมตีสามารถเรียกใช้รหัสด้วยสิทธิ์ผู้ใช้ของคุณเขาสามารถลงทะเบียนโปรแกรมผ่านทาง GNOME หรือโปรแกรมเริ่มต้นอัตโนมัติแบบ KDE ซึ่งใช้โปรแกรมในการเข้าสู่ระบบ โปรแกรมใด ๆ สามารถรับรหัสสแกนของปุ่มกดใน X Window System มันแสดงให้เห็นได้อย่างง่ายดายด้วยคำสั่ง xinput ดูบล็อกโพสต์ในการแยก GUIสำหรับรายละเอียด


12

แนวคิดในวิดีโอนั้นเป็นของจริง 100% และรหัสนั้นง่ายมาก

ระบุรหัสคีย์บอร์ดของคุณด้วย: xinput --list

บันทึกการกดแป้นด้วย: xinput --test $id

จับคู่หมายเลขกับคีย์ด้วย: xmodmap -pke


11

ใช่มันเป็นไปได้
คุณสามารถทดลองใช้งานได้บนเครื่องของคุณเองด้วยซอฟต์แวร์ที่คล้ายกันLKL


มันน่ากลัวถ้ามันเป็นเรื่องจริง ฉันจะตั้งค่าเครื่องเสมือนที่ใช้ทดสอบ แต่ปริศนาต่อไปคือวิธีการตรวจจับมันทันทีหากมันติดตั้งตัวเองผ่านเบราว์เซอร์ที่ใช้ประโยชน์หรืออะไรทำนองนั้น
Mike Rowave

ฉันมีความรู้เล็กน้อยในพื้นที่ แต่wiki.ubuntu.com/SELinuxอาจช่วยได้ อย่าลังเลที่จะอัปเดตคำถามต้นฉบับพร้อมกับข้อค้นพบของคุณ : D
bbaja42

1
ยากที่จะพูดว่าหลอกลวงจริงหรือดูน้อยกว่ามันจากวิดีโอเพียงอย่างเดียว ฉันสามารถนึกถึงสถานที่ที่จะเริ่มต้นถ้าฉันต้องการสร้างวิดีโอเพื่อแสดงให้เห็นถึงช่องโหว่ขนาดใหญ่ (suid tricks, sudo timeouts, adulterated tools tools, ฯลฯ nauseum.) ไม่ว่า Linux จะโจมตีไม่ได้ โง่ แต่ไม่มีใครสามารถสรุปได้จากวิดีโอ Youtube
Andrew Lambert

@ ประหลาดใจกับจุดที่ถูกต้อง แต่อย่าลังเลที่จะติดตั้ง lkl และทดสอบบนเครื่องของคุณเอง
bbaja42

1
มันไม่ทำงาน ทำงานผลิตข้อผิดพลาดmake install cannot create regular file '/usr/local/bin/lkl': Permission deniedเล่นsudo make installไม่ได้ให้ข้อผิดพลาด แต่แล้วก็พยายามที่จะใช้จริง LKL Have to be root to perform a iopl()!ให้ข้อผิดพลาดอื่น
Mike Rowave

9

ฉันไม่ได้ดูวิดีโอดังนั้นฉันจึงตอบสนองต่อความประทับใจที่ฉันได้รับเกี่ยวกับสิ่งที่อ้างจากเธรด SU แทนที่จะเป็นวิดีโอที่คุณอ้างถึง

หากผู้โจมตีสามารถเรียกใช้รหัสบนเครื่องของคุณในฐานะผู้ใช้ของคุณจากนั้นพวกเขาสามารถเข้าสู่ระบบกดปุ่มของคุณ

เอ่อ แอปพลิเคชันทั้งหมดที่คุณใช้อยู่สามารถเข้าถึงการกดปุ่มของคุณ หากคุณกำลังพิมพ์สิ่งต่าง ๆ ในเว็บเบราว์เซอร์เว็บเบราว์เซอร์ของคุณสามารถเข้าถึงการกดปุ่มของคุณ

อ่าคุณพูด แต่สิ่งที่เกี่ยวกับการเข้าสู่ระบบกดปุ่มในโปรแกรมอื่น? ตราบใดที่แอปพลิเคชันอื่นกำลังทำงานบนเซิร์ฟเวอร์ X เดียวกันพวกเขายังคงสามารถเข้าสู่ระบบได้ X11 ไม่ได้พยายามแยกแอพพลิเคชั่น - นั่นไม่ใช่งาน X11 อนุญาตให้โปรแกรมกำหนดทางลัดส่วนกลางซึ่งมีประโยชน์สำหรับวิธีการป้อนข้อมูลเพื่อกำหนดมาโคร ฯลฯ

หากผู้โจมตีสามารถเรียกใช้รหัสในฐานะผู้ใช้ของคุณเขาสามารถอ่านและแก้ไขไฟล์ของคุณและก่อให้เกิดอันตรายอื่น ๆ ได้

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

Keylogger สามารถล็อกคีย์ที่กดโดยผู้ใช้ที่ติดไวรัส (อย่างน้อยตราบใดที่ผู้ใช้ที่ติดไวรัสไม่ได้พิมพ์รหัสผ่าน sudo)



"ไม่อนุญาตให้ผู้โจมตีเรียกใช้รหัสบนเครื่องของคุณ" เป็นรูปแบบการรักษาความปลอดภัยที่ยอดเยี่ยม ... ฉันคิดว่า Windows จะปลอดภัยอย่างสมบูรณ์แบบเมื่อผู้ใช้ Linux ใช้งานแล้ว (ซึ่งแน่นอนว่าจะไม่ "อนุญาตให้ผู้โจมตีเรียกใช้รหัส") ...
gbr

3

เป็นไปได้ 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) แต่ฉันยังไม่ได้เผยแพร่ หากคุณต้องการข้อมูลเพิ่มเติมโปรดติดต่อฉัน


คำถามที่ว่า "ไม่รูตหรือ sudo" ผู้โจมตีจะแก้ไขโปรแกรม/binโดยไม่มีสิทธิ์ได้อย่างไร
G-Man กล่าวว่า 'Reinstate Monica'

0

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


คุณกำลังบิดคำ อาจเป็นไปได้ที่จะติดตั้งซอฟต์แวร์ลงในไดเรกทอรีระบบโดยไม่ต้องรัน suหรือsudoแต่การใช้ประโยชน์จากการเลื่อนระดับสิทธิ์จะให้สิทธิ์ผู้โจมตีรูท - aka "superuser" หรือสิทธิ์ "su"
G-Man กล่าวว่า 'Reinstate Monica'

0

เพื่อวัตถุประสงค์ในการทดสอบฉันสร้าง keylogger TTY ซึ่งสามารถแนบกับ tty ของผู้ใช้แบบไดนามิกและโปรแกรมไม่จำเป็นต้องติดตั้งโดย root และสามารถใช้กับบัญชีใด ๆ เมื่อแนบแล้วมันจะบันทึกอินพุตที่ตรงกับรูปแบบที่กำหนดในบรรทัดคำสั่งเมื่อโปรแกรมเริ่มทำงาน


-3

เป็นไปได้กับระบบเช่น Crunchbang (Debian based distro) เพียงเพิ่มสิทธิ์ให้กับไฟล์ sudoersโดยใช้ nano visudo ในเทอร์มินัลและเพิ่ม keylogger ไปยัง autostartเช่น logkeys สำหรับ Linux เช่น logkeys --start --output /home/user/.secret / log

โชคดี


5
จำเป็นต้องมีสิทธิ์รูตหรือ sudo เพื่อแก้ไขไฟล์ sudoers
Mike Rowave
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.