커피닉스, 시스템 엔지니어의 쉼터
  Linux/OSF-8759 웜 바이러스 치료 예 작성일 : 2003/08/26 21:46
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 9071
     
    제  목 : Linux/OSF-8759 웜 바이러스 치료 예
    작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2003.8.26(화)

    아는 분의 서버에 이상현상이 있다고 하여 확인해봤는데,
    ps 했을 때 ls가 계속 띄워져있었다. 또한  netstat -aunp했을 때 UDP 3049 포트도 열려
    있었다. 바로 Linux/OSF-8759 (웜)바이러스가 동작하고 있던 것이다.
    색다른 경험의 시작이었다.

    Linux/OSF-8759 바이러스의 특징은
    - UDP 3049 포트 또는 그 이상의 포트를 백도어로 열어두고
    - ELF 실행파일을 감염하며, 파일 크기를 8759bytes 증가 시킨다.
    - "ps"로 끝나는 파일은 감염시키지 않는다. <- 문제 해결의 핵심이 될 수 있음
       virus scanner, detector의 파일명은 ps 로 끝나도록 해라
    - uptime이 5분 이내일 경우에는 바이러스가 동작하지 않는다.
       정확히 5분이 지나면 3049 포트가 열린다.
    ---------------------------------------------------------------
    # netstat -aunp
    Proto Recv-Q Send-Q Local Address      Foreign Address     State     PID/Program name
    ... 생략 ...
    udp        0      0 0.0.0.0:3049       0.0.0.0:*                     32133/ls
    ... 생략 ...
    ---------------------------------------------------------------

    kill -9 32133 을 해도 또다시 ls, netstat 등의 프로그램에 의해 해당 포트가 열렸다.

    1) 우선 AntiVir를 설치해서 스캐닝해보았다.
       그런데 antivir 를 실행하는 순간 211 오류를 발생하면서 종료되었다.
       즉, ls 나 mv, cp 등의 명령이 이미 걸려있는 상태이므로 /usr/lib/AntiVir 디렉토리
       에서 ls만 해도 antivir까지 감염된 것이다.

       조심스럽게 다시 설치하고 antivir --allfiles -s /

       엄청난 개수의 실행파일(/bin, /usr/bin, /sbin, /usr/sbin 의 거의 모든 파일)이
       걸려있었다.

    ---------------------------------------------------------------
    # antivir --allfiles -s /
    AntiVir / Linux Version 2.0.8-1
    Copyright (C) 1994-2003 by H+BEDV Datentechnik GmbH.
    All rights reserved.

    Loading /usr/lib/AntiVir/antivir.vdf ...
    ... 생략 ...

    /bin/ln
    Date:  9.08.2001  Time: 22:01:19  Size: 29107
    ALERT: [Linux/OSF-8759 virus] /bin/ln <<< Contains signature of the Linux virus Linux/OSF-8759

    /bin/ls
    Date:  9.08.2001  Time: 22:01:19  Size: 54707
    ALERT: [Linux/OSF-8759 virus] /bin/ls <<< Contains signature of the Linux virus Linux/OSF-8759
    ... 생략 ...
    ---------------------------------------------------------------
      
       antivir --allfiles -s -e / 로 치료를 하려 했으나 정상적으로 되지 않았다.

    2) 그래서 Linux/OSF-8759 전용 크리너로 치료 하기로 했다.

       http://packetstormsecurity.nl/trojans/clean-osf.8759.tgz

    ---------------------------------------------------------------
    # tar xvfz clean-osf.8759.tgz
    # cd clean-osf.8759
    # ./clean-osf.8759-ps

    *** Linux/OSF-8759 Virus Cleaner
    *** by Druid
    *** Greetz: vMatriCS + Casper & the other Dionis admins

    ./clean-osf.8759-ps: no targets specified

    Scan a list of files/dirs for the Linux/OSF-8759 virus
    and desinfect them if the virus is found

    Usage: ./clean-osf.8759-ps [-s] [-v] [-r] [-l] [-f] [-x] [-p] path...
    -s     Don't clean, just report infected files
    -v     Prompt when a virus is found
    -r     Don't recurse directories
    -l     Follow symbolic links
    -f     Don't go on other filesystems
    -x     Scan only executable files (+x)
    -p     Don't skip special dirs (/dev, /proc)
    ---------------------------------------------------------------

       ./clean-osf.8759-ps -v /bin 로 정상치료하는지 테스트.
       완벽하게 치료하는 것을 확인 후에 전체 파일시스템을 치료했다.

    ---------------------------------------------------------------
    # ./c-ps -v /bin

    *** Linux/OSF-8759 Virus Cleaner
    *** by Druid
    *** Greetz: vMatriCS + Casper & the other Dionis admins

    Scanning: /bin
    Infected: /bin/ping
    Clean (Yes / No / clean All / Clean none / eXit) ? a
    Infected: /bin/ping - DISINFECTED
    Infected: /bin/mail - DISINFECTED
    Infected: /bin/mktemp - DISINFECTED
    Infected: /bin/hostname - DISINFECTED
    Infected: /bin/netstat - DISINFECTED
    ... 생략 ...

    Scan ended

    ***** Scan Results *****

    Your system was infected with Linux/OSF/8759!
    Thanks to this proggy the virus was removed ;)

    Directories :      1
    Files       :     70
    Infected    :     68
    Cleaned     :     68
    Unknown     :      0
    ---------------------------------------------------------------

    3) 여러 번의 치료와
       OSF-8759 전용 크리너와 antivir으로 재차 확인하여 파일은 완벽하게 치료되었다.
       netstat -aunp로 UDP 3049 포트를 사용하는 프로세스는 kill 하였다.



    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=39