슈퍼유저가 키로깅을 통해 다른 사용자의 비밀번호를 훔칠 수 있나요?

슈퍼유저가 키로깅을 통해 다른 사용자의 비밀번호를 훔칠 수 있나요?

첫째, 내가 이미 알고 있는 정보가 포함된 답변을 얻기 전에, 예, 슈퍼유저가 비밀번호를 재설정할 수 있다는 것을 알고, 예, 슈퍼유저가 비밀번호를 몰라도 다른 사용자로 로그인할 수 있다는 것을 알고 있습니다.

또한 암호화된 비밀번호는 특수 프로그램을 사용하여 해독할 수 있다는 것도 알고 있습니다. 나는 아무것도 해독하지 않고 사용자가 입력한 일반 텍스트 비밀번호를 직접 얻는 것에 대해 이야기하고 있습니다.

물론 일반 키로거도 이 작업을 수행할 수 있다고 생각하지만 출력에는 비밀번호와 관련되지 않은 정크가 많이 있을 것이며 이러한 사용을 방지하기 위해 보안 기능이 내장되어 있을 수도 있습니다.

사용자가 비밀번호를 변경하고 정보가 암호화되기 전에 "가로채기"할 때 특별히 활성화되는 키로거를 컴퓨터에 루트가 배치할 수 있습니까? 그런 다음 이 정보를 루트 홈 디렉터리의 비밀 파일로 보낼 수 있습니다.

답변1

물론이죠.

수퍼유저는 사용자의 비밀번호( login, passwd, ...)를 읽는 프로그램을 해당 작업을 수행하고 비밀번호를 로그에 기록하는 버전으로 대체할 수 있습니다.

ls또한 슈퍼유저는 md5sum프로그램 작동 방식을 수정하는 커널로 커널을 교체하여 lsof수정된 프로그램이 일반 프로그램처럼 보인다고 보고하여 시스템 내부에서 수정되었음을 감지하는 것이 불가능하도록 할 수도 있습니다. 디스크 이미지를 보는 등 외부에서 자세히 관찰하면 수정 사항을 감지할 수 있습니다.

수퍼유저는 더 나아가 시스템 시작 시 악성 코드를 주입하기 위해 시스템의 주요 주변 장치 중 하나에 있는 특정 펌웨어를 수정할 수도 있습니다. 이는 상당히 높은 수준의 복잡성을 나타내지만 적어도 원칙적으로는 가능합니다.

컴퓨터 관리자를 신뢰할 수 없다면 거기에 비밀번호를 입력하지 마세요.

답변2

이는 사용자가 비밀번호를 변경하는 방법에 따라 다릅니다. 사용자가 단지 사용하고 있었다면 실제 바이너리를 손상된 등가물로 교체하는 것은 어렵지 않을 것입니다 passwd. 대부분의 사람들은 그것이 바이너리인지 쉘 스크립트인지 또는 합법적인 소스에서 나온 것인지 너무 많이 확인하는 습관이 없습니다. 그러나 결국 가장 중요한 것은 사용자는 자신이 가장 강력한 사용자이며 자신에게 속하지 않은 시스템을 100% 신뢰할 수 없다는 점을 이해해야 한다는 것입니다.rootpasswdpasswdroot

답변3

1-2-3처럼 간단합니다.

  1. 사용자가 사용 중인 셸의 소스 코드를 가져옵니다.
  2. 모든 내용이 기록되거나 이후 문자만 기록되도록 수정하세요.passwd
  3. 기존 쉘 컴파일 및 교체

답변4

이론적으로는 그렇습니다. 수퍼유저는 실행 중인 시스템의 모든 항목을 수정할 수 있습니다. 이는 또한 해시되기 전에 웹 사이트에 암호를 보내는 호출을 추가하는 등 커널 및 모든 로그인 관련 바이너리를 의미합니다.

사실, 당신이 지적했듯이 이것은 쓸모가 없기 때문에 이런 일은 아마도 결코 일어나지 않을 것입니다.

관련 정보