case Computer :

웹 서버 사고분석 체크리스트

거곰 2009. 3. 24. 20:56
    1. 사전조사
      A. 네트워크 구조 확인(관리자와 함께)
      - 네트워크 전체 구조 확인(구조도)
      - 네트워크/웹 방화벽 적용여부 확인
      - 운영 중인 서버 및 역할 확인(DB 서버 등)
      - 각 서버별 패스워드 설정 확인
      - DB 연결, 공유 연결 등 확인

      B.사고 이력 확인
       - 최초 사고 징후 확인 날짜 및 시간
       - 특이사항 및 조치항 확인

    2. 웹 점검
      A. 웹 구조 파일 및 설정 검사
       - 운영되고 있는 사이트들 확인(관리도구 -> IIS, apache, tomcat)
       - 로그 위치 및 홈 디렉터리 확인
       - 쓰기 권한 확인
       - 새로 추가된 가상 사이트 및 디렉터리 확인

      B. 로그 점검
       - 변조된 파일명으로 검색(침입확인 이전날짜부터 검사)
       - 공격 시그니처 검사
           * exec, char, cmd.exe, create, wscript.shell, ; 등
           * ../../, .inc 등
       - 시그니처 정보 추출(시그니처로 찾은 IP 접속 정보 추출)
       - 웹쉘 파일명으로 검색(웹쉘 접근한 IP 정보 추출)

      C. 취약점 점검
       - 로그 분석을 통해 취약점을 찾지 못한 경우(로그가 남아 있지 않은 경우)
       - SQL Injection
       - 파일 업/다운로드
       - 디렉터리 리스팅
       - XSS 공격, 쿠키 탈취 등

      D. DB점검
       - DB 사용자 확인(관리자 확인 필요)
           * 엔터프라이즈 관리자 / SA 계정 패스워드 확인
       - DB 테이블 확인
          * SQL Injection 도구 사용 시그니처 : D99_Tmp, cmd, ahcmd, xiao(pan), t_jiozhu, cmd_list 등
       - 최근에 생성된 테이블 확인

      E. 웹쉘 점검
       - 웹쉘 시그니쳐 점검(정규표현식 포함)
          * cmd.exe, [" ]+cmd.exe
          * IcxMarcos
          * Wscript.Shell, wscr.*\&.*ipt\.shell
          * Shell.Application, she.*&.*ll.application
          * CreateObject.*(.*wsc.*ell), CreateObject.*(.*she.*lication)
          * execute[ (]+session
          * execute[ (]+request
          * eval[ (]+request
          * language.*=.*(vbscript|jscript|javascript_\.encode
          * Marcos, hack520, lake2(웹쉘 제작자명)
       - asp 파일 외 기타 파일 확인
         * asa. inc, html 파일들 확인

    3. 시스템 점검
      A. 프로세스 확인
       - 악성코드 찾기
          * ProcessExplorerNt 실행
          * 프로세스명 확인  /프로그램 전체 경로 확인
          * 실행된 프로세스 중 패킹된 이미지 찾기(processExplorerNt의 heightlight 파란색)
          * image의 version, description, publisher 확인
       - 악성 DLL 확인
          * 각 프로세스에 인젝션된 DLL 확인
          * processExplorerNt의 heightlight 기능(.reloc 섹션에 로드된 DLL 노란색 체크)
       - 악성코드가 참조하는 파일들 확인
          * processExplorerNt.exe handle.exe를 통해 확인

      B. 네트워크 정보 확인
       - 네트워크 스니핑 도구를 통해 패킷 덤프 및 분석
          * 이더리얼, 이더피크 등 활용
       - Listening 포트 확인
       - 외부 연결 접속 시도 프로세스 확인
          * TCPView로 모니터링

      C. 자동시작 프로그램 확인
       - 서비스 점검
          * services.msc / Autoruns -> service
       - 레지스터 점검(로그인 자동시작)
          * Autoruns -> Logon
       - 기타 시작프로그램, 스케쥴링등
          * Autoruns -> scheduled Tasks
       - Winlogon Notification DLL 점검
          * Autoruns -> Winlogon
       - lexplorer BHO DLL 점검
          * Autoruns -> internet explorer
       - explorer에 Injection된 DLL 점검
          * autoruns -> explorer

      D.루트킷 점검
       - 숨겨진 프로세스 찾기
          * iceSword
       - 숨겨진 네트워크 포트 및 연결 찾기
       - 숨겨진 서비스(등록된 루트킷 확인
       - 숨겨진 시작프로그램(레지스트리)
       - 커널 SSDT 테이블 확인

      E. 파일 MAC 타임 점검
       - 악성코드와 같은 수정한[만든] 날짜 파일찾기
          * 검색 -> 자세한 날짜로 검색
       -  웹쉘과 같은 수정한[만든] 날짜 파일 찾기
       - 웹 로그 분석을 통해 찾은 해킹 날짜와 같은 수정한[만든] 날짜 파일 찾기
       - 확인된 DB 테이블 생성 날짜와ㅏ 같은 수정한[만든] 날짜 파일 찾기
       - 계정 생성 날짜와 같은 수정한[만든] 날짜 파일 찾기


      F. 이벤트 로그 확인
       - 보안감사 확인
          * 원격접속 기록
          * xp_cmdshell 같은 확장 프로시져 사용
       - 응용프로그램 로그 확인
          * SQL 서버 백업 로그 확인
       - 시스템 로그
          * FTP 로그 확인
       - 시스템 업데이트 확인
          * psinfo.exe -h -s를 동해 설치된 핫픽스 정보 확인
          * MS03-039 RPC DCOM2 취약점
          * MS04-031 NetDDE
          * MS04-011 LSASS 취야점
          * MS05-039 플러그 앤 플레이의 취약점
          * MS06-040 서버 서비스의 취약점
      - 시스템 계정 패스워드 확인
      - 공유취약점 확인(IPC$)
      - MS-SQL SA 계정 패스워드 확인
          * 시스템 취약점 확인

반응형