정보보안 - 윈도우 사고 초기분석

윈도우 침해사고 초기분석

  • 초기분석 : 현재 피해시스템의 상황을 빠른 시간 안에 파악한다. (포렌식 툴을 사용하지 않는다는 가정 / 커맨드에서 실행)
    • 시스템 시간 확인
      • 공격자가 시스템 시간을 변경할 수 있음
      • date /T, time /T 등의 명령어 사용
      • uptime : 시스템의 부팅시간 정보를 알려줌 (추가 다운로드 필요-sysinternals.com)
    • 시스템 정보
      • psinfo -h -s : OS 기본정보, 보안 업데이트 정보, 설치된 S/W 정보 (추가 다운로드 필요-sysinternals.com)
    • 프로세스 정보 확인 (휘발성 증거)
      • 공격자가 실행시킨 악성프로그램 확인
        • 실행 프로세스명
        • 프로세스 실행 파일 위치
        • 프로세스 커맨드라인
        • 프로세스 실행시간
        • 프로세스 가 참조하고 있는 DLL 및 기타 파일
      • pslist 명령어사용 (추가 다운로드 필요-sysinternals.com)
        • 현재 구동중인 프로세스 목록 조회
        • 프로세스 실행시간 확인
        • -t : 트리구조 옵션 (자식프로세스)
      • 정상적인 윈도우 프로세스인지 확인하기 위한 용도
        • 흔히 볼수 없었던 프로세스명은 악성코드일 확률이 있음
        • 정상파일로 위장을 해서 악성프로그램 실행을 하는 경우 실행파일 위치를 확인해야 함
      • 프로그램들이 사용하는 DLL 을 자세히 점검할 필요가 있음
        • listdlls (추가 다운로드 필요-sysinternals.com) : dll 경로, 사이즈, 버전정보
          • 프로세스들이 사용하는 DLL 정보 출력
      • handle 명령어 사용 (추가 다운로드 필요-sysinternals.com)
        • 악성 봇 프로그램 같은 경우 프로세스가 참조하는 파일(설정파일 등)을 출력해야 함
    • 네트워크 정보 확인 (휘발성 증거) - 공격자의 흔적 추적
      • 피해시스템의 네트워크 정보
      • 서비스를 열고 있는 어플리케이션 정보
      • 서비스에 연결되어 있는 세션 정보
      • ipconfig /all 명령어 사용 - IP 확인
      • netstat -an
        • 프로토콜의 상태 확인
        • IP 기반의 네트워크 연결 정보 확인
        • 현재 열려있는 포트
        • 포트에 연결되어 있는 IP 정보
        • 시스템이 사용하지 않는 포트가 LISTENING 상태로 있는지 확인
          • telnet 이나 nc 등의 명령어로 어떤 어플리케이션이 해당 포트를 구동중인지 확인
      • fpont (추가 다운로드 필요-foundstone.com)
        • 해당 포트에서 사용하고 있는 프로세스 확인 가능
      • promiscdetect (추가 다운로드 필요 - tesecurity.nu)
        • NIC 카드가 promisc 인지 확인 필요 (스니핑, 모니터링 여부)
    • 사용자/그룹 확인
      • 공격자에 의해서 추가된 유저나 그룹이 있는지 확인
        • net user : 시스템에 존재하는 모든 계정 출력
        • net localgroup : 시스템에 있는 모든 그룹정보 출력
    • 공유, 로그인 정보 확인
      • net : 시스템의 공유 정보, 현재 로그인되어 있는 사용자 정보 확인
      • nbtstat : NBT (Net Bios) 에 의해서 연결된 정보를 확인
        • NBT (Net Bios over TCP/IP)
          • TCP/IP 사용 기기의 고유 IP주소가 있으면 통신이 가능
          • Windows OS 의 경우 NetBios 기술을 사용
            • NetBios 의 이름 (컴퓨터 이름) 을 IP 보다 더 중요하게 사용
            • NETBIOS 는 네트워크 통신을 위한 기본적인 명령어 세트
            • BIOS : Basic Input Output System
          • NetBIOS 의 기능
            • 컴퓨터 이름(네트워크 참여 시 식별자 이름) 등록/해제 (이름 삭제를 통한 네트워크 이탈)
            • 세션 서비스 - Session 지향 (1:1통신) 의 통신서비스 제공 (22:10)
            • 데이터그램 서비스 - Datagram 지향 (상대에게 일방적으로 데이터를 보냄) 의 통신서비스 제공
          • NetBIOS 통신
            • NetBIOS 이름 등록 (네트워크 참여)
              • 중앙집중식 네트워크 관리서버가 존재하지 않음
              • 시스템이 켜지면 시스템이 가지고 있는 컴퓨터 이름을 Broadcasting
                • Network 상의 모든 컴퓨터에 통보
                • 이름 충돌이 없으면 사용
            • NetBIOS 이름을 사용해서 통신상대를 식별, 통신 패킷을 송신
            • 시스템 종료시 NetBIOS 이름 삭제 (네트워크 이탈)
          • 예전에는 순수한 NetBIOS 인터페이스를 사용하였으나 최근에는 컴퓨터 이름으로 사용
          • nbtstat -c : NBT에 연결된 세션정보 출력
      • 윈도우 감사정책이 설정되어 있는 경우 ntlast (추가다운로드-foundstone.com) 명령어 사용
        • 로그인/로그오프 성공, 실패 여부 확인
        • ntlast -f : 원격 접속 로그정보 출력
      • net share : 시스템 공유정보 출력
      • net session : 공유자원에 접속된 컴퓨터 정보 출력
  • Batch 스크립트를 만들어 결과를 파일로 저장하거나 자동화된 도구를 사용

댓글남기기