본문 바로가기
기타

[linux] 채굴되던 서버 트러블 슈팅(프로세스 kill 안됨)

by Rainbound-IT 2024. 4. 18.
반응형

 

목차

     

    시연용으로 vm을 외부에 열어 놓은 상태 였다.

     

    증상

    출처: https://blog.csdn.net/weixin_44606690/article/details/135385380

    이상하게 별거 안올렸는데 웹서버가 버벅거렸다.

    모니터링 해보니 cpu 가 500%, 600% 를 차지하고 있었다.

    별로 사용도 안하여 한번 시연하고 vm을 전원끈 상태로 두었다.

     

     

    원인 파악

    그러다가 다시 시연한다고 하셔서 vm을 열었는데 똑같이 cpu 리소스를 500~600% 찍는 것이었다.

    프로세스를 확인해보니 test 계정에서 .v12zx890d 이런 파일이 실행되고 있었다.(.을 파일명앞에 두어 숨김처리가 되어있다.)

    구성만 내가 해줘서 어떻게 관리되는지 몰라 관계자 분들에게 문의해보니 모르신다고 하셨다.

     

    그래서 우선 킬을 해보기로 했다.

    그런데 킬을 하니  다른 파일이름으로 다시 실행이 되는것이었다.

     

    여기서 부터 좀 뭔가 이상하다는 느낌을 받아서

    해당 실행파일의 경로를 자세히 살펴보았다.

    /tmp/ 경로에서 실행되고 있었으며 단독으로 실행되고 있었다.

    열어보니 바이너리라 자세히 볼수조차 없었다.

     

    너무 이상해서 실행하고 있던 test 계정의  crontab을 살펴보니 이상한게 실행되고 있었다.

    출처: https://blog.csdn.net/weixin_44606690/article/details/135385380

     

    해당 crontab을 삭제 및 주석 처리를 했는데 바로 다시 원상복구가 되버렸다.

     

     

    파일 경로를 .으로 숨김처리를 해놓았다.

     

     

     파일의 경로로 들어가서 해당 파일이름으로 검색해보니 위와 같이 나왔다.

    kthreads kintegrides kdevtemp

    kthreads는 커널 스레드를 컨트롤 하는 것 같아 보이지만 vi 편집기로 확인해보면 바이너리로 처리되어잇다.

    해당 파일이름을 검색해보니 채굴 바이러스라는게 확인이 되었다.

     

     

    트러블슈팅

    채굴 바이러스라고 하여 즉각 삭제하기로 했다.

    하지만 프로세스가 떠 있는 상태라 삭제가 되지 않았다.

     

    test계정이 실행하고있는 프로세스를 동시에 종료하기로 했다.

    ps -ef|grep test |awk '{print $2}'|xargs kill -9

     

    그리고 바로 test 계정을 삭제 하였다.

    이후 리소스 및 프로세스를 확인해보니 정상적으로 동작하였다.

     

    이후 추가 조치는 두가지가 있는데

    하나는 포맷

    두번째는 백신 검사이다.

     

    원인은 두가지인데 비정상적인 소프트웨어 설치, 네트워크 보안문제 이다.

    소프트웨어를 올바른경로에서 받아 설치해야하고 네트워크의 경우는 방화벽을 좀더 세세하게 설정해야 한다.

     

     

     

     

     

     

    Reference

     

    https://blog.csdn.net/weixin_44606690/article/details/135385380

     

    https://askubuntu.com/questions/1225410/my-ubuntu-server-has-been-infected-by-a-virus-kdevtmpfsi

     

    My Ubuntu server has been infected by a virus kdevtmpfsi

    My Ubuntu server has been infected by a virus kdevtmpfsi, I have already done serveral steps to solve this problem, like all of these: https://github.com/docker-library/redis/issues/217. But it is...

    askubuntu.com

     

     

    반응형

    댓글