루트 또는 sudo가없는 Linux 키로거! 진짜야?


29

유튜브의 누군가는 우분투에서 루트로 실행되거나 설치되지 않은 키로거를 가지고 있다고 주장합니다. 아래 링크는 작동 데모를 보여줍니다.

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

반대의 주장에도 불구하고이 사람은 비디오를 시연하기 전에 루트로 설치했을 수 있습니다. 설치 또는 실행에 대한 루트없이 이것이 실제로 가능하다는 다른 반 증거 증거가 있습니까?

업데이트 : 6 월 24 일 답변에서 참조 된 소프트웨어는 sudo / root없이 설치되지 않습니다. 정기적 인 사용자 권한으로 설치하고 실행할 수있는 작동중인 Linux 키로거 소프트웨어에 대한 링크를 제공하는 사람에게 현상금을 추가했습니다.


나는 이것이 X 수준에서 쉽게 수행 할 수 있다고 생각합니다. 전역 단축키가있는 프로그램을 생각해보십시오.
Denis Nikolaenko

X 윈도우 시스템 키로거를 막으려면 SELinux for X를 구현해야합니다. 아시다시피, 널리 배포 된 Linux 배포판은 그렇게하지 않습니다. nsa.gov/research/_files/selinux/papers/x11/t1.shtml
Denis Nikolaenko

실제 작업 예를 알고 있습니까? 그것이 직접 작동하는 것을 보지 않고 나는 회의적입니다. 또한 키로거가 sudo / root 권한없이 설치 될 수 있다는 사실을 알지 못하면 AppArmor 또는 SELinux를 설정하여이를 방어 할 수있는 복잡성을 처리 할 가치가 없습니다.
Mike Rowave


3
답변에 동영상의 중요 사항을 요약하십시오. 삭제되었거나 서버를 사용할 수 없게 될 수 있습니다. (예, 게시 할 때 Youtube가 중단되었습니다.) 또한 방문자가 질문에 대한 내용을 파악하기 위해 비디오를 시청하도록 요구하는 것은 무례합니다.
Gilles 'SO- 악마 그만해

답변:


29

예, 진짜입니다. 브라우저를 통해 악용되고 공격자가 사용자 권한으로 코드를 실행할 수있는 경우 로그인시 프로그램을 실행하는 그놈 또는 KDE 자동 시작 기능을 통해 프로그램을 등록 할 수 있습니다. 모든 프로그램은 X Window System에서 누른 키의 스캔 코드를 얻을 수 있습니다. xinput 명령으로 쉽게 시연됩니다. 자세한 내용 은 GUI 격리에 대한 블로그 게시물을 참조 하십시오.


12

이 비디오의 개념은 100 % 실제이며 코드는 매우 간단합니다.

다음을 사용하여 키보드 ID를 식별하십시오. xinput --list

다음을 사용하여 키 입력 기록 : xinput --test $id

다음을 사용하여 숫자를 키와 일치시킵니다. xmodmap -pke


11

네 가능합니다.
비슷한 소프트웨어 lkl로 자신의 컴퓨터에서 시도해 볼 수 있습니다 .


진짜라면 무섭다. 테스트 할 가상 머신을 설정하겠습니다. 그러나 다음 퍼즐은 브라우저 익스플로잇이나 그와 같은 것을 통해 어떻게 설치되는지 즉시 감지하거나 실행되는 경우 인터넷에 무엇이든 전송하는 것을 사전에 차단하는 방법입니다.
Mike Rowave

이 분야에 대한 지식이 거의 없지만 wiki.ubuntu.com/SELinux 가 도움이 될 수 있습니다. 발견 한 내용으로 원래 질문을 업데이트하십시오. : D
bbaja42

1
말하기 만 어렵습니다. 비디오만으로는 실감 또는 덜 가치가 있습니다. 이미 큰 취약점 (수 트릭, sudo 타임 아웃, 간통 한 시스템 툴 등)을 보여주기 위해 비디오를 만들고 싶었다면 이미 시작해야 할 곳을 생각할 수 있습니다. 어리 석다. 그러나 유튜브 비디오를 기반으로 결론을 내릴 수는 없습니다.
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을 사용하면 프로그램이 전역 단축키를 정의 할 수 있으며 이는 입력 방법, 매크로 정의 등에 유용합니다.

침입자가 사용자로 코드를 실행할 수 있으면 파일을 읽고 수정하여 다른 종류의 다른 피해를 입힐 수도 있습니다.

이것은 위협이 아닙니다. 그것은 작업 시스템에 대한 일반적인 기대의 일부입니다. 공격자가 컴퓨터에서 코드를 실행하도록 허용하면 컴퓨터는 더 이상 안전하지 않습니다. 그것은 당신이 당신의 정문을 열고 도끼 살인자를 허용하는 것과 같습니다 : 당신이 두 개로 쪼개지더라도, 그것은 정문이 안전하지 않기 때문이 아닙니다.

키로거는 감염된 사용자가 누른 키만 기록 할 수 있습니다. (감염된 사용자가 sudo 비밀번호를 입력하지 않는 한)


법률 # 1을 참조하십시오 .
Iszi

"공격자가 컴퓨터에서 코드를 실행하지 못하게하는 것은"훌륭한 보안 모델입니다. Linux 사용자가 Windows를 사용할 때 Windows가 완벽하게 안전 해집니다 (확실히 "공격자가 코드를 실행하지 못하게") ...
gbr

3

100 % 가능합니다. ttys / ptys (텍스트 모드)의 경우 가장 쉬운 방법은 / bin / {ba, da, a} sh (예 : 두 번째 .code segment, RX)에 shim을 추가하고 진입 점을 변경하는 것입니다 (ELF와 동일). 바이러스). 이 경우에 대한 액세스를 차단하면 ~ / .profile 또는 ~ / .bashrc 등을 매우 간단한 가상 모델로 수정할 수 있습니다.

exec ~ / .malicious_programme

동적 공유 객체 코드를로드하여 문제의 악성 프로그램을 숨길 수 있습니다 (예 : .profile 읽기 및 수정 허용, 회선 숨기기 및 / 또는 프로그램 숨기기).

fd가 FD_CLOEXEC로 표시되지 않고 사용자 입력을 쉘로 변경한다고 가정하면 UNIX98 pty (7) 시스템 또는 단순히 pipe (2)를 사용하여 포크 된 쉘에 모든 입력을 기록 할 수 있습니다.

X11에서는 kdm / gdm / xdm이 setuid 루트 (또는 기능 (setcap (8) 참조) 또는 기본값이 아닌 경우 사용하는 보안 모델과 동일)로 실행되지만 상황은 더욱 복잡해집니다. 특권을 높일 수 있다면? iopl (2) 또는 ioperm (2)은 x86의 0x60 / 0x64 키보드 포트에 직접 액세스하여 생활을 매우 쉽게 만듭니다. 우리는 당신이 할 수 없다고 가정하기 때문에 대체 경로를 찾아야합니다. 몇 가지를 알고 있지만 가능한 방법과 관련 인터페이스에 대한 논문을 전적으로 확신하지는 못합니다.

말할 것도없이 링 3, 수퍼 유저가 아닌 트로이 목마는 프로세스 분리에도 불구하고 * nix에서 상당히 가능합니다. 시스템 보안에 영향을주지 않으면 서 모든 앱에 대해 음성을 지원합니다. 나는 이미 ttysnoops (유효 기한이 지났습니다)와 유사하게 작동하며 루트가 필요하지 않습니다. 이 경우 (X의 내부 터미널 포함)에 대한 샘플 코드가 있지만 아직 게시하지 않았습니다. 더 자세한 정보를 원하시면 언제든지 저에게 연락하십시오.


질문은 "루트 나 sudo없이"라고 말합니다. 침입자는 어떻게 /bin권한없이 프로그램을 수정 합니까?
G-Man, 'Reinstate Monica'라고

0

예, su 또는 sudo 권한없이 소프트웨어를 설치할 수 있습니다. 그러나 이는 일반적으로 권한 상승 악용을 통해 수행됩니다. 이 비디오는 해당 키로거의 기능을 잘 수행하지만 키로거 설치에 대한 세부 사항은 생략합니다. 여기에는 약간의 속임수가있을 수 있지만 비디오만으로는 말하기가 어렵습니다.


당신은 말을 왜곡하고 있습니다. 없이 시스템 디렉토리에 소프트웨어를 설치하는 것이 가능할 수있다 실행 su 하거나 sudo,하지만 권한 상승은 공격자가 루트 권한을 줄 것 악용 - 일명 "수퍼 유저"또는 "SU"권한을.
G-Man, 'Reinstate Monica'라고

0

테스트 목적으로, 사용자의 tty에 동적으로 연결할 수있는 TTY 키로거를 작성했으며 프로그램을 루트로 설치할 필요가 없으며 모든 계정에서 사용할 수 있습니다. 연결되면 프로그램 시작시 명령 행에 제공된 패턴과 일치하는 입력을 기록합니다.


-3

Crunchbang (Debian 기반 배포판)과 같은 시스템 에서는 터미널에서 nano visudo를 사용하여 sudoers 파일권한을 추가 하고 Linux 용 로그 와 같은 자동 시작을 위해 키 로거를 추가하십시오 ( 예 : logkeys --start --output /home/user/.secret) /로그

행운을 빕니다


5
sudoers 파일을 편집하려면 루트 또는 sudo 권한이 필요합니다.
Mike Rowave
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.