lsattr에 출력이 없는 이유와 해결 방법

lsattr에 출력이 없는 이유와 해결 방법

정상적인 출력 lsattr은 다음과 같습니다

# lsattr /etc/fstab 
---------------- /etc/fstab

하지만 호스트가 있고 실행하면 lsattr아래와 같이 출력이 표시되지 않습니다. 여기에 이미지 설명을 입력하세요.

내 OS 버전은 입니다 centos 7.9.2009. e2fsprogs-1.42.9-19.el7.x86_64를 다시 설치했지만 무력해 보입니다.

/usr/sbin/sshd내가 이것을 발견한 이유는 삭제나 복사와 같은 작업을 수행할 수 없기 때문입니다 . 이로 인해 sshd 서비스를 다시 설치할 수 없습니다.

여기에 이미지 설명을 입력하세요.

다음은 openssh-server 설치 시 발생하는 오류입니다. 여기에 이미지 설명을 입력하세요.

나는 strace /usr/sbin/sshd잘못된 시스템인 ob01에서 실행 중이고 출력은 다음과 같습니다.

[root@ob01 ~]# strace lsattr /usr/sbin/sshd
execve("/bin/lsattr", ["lsattr", "/usr/sbin/sshd"], 0x7ffd56518b68 /* 17 vars */) = 0
brk(NULL)                               = 0x945000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb10a84a000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=34304, ...}) = 0
mmap(NULL, 34304, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb10a841000
close(3)                                = 0
open("/lib64/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\316\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=174576, ...}) = 0
mmap(NULL, 2268928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb10a400000
mprotect(0x7fb10a425000, 2097152, PROT_NONE) = 0
mmap(0x7fb10a625000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fb10a625000
close(3)                                = 0
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=19248, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb10a1fc000
mprotect(0x7fb10a1fe000, 2097152, PROT_NONE) = 0
mmap(0x7fb10a3fe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fb10a3fe000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`&\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2156592, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb10a840000
mmap(NULL, 3985920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb109e2e000
mprotect(0x7fb109ff2000, 2093056, PROT_NONE) = 0
mmap(0x7fb10a1f1000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c3000) = 0x7fb10a1f1000
mmap(0x7fb10a1f7000, 16896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb10a1f7000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb10a83e000
arch_prctl(ARCH_SET_FS, 0x7fb10a83e740) = 0
access("/etc/sysconfig/strcasecmp-nonascii", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/sysconfig/strcasecmp-nonascii", F_OK) = -1 ENOENT (No such file or directory)
mprotect(0x7fb10a1f1000, 16384, PROT_READ) = 0
mprotect(0x7fb10a3fe000, 4096, PROT_READ) = 0
mprotect(0x7fb10a625000, 16384, PROT_READ) = 0
mprotect(0x6dd000, 4096, PROT_READ)     = 0
mprotect(0x7fb10a84b000, 4096, PROT_READ) = 0
munmap(0x7fb10a841000, 34304)           = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/dev/tty", O_RDWR|O_NONBLOCK)     = 3
close(3)                                = 0
brk(NULL)                               = 0x945000
brk(0x966000)                           = 0x966000
brk(NULL)                               = 0x966000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106176928, ...}) = 0
mmap(NULL, 106176928, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb1038eb000
close(3)                                = 0
brk(NULL)                               = 0x966000
getuid()                                = 0
getgid()                                = 0
geteuid()                               = 0
getegid()                               = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb10a849000
read(3, "MemTotal:       263972636 kB\nMem"..., 1024) = 1024
close(3)                                = 0
munmap(0x7fb10a849000, 4096)            = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fb109e64400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fb109e64400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fb109e64400}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fb109e64400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fb109e64400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fb109e64400}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fb109e64400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fb109e64400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fb109e64400}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fb109e64400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fb109e64400}, 8) = 0
uname({sysname="Linux", nodename="ob01", ...}) = 0
stat("/root", {st_mode=S_IFDIR|0550, st_size=4096, ...}) = 0
stat(".", {st_mode=S_IFDIR|0550, st_size=4096, ...}) = 0
getpid()                                = 28390
open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=26970, ...}) = 0
mmap(NULL, 26970, PROT_READ, MAP_SHARED, 3, 0) = 0x7fb10a843000
close(3)                                = 0
getppid()                               = 28383
getpgrp()                               = 28383
rt_sigaction(SIGCHLD, {sa_handler=0x4414a0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fb109e64400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fb109e64400}, 8) = 0
getrlimit(RLIMIT_NPROC, {rlim_cur=640*1024, rlim_max=640*1024}) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/bin/lsattr", O_RDONLY)           = 3
ioctl(3, TCGETS, 0x7fff7292e310)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "#!/bin/sh\n", 80)              = 10
lseek(3, 0, SEEK_SET)                   = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=640*1024, rlim_max=640*1024}) = 0
fcntl(255, F_GETFD)                     = -1 EBADF (Bad file descriptor)
dup2(3, 255)                            = 255
close(3)                                = 0
fcntl(255, F_SETFD, FD_CLOEXEC)         = 0
fcntl(255, F_GETFL)                     = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(255, {st_mode=S_IFREG|0755, st_size=10, ...}) = 0
lseek(255, 0, SEEK_CUR)                 = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(255, "#!/bin/sh\n", 10)            = 10
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(255, "", 10)                       = 0
exit_group(0)                           = ?
+++ exited with 0 +++

좋은 시스템 출력은 다음과 같습니다

[root@ob03 ~]#  strace lsattr /usr/sbin/sshd 
execve("/usr/bin/lsattr", ["lsattr", "/usr/sbin/sshd"], 0x7ffcd663f778 /* 21 vars */) = 0
brk(NULL)                               = 0x246d000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f742d042000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=26333, ...}) = 0
mmap(NULL, 26333, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f742d03b000
close(3)                                = 0
open("/lib64/libe2p.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\37\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=33704, ...}) = 0
mmap(NULL, 2128240, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f742cc1a000
mprotect(0x7f742cc21000, 2093056, PROT_NONE) = 0
mmap(0x7f742ce20000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f742ce20000
close(3)                                = 0
open("/lib64/libcom_err.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\25\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=15856, ...}) = 0
mmap(NULL, 2109928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f742ca16000
mprotect(0x7f742ca19000, 2093056, PROT_NONE) = 0
mmap(0x7f742cc18000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f742cc18000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`&\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2156592, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f742d03a000
mmap(NULL, 3985920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f742c648000
mprotect(0x7f742c80c000, 2093056, PROT_NONE) = 0
mmap(0x7f742ca0b000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c3000) = 0x7f742ca0b000
mmap(0x7f742ca11000, 16896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f742ca11000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200m\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=142144, ...}) = 0
mmap(NULL, 2208904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f742c42c000
mprotect(0x7f742c443000, 2093056, PROT_NONE) = 0
mmap(0x7f742c642000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f742c642000
mmap(0x7f742c644000, 13448, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f742c644000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f742d039000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f742d037000
arch_prctl(ARCH_SET_FS, 0x7f742d037740) = 0
access("/etc/sysconfig/strcasecmp-nonascii", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/sysconfig/strcasecmp-nonascii", F_OK) = -1 ENOENT (No such file or directory)
mprotect(0x7f742ca0b000, 16384, PROT_READ) = 0
mprotect(0x7f742c642000, 4096, PROT_READ) = 0
mprotect(0x7f742cc18000, 4096, PROT_READ) = 0
mprotect(0x7f742ce20000, 4096, PROT_READ) = 0
mprotect(0x601000, 4096, PROT_READ)     = 0
mprotect(0x7f742d043000, 4096, PROT_READ) = 0
munmap(0x7f742d03b000, 26333)           = 0
set_tid_address(0x7f742d037a10)         = 6671
set_robust_list(0x7f742d037a20, 24)     = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7f742c432860, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f742c43b630}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7f742c4328f0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f742c43b630}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=10240*1024}) = 0
brk(NULL)                               = 0x246d000
brk(0x248e000)                          = 0x248e000
brk(NULL)                               = 0x248e000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106176928, ...}) = 0
mmap(NULL, 106176928, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7425ee9000
close(3)                                = 0
lstat("/usr/sbin/sshd", {st_mode=S_IFREG|0755, st_size=852856, ...}) = 0
lstat("/usr/sbin/sshd", {st_mode=S_IFREG|0755, st_size=852856, ...}) = 0
open("/usr/sbin/sshd", O_RDONLY|O_NONBLOCK) = 3
ioctl(3, FS_IOC_GETFLAGS, 0x7ffdd67d6c3c) = 0
close(3)                                = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f742d041000
write(1, "---------------- /usr/sbin/sshd\n", 32---------------- /usr/sbin/sshd
) = 32
exit_group(0)                           = ?
+++ exited with 0 +++

이 상황과 해결 방법에 대한 아이디어가 있는 사람이 있나요?

최고의 소원.

답변1

open("/bin/lsattr", O_RDONLY)           = 3
ioctl(3, TCGETS, 0x7fff7292e310)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "#!/bin/sh\n", 80)              = 10

/bin/lsattr"나쁜" 시스템의 스크립트로 대체된 것 같습니다 . 이 줄은 처음 10바이트가 이제 /bin/lsattr임을 알려줍니다 #!/bin/sh<newline>.

dup2(3, 255)                            = 255
close(3)                                = 0
fcntl(255, F_SETFD, FD_CLOEXEC)         = 0
fcntl(255, F_GETFL)                     = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(255, {st_mode=S_IFREG|0755, st_size=10, ...}) = 0

크기는 /bin/lsattr정확히 10바이트로 보이므로 실제 스크립트는 /bin/lsattr기본적으로 아무것도 하지 않는 빈 스크립트로 대체된 것처럼 보입니다. 상태가 좋지 않은 것 같습니다.

귀하의 시스템이 손상되었을 수 있습니다. 소프트웨어 패키지가 침입자에게 입력된 비밀번호의 사본을 보낼 수 있는 백도어 패키지로 교체되었을 /usr/sbin/sshd수 있으며, 단순히 백도어를 제거하기 더 어렵게 만들기 위해 교체가 이루어졌을 수도 있습니다. 기타 불법적인 수정이 있을 수 있습니다.openssh-serverlsattr

이 경우, 가능한 한 빨리 시스템을 네트워크에서 분리하고 확인해야 합니다.이 질문은 정보 보안.SE에 관한 것입니다.추가 조언을 원하시면.

간단히 말해서, 해당 시스템에 로그인하는 데 사용하는 모든 비밀번호는 손상된 것으로 간주해야 합니다. 이 시스템에서 사용된 사용자 이름+비밀번호 쌍이 다른 곳에서 사용되는 경우 즉시 변경해야 합니다.

그런 다음 해당 시스템의 중요한 데이터를 백업한 다음 완전히 포맷하고 다시 설치해야 합니다. 진실. 침입자는 시스템을 "정리"하려고 시도하더라도 시스템이 작동하고 시스템에 대한 액세스를 더 쉽게 다시 얻을 수 있도록 시스템을 여러 가지 수정했을 수 있습니다.

이전 백업(위험)에서 이 시스템을 복원하는 경우 백업에 아직 침입자가 수정한 내용이 없는지 주의 깊게 확인한 다음 사용 가능한 모든 시스템을 설치할 때까지 복원된 시스템에 인터넷에서 액세스할 수 없는지 확인해야 합니다. 설치된 모든 패키지의 무결성을 업데이트하고 확인합니다.

답변2

귀하의 버전(그리고 내 버전은 Debian Bookworm의 lsattr 1.47.0(2023년 2월 5일))가능한-a 스위치(또는 다른 스위치)가 필요합니다.

root@debian:~# lsattr /Hitachi/
root@debian:~#

root@debian:~# lsattr -a /Hitachi/
----i---------e------- /Hitachi/.
--------------e------- /Hitachi/..

관련 정보