아래와 같은 메시지가 계속 나타나는데 왜일까요?
글쓴이: hanseok / 작성시간: 금, 2003/08/22 - 12:31오전
Quote:
Message from syslogd@os at Fri Aug 22 00:25:00 2003 ...
os last message repeated 3 times
root로 접속했더니.. 이런 메시지가 계속 나타나고 있습니다.
이것이 왜 나타나는지 궁금합니다.
Forums:
syslogd가 rootkit에 감염 되었습니다. 아마 ls, ps, n
syslogd가 rootkit에 감염 되었습니다. 아마 ls, ps, netstat 등등의
파일도 다 감염되어 있을 것 같습니다. comando 라는 사용자가
추가 되진 않았나요? 백도어가 /usr/lib/locale/ro_RO/uboot에
설치되어 있을 가능성이 있습니다. ls로는 보이지 않으니 한번 확인해
보시기 바랍니다.
대처방법은 데이터를 백업하고 새로 설치하는 겁니다.
배포판이 레드햇 7.x가 아닌가 궁금합니다.
어떻게 해야하나요?
ls 로 보이지 않는데 어떻게 확인이 가능한가요?
/etc/passwd 파일을 확인해 본결과 comando라는 사용자는 없습니다.
레드햇 7.3 입니다.
새로운 대처방안은 없나요? 새로운 설치 이외에.. 방법
잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..
만약 해킹이라면.. 데이터 백업받고 다시 설치하는게 속 편합니다.그런
만약 해킹이라면.. 데이터 백업받고 다시 설치하는게 속 편합니다.
그런데 사정상 그렇게 할 수 없다면...
래드햇 패키중에 ls, ps.. 등과 같은 유틸들을 모아놓은게 있을겁니다.
그걸 다시 설치하시고 ps 등으로 확인해보시면 의심가는 프로세스가 있을지도 모르겠네요.
그리고 rpm 명령중에 최근에 변경된 패키지들을 찾아내는 옵션이 있습니다.
그걸로 어떤 프로그램이 교체되었는지 확인 해보세요.
래드햇 사이트 가시면 버전별로 알려진 보안문제를 정리해놓은곳이 있습니다.
한번 탐독하세요.. 업데이트 할껀 업데이트하시고... 원래 그 놈들 특성상
보안버그가 있는 s/w는 자기가 업데이트 해놓고 가고 그러지만... -_-;
이런일을 쉽게 해주는 툴이 있었던걸로 기억되는데 써 본적이 없어서..;
전 딱 한번 해킹당해본적이 있는데 몇년전입니다. 망할놈이 개인PC를 해킹해서
뭘 어쩔려고.. 근데 history가 남겨져 있는걸 발견해서 뭔 짓을 했는지
쉽게 알수 있었습니다. root 디렉토리엔 가짜 history가 있었고
진짜 history파일은 다른곳에 숨겨져 있었거든요. -_-
만약 제가 생각하는 rootkit이 맞다면 ls로는 안보여도 보이지
만약 제가 생각하는 rootkit이 맞다면 ls로는 안보여도
보이지 않는 그 디렉토리로 이동이 가능할 겁니다. 아마도 몇개의
파일이 있는걸 볼 수 있을 겁니다.
bluemoon님 말씀처럼 rpm명령어에 패키지 무결성 체크 옵션으로
실행시켜 확인하던지, 혹은 다른 시스템의 ps파일이나 netstat등의 파일을
가져와서 확인해보시면 알 수 있을겁니다.
침입자가 다른 무슨 짓을 했을지 모르기 때문에 데이터 백업후
최신 배포판(아무거나)으로 설치하는것이 좋습니다.
답변에 감사드리면서 조금더 조언을 부탁드립니다.
해킹인줄도 모르고 왜 그런 메시지가 나타나는지도 모르고 그냥 2틀이나 지내고 있었으니..~~
일단 7.3 패키지를 업데이트 시키는 작업을 했습니다. up2date
그러는 중 ls 명령어도 업데이트 되는지 ls 명령어를 바꾸는중 에러를 내면서 업데이트가 안되는군요?
그래서 /bin 아래 ls를 ls.old로 바꾸어 볼려고 mv 명령을 실행하니..
명령을 수행할수 없다고 나오더군요?
업데이트시 만들어 놓은듯한 ls;~~~ 이런 파일이 있어서
이것을 가지고 ls로 만들려고 했지만 바꿀수가 없었습니다.
다음으로 ps를 가지고 찾기로 햇는데 역시 아무런 이상이 없는 듯 보여서
다른 서버의 ps실행파일을 가지고 와서
./ps -aux > ps1.txt 을 수행해서 ps 를 검토해 보니..
/sbin/xc -d 가 오염된 ps에는 나타나지 않는 프로세스가 있네요..
cd /sbin
에서 ls(오염된) -al | grep xc 아무것도 나타나지 않았습니다.
ls(오염안된) -al | grep xc
3개의 파일이 나타납니다.
mv를 통해서 파일명을 변경했습니다.
그리고 리부팅을 시켰습니다.
===== 11: 57 현재 ========
부팅이 되면 다시 업데이트를 돌려볼 생각입니다.
최근 변경된 패키지를 찾아내는 옵션..?
보안버그 있는 것을 고쳐서 업데이트 하게되면 그 것은 업데이트가 안되데 되는것인가요?
root의 history를 어떻게 다른곳에 숨겨두는징~~ ^^;
조금더 부탁드리겠습니다.
잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..
ls를 변경시키지를 못합니다. 어떻게 해야하나요?
ls 명령어를 다른 이름으로 바꾸고 업데이트를 실행해야 할것 같은데
mv ls ls.hack
mv: cannot unlink `ls': 명령이 허용되지 않음
mv: cannot remove `ls': 명령이 허용되지 않음
이와 같이 나타나네요.
mv도 .. 오염인가?
다른 파일이 이것을 link하고 있어서 지우지 못하는 것이군요?
링크한것을 어떻게 찾아야하나.. 쩝. 이방법을 모르겠네요.. 쩝
잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..
루트킷...
파일의 unlink가 안되는건..
아마 chattr로 수정불가/삭제불가 상태로 만들었던 걸껍니다. 이경우 역시 chattr로 풀어줄 수 있습니다.
그리고 루트킷이 설치하면..
대개는 재부팅 이후에도 루트킷 구동에 필요한 모듈등이 올라가라고 rc.sysinit나 rc.local에 스크립트를 실행할 명령줄을 추가하는 경우가 다반사입니다.
rc.local하고 rc.sysinit 등에서 자기가 평소에 보지 못했던 명령어줄이 있는지 검사해보시길 바랍니다.
(이러한 현상이 있기 때문에, /etc의 파일들의 md5 스트링을 체크해서 백업받아놓는것도 꽤 괜찮은 방법입니다. 뭐 tripwire가 이것 이상을 체크하긴 해줍니다만.)
LKM루트킷이면 모듈이 하나두개가 올라가야하는것이 아니니, 그 스크립트가 계속 이어지는 형태로 되어 있을껍니다. 이걸 따라가면 제거하시는데 도움이 될껍니다.
/lib/modules 에도, 자기가 컴파일하지 않았던 모듈이 있는지 확인해보는게 좋을것입니다.
루트킷 종류를 파악하는건 chkrootkit을 사용하시는게 좋을것입니다.
http://www.chkrootkit.org을 참고하시길 바랍니다.
어떠한 루트킷인지 알면 제거하기가 더욱 좋겠지요.
Re: 루트킷...
먼저 알려주셔서 감사합니다.
chattr 이것에 대한것은 생각을 못해봤습니다.
이 명령어도 굉장히 생소하구요?
lsattr 이런것도 있네요..
일단 /bin/ls
/usr/bin/ vdir, du, dir, killall, pstree, whereis 이것들이 모두 지울수 없는 속성이 붙어 있었습니다.
모두 속성을 떨어내고.. 업데이트를 완료했습니다.
/etc/rc.d 에 있는것은. 아직 찾지 를 못였네요.
root의 비밀번호를 바꾸었구요 일단.. 좀더 복잡하게..
tripwire
md5 에 대한 설명을 조금더 부탁드려도 괜찮겠습니까?
제가 지식이 없어서..
잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..
tripwire...
아래에 가서 읽어보시기 바랍니다. 기본적으로 rpm 도 -V (verify)를 통해서 패키지의 변경유무를 탐색할 수 있습니다.
물론 패키지가 아닌 소스컴파일로 설치한 프로그램들은 이렇게 못하죠. 갠적으로는 패키지로 설치하는게 여러모로 편리하죠. 정안되면 전 직접 만들어 버립니다... 오기로라도...ㅎㅎㅎ
두번째 링크에 tripwire있네요.
http://network.hanbitbook.co.kr/view_news_print.htm?serial=169
http://network.hanbitbook.co.kr/view_news_print.htm?serial=179
http://network.hanbitbook.co.kr/view_news_print.htm?serial=182
========================================
* The truth will set you free.
md5sum.. 무결성체크..
root 패스워드를 바꾸는것은 별 효용이 없습니다.
7.3의 옛날 기본 커널을 사용하셨다면 10의 8 9는 커널 ptrace 버그에 노출이 되어 있었을텐데..
이러한 보안 버그가 있는 패키지를 이용해서 root 권한으로 상승합니다.
업데이트 하셨다고 하는데.. 오염된 파일들이 업데이트 항목에서 제외되었을 경우도 빼놓을 수 없습니다. 이때는 해당 패키지를 재설치해주는것이 좋을껍니다.
sunyzero님께서 이미 언급하셨지만, 현재 설치되어 있는 rpm 패키지의 무결성 검사가 필요할껍니다. 특히 fileutils 패키지와 procps 패키지는 유심하게 살펴봐야 할껍니다.
나오는 결과에 대해 자세한것은 man rpm 해보시길 바랍니다. Verify 옵션 쪽에 아마 세부사항이 적혀있을것입니다. 특히 fileutils 패키지와 procps 패키지를 유심하게 살펴볼 필요가 있습니다.
ls라던지, 다른 fileutils 가 정상적으로 복구되었으면 숨겨져있던 파일들을 찾으실 필요가 있습니다. 찾아서 지워야죠. :)
(정히 찜찜하거나 무결성을 보증할 수 없는 경우, 갈아 엎어야 하겠지요..)
이때 nmap이나 netstat 등으로 Listening 중인 포트를 검사하는것도 빼놓으면 안되겠지요.
md5는 md5sum을 이용해 추출합니다. tripwire를 쓰기 싫어하는 경우에 대체품으로 쓸 수 있지요.
이것도 깨끗한 현재 상태에서 체크해놓고, 주기적으로 변동 사항이 있을때 검사해주면서 그 결과를 업데이트 하는 형식으로 사용하고 있습니다.
그냥 간단하게...
$ find /etc -type f -name "*" -exec md5sum {} \; > etc_`date +%Y%m%d%k%M`.md5
..이런식으로 md5 스트링을 백업받아놓으면 됩니다.
체크할때는
$ md5sum -c etc_date.md5
이런식으로 하면 되죠.댓글 달기