Kök veya sudo olmadan Linux keylogger! Bu gerçek mi?


29

Youtube’da birileri Ubuntu’da ne yürütüldüğünü ne de kök olarak yüklendiğini belirten bir keylogger olduğunu iddia ediyor. Aşağıdaki link çalışmanın bir demosunu göstermektedir.

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

Aksine iddialarını rağmen, bu kişi video için göstermeden önce kök olarak kurulmuş olabilir. Kurulum ya da uygulama için root olmadan bunun gerçekten mümkün olduğuna dair başka herhangi bir yarı güvenilir kanıt var mı?

GÜNCELLEME: 24 Haziran cevabında referans verilen yazılım sudo / root olmadan kurulmaz. Düzenli kullanıcı ayrıcalıklarıyla kurulabilen ve çalıştırılabilen çalışan bir Linux keylogger yazılımına bağlantı verenlere bir ödül ekledim.


Bunun X seviyesinde kolayca yapılabileceğine inanıyorum. Sadece küresel kısayolları olan programları düşünün.
Denis Nikolaenko

X pencere sistemi keylogger'larını önlemek için, SELinux for X'i uygulamanız gerekir. Bildiğim kadarıyla, hiçbir Linux dağıtımı kutudan yayıldı. nsa.gov/research/_files/selinux/papers/x11/t1.shtml
Denis Nikolaenko

Gerçek çalışma örneklerinden haberin var mı? İlk elden çalıştığını görmeden şüpheliyim. Ve bir keylogger'ın sudo / root ayrıcalıkları olmadan kurulmasının gerçekten mümkün olduğunu bilmeden, buna karşı savunmak için AppArmor veya SELinux kurmanın karmaşıklığı ile uğraşmaya değmez.
Mike Rowave


3
Lütfen cevabınızdaki videonun önemli noktalarını özetleyiniz. Silinebilir veya sunucu kullanılamayabilir. (Evet, gönderdiğim gibi, Youtube kapalı.) Ziyaretçilerin sorunuzun ne hakkında olduğunu bulmak için bir video izlemesini istemek de oldukça kabaca.
Gilles 'SO- kötülükten vazgeç'

Yanıtlar:


29

Evet, gerçek. Bir tarayıcı aracılığıyla yararlanıldıysanız ve bir saldırgan kullanıcı ayrıcalıklarınızla kod çalıştırabilirse, oturum açma sırasında programları çalıştıran GNOME veya KDE otomatik başlatma olanakları aracılığıyla bir program kaydedebilir. Herhangi bir program, X Pencere Sisteminde basılan tuşların tarama kodlarını alabilir. Xinput komutu ile kolayca gösterilebilir. Ayrıntılar için GUI yalıtımı hakkındaki blog gönderisine bakın.


12

Bu videodaki konsept% 100 gerçektir ve kod çok basittir.

Klavye kimliğinizi şununla tanımlayın: xinput --list

Tuş vuruşlarını aşağıdakilerle giriş yapın: xinput --test $id

Rakamlarla anahtarların sayılarını eşleştir: xmodmap -pke


11

Evet mümkün.
Benzer yazılımı ile kendi makinenizde deneyebilirsiniz .


Gerçekse korkutucu. Bunu test etmek için bir sanal makine kuracağım. Fakat bir sonraki bulmaca, kendini bir şekilde bir tarayıcıdan yararlanma ya da onun gibi bir şeyle kurması durumunda hemen nasıl tespit edebileceği ya da en azından proaktif bir şekilde çalışırsa internete bir şey iletmesini engellemektir.
Mike Rowave

Alanda çok az bilgim var, ancak wiki.ubuntu.com/SELinux size yardımcı olabilir. Özgün soruyu bulgularınızla güncellemekten çekinmeyin. : D
bbaja42

1
Söylemek zor, gerçek veya ondan daha az tek bir videodan görünüyor. Devasa bir güvenlik açığı (suid hileleri, sudo zaman aşımları, sıyrılmış sistem araçları, vb reklam müzesi) gösteren bir video yapmak istesem başlayacağım yerleri zaten düşünebilirim. aptalca. Ancak, Youtube videolarına dayalı sonuçlar çıkarılmamaktadır.
Andrew Lambert,

@Amazed geçerli nokta, ancak kendi makinenizde lkl yüklemek ve test etmek için çekinmeyin.
bbaja42

1
İşe yaramadı. Koşu make installhatayı üretti cannot create regular file '/usr/local/bin/lkl': Permission denied. Koşmak sudo make installhata vermedi, ama sonra aslında lkl'yi çalıştırmaya çalışmak başka bir hata verdi Have to be root to perform a iopl()!.
Mike Rowave,

9

Videoyu izlemedim, bu yüzden alıntı yaptığınız videodan ziyade SU dizisinden ne iddia ettiği hakkında aldığım izlenimine cevap veriyorum.

Bir saldırgan makinenizde kullanıcı olarak kod çalıştırabilirse, tuşlara basmanız da mümkündür.

Şey Çalıştırdığınız tüm uygulamaların tuşlara erişiminiz var. Web tarayıcınıza bir şeyler yazıyorsanız, web tarayıcınız tuşlara basabilir.

Ah, diyorsunuz, peki ya başka bir uygulamadaki tuş basmalarına ne dersiniz? Diğer uygulama aynı X sunucusunda çalıştığı sürece, hala kaydedilebilirler. X11 uygulamaları izole etmeye çalışmıyor - bu onun işi değil. X11, programların makroları vb. Tanımlamak için giriş yöntemleri için yararlı olan global kısayolları tanımlamasını sağlar.

Saldırgan, kullanıcı olarak kod çalıştırabilirse, dosyalarınızı da okuyabilir ve değiştirebilir ve her türlü başka zararlara neden olabilir.

Bu bir tehdit değil. Bir çalışma sisteminin normal beklentilerinin bir parçası. Bir saldırganın makinenizde kod çalıştırmasına izin verirseniz, makineniz artık güvenli değildir. Sanki ön kapınızı açıp bir balta katilinin içeri girmesine izin vermek gibi bir şey: o zaman ikiye bölünürseniz, ön kapınız güvensiz olduğundan dolayı değil.

Keylogger yalnızca virüslü kullanıcı tarafından basılan tuşları kaydedebilir. (En azından virüslü kullanıcı sudo şifresini yazmadığı sürece.)


Bkz Tevrat 1. .
Iszi

"Bir saldırganın makinenizde kod çalıştırmasına izin vermemek" harika bir güvenlik modelidir ... Sanırım bir Linux kullanıcısı tarafından kullanıldığında Windows tam olarak güvende olur (kim bir saldırganın "kod çalıştırmasına izin vermez") ...
gbr

3

% 100 mümkündür. Ttys / ptys (metin modu) için en kolay yol, / bin / {ba, da, a} sh (örneğin, ikinci bir .code segmenti, RX) 'e bir şim eklemek ve giriş noktasını değiştirmek (ELF kadar) virüs olur). Buna erişimin engellenmesi, bu durumda, çok basit bir hipotetik model olarak ~ / .profile veya ~ / .bashrc (vb.) Olarak değişiklik yapılabilir:

exec ~ / .malicious_programme

söz konusu kötü niyetli programı gizlemek için dinamik paylaşılan nesne kodunu yükleyebilir (örnek: .profile dosyasının okunmasına ve değiştirilmesine izin verin, ancak satırı gizleyin. Ve / veya programı gizleyin.)

Birisi, fd'nin FD_CLOEXEC ile işaretlenmediğini farz ederek fd_CLOEXEC 'in işaretli olmadığını varsayarak, çatallı bir kabuktaki bütün girdileri kaydetmek için UNIX98 pty (7) sistemini veya hatta basitçe boruyu (2) kullanabilir.

X11'de, kdm / gdm / xdm setuid kökü olarak çalıştırılsa da (veya yeteneklerdeki karşılığı [[setcap (8)]] veya varsayılan olarak kullanmıyorsanız kullandığınız güvenlik modeline bakın), işler açıkça daha karmaşık hale gelir. Kişi ayrıcalıkları yükseltebiliyorsa? iopl (2) veya ioperm (2), x86 üzerindeki 0x60 / 0x64 klavye bağlantı noktalarına doğrudan erişimle hayatı oldukça kolaylaştırır. Yapamayacağınızı varsaydığımızdan, alternatif bir rota aramalıyız. Birkaç tanesini biliyorum, ancak bunun nasıl mümkün olduğu ve ara yüzlerin katılımıyla ilgili bir tez istediğinizden emin değilim.

Tabii ki, 3. halka, süper kullanıcı olmayan truva atları, * nix'te, işlemin izolasyonuna rağmen, kullanıcı modu daemon'ların, örneğin metin sağlaması için özellikler ekleyen çeşitli sorunların (özellikle X ile) bir sonucu olarak oldukça mümkündür. sistemin güvenliğinden ödün vermeyen tüm uygulamalar için konuşma desteği. Ben zaten ttysnoops (son kullanma tarihi geçmiş olan) benzer şekilde çalışan bir ana hatlarını belirttim ve kök gerektirmez. Bu durum için örnek kodum var (X'in içindeki terminalleri içerecektir), ancak henüz yayınlamadım. Daha fazla bilgi istiyorsanız, lütfen benimle temas kurmaktan çekinmeyin.


Soru "kök veya sudo olmadan" diyor. Saldırgan bir programı /binimtiyazsız olarak nasıl değiştirir ?
G-Man

0

Evet, yazılımı su veya sudo ayrıcalıkları olmadan kurmak mümkündür; ancak, bu genellikle bir ayrıcalık yükselişinden faydalandığı halde yapılır. Bu video, keylogger'ın yetenekleri konusunda oldukça iyi bir iş çıkarsa da, keylogger kurulumunda biraz ayrıntı bırakıyor. Burada biraz kandırmaca olabilir, ancak yalnızca videodan anlatmak zor.


Kelimeleri çeviriyorsun. Yazılımı çalıştırmadan su veya sistem dizini içerisine kurmak mümkün olmayabilir sudo, ancak bir ayrıcalık yükselmesi, saldırganın kök ayrıcalığını - aka "süper kullanıcı" veya "su" ayrıcalığını verir.
G-Man

0

Test amacıyla, kullanıcının tty'lerine dinamik olarak bağlanabilen ve programın root tarafından yüklenmesi gerekmeyen ve herhangi bir hesap tarafından kullanılabilen bir TTY keylogger'ı oluşturdum. Eklendikten sonra, program başladığında komut satırında verilen modelle eşleşen girişleri kaydeder.


-3

Crunchbang (Debian tabanlı dağıtım) gibi sistemlerde sudoers dosyasına sadece terminalde nano visudo kullanarak izinler eklemek ve Linux için logkeys gibi otomatik başlatmaya keylogger eklemek , örneğin logkeys --start --output /home/user/.secret mümkündür. / log

İyi şanslar


5
Sudoers dosyasını düzenlemek için kök veya sudo ayrıcalığı gerekir.
Mike Rowave
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.