정의

  • 정보통신시스템에 대한 비인가 된 행위 또는 위협의 발생을 의미

특징

  • 대규모 : 동시에 다수의 시스템을 공격
  • 분산화 : 다수의 공격 시스템을 통해 목표시스템을 공격
  • 범죄적 성향 : 금전적 이익, 산업정보 침탈, 정치적 목적 등

종류

  • 불법 침입, 탈취, 경유
  • 자료의 유출, 변조, 삭제
  • 불법자료 저장
  • 서비스 방해

대응의 필요성

  • 최근 APT 공격으로 인해 침해사고가 빈번하게 발생하고 있어, 그에 대한 적절한 대응 및 분석 기법의 적용이 필요

로그분석

※ 리버스쉘 : 목표 대상 시스템의 취약점을 이용하여 쉘 세션을 시작한 다음 피해자의 컴퓨터에 액세스

 

1. 각 로그 확인

 

2. 프로세스 파일 - /var/www/upload/editor/image/reverse.php라는 파일을 실행한 것을 확인 가능

PID - 5244

-> reverse.php에서 cmd 명령어를 입력받을 것으로 추측됨

 

3. 액세스 로그 파일 - cmd=을 검색

-> 인자가 인코딩된 것을 확인

 

4. 맨 마지막 명령어 디코딩하면 다음과 같고 악성 파일을 실행한 것으로 보임

php -f /var/www/upload/editor/image/reverse.php6

-> 공격자 주소는 112.216.97.29

-> 시간은 20120825172640

메모리 포렌식

volatility : python 기반의 메모리 포렌식 툴(프레임워크), windows, linux, mac os에서 실행 가능, 플러그인 형태로 다양한 기능들을 제공하는데 직접 만들어서 사용 가능, python 2.7 버전 사용

cmd에서 volatility 폴더로 이동

python setup.py build

python vol.py -h (정상동작 및 플러그인 확인)

python vol.py -f(파일명 지정 옵션) data.vmem imageinfo -> 덤프파일의 이미지 정보를 분석, 명령어를 사용할 때 프로파일명이 필요하니 알아두어야 함(보통 sp 버전이 가장 큰 것을 사용)

python vol.py -f data.vmem --profile=Win2008R2SP1x64 pstree

일단 wininit은 운영체제를 위한 기본 프로세스라 이를 제외하면 아래 3가지 정도가 의심됨

netscan, cmdscan, iehistory, mftparser에서도 의심되는 내용 확인(내용이 많으면 >로 파일화)

mft(master file table) : ntfs 파일시스템 상에서 메타데이터를 지니고 있음

의심되는 프로세스의 실행 파일을 추출해서 악성코드인지 확인 필요

python vol.py -f data.vmem --profile =Win2008R2SP1x64 filescan | findstr "SkypeC2AutoUpd"

해당 메모리 주소를 이용해 프로그램을 복구

python vol.py -f data.vmem --profile =Win2008R2SP1x64 dumfiles -Q 메모리주소 -D ./ -> 현재 파일에 .dat 확장자로 파일 복구

복구된 파일을 바이러스 토탈에 업로드해 확인

바이러스 토탈 : 파일이 악성코드인지 확인 https://www.virustotal.com/gui/home/upload

악성 코드 감지 확인 가능

해당 실행 파일을 실행할 때 사용하는 다른 파일이 있는지 확인(ex. dll 파일)

dll(dynamic link library) : 라이브러리 파일을 참조하여 기능을 호출할 때 사용

python vol.py -f data.vmem --profile =Win2008R2SP1x64 filescan | findstr "Local\Temp"

avicap32.dll을 복구해서 바이러스 토탈에 업로드

python vol.py -f data.vmem --profile=Win2008R2SP1x64 dumpfiles -Q 0x00000000059f8bd0 -D ./

trojan 확인

리눅스 서버 침해사고 분석

CVE는 공개적으로 알려진 컴퓨터 보안 결함 목록, MITRE Corporation에서 감독

가장 먼저 해볼건 로그와 스케줄러 확인

vim /var/log/apache2/access.log

sql 인젝션 시도 확인 가능 -> 공격자 ip : 192.168.127.131

https://wpscan.com/vulnerability/f9f78241-8911-485e-9e18-a3da1096220c/ 에서 해당 인젝션의 CVE 넘버 확인 가능

취약 함수 확인

해커가 수정한 파일 목록을 필터링 하기 위해서 access.log에서 공격 시작 시간과 종료 시간을 이름으로 하는 파일 생성

touch -t 201606070453.26 start

touch -t 201606070538.39 end

find / -newer start -a ! -newer end >> sum.txt

수정된 파일을 하나씩 확인

index.php

마지막 행에서 파일을 실행하는 것을 확인

wp-content.php

파일이 암호화 되어있음

동작을 확인하기 위해 백그라운드로 실행하고 네트워크 확인

syn 패킷을 66.6.43.21:80으로 전송하는 것을 확인

좀비 PC화 하여 ddos 공격을 행하는 것으로 추정

윈도우 침해사고 분석

가장 먼저 확인해볼거는 log와 스케줄러

로그는 내용이 많으니 스케줄러부터 확인

mtsfocom.exe 파일을 실행하는 내용 확인

파일탐색기 - c드라이브 - mtsfocom.exe 검색 - immunity debugger에 드래그 - 오른쪽 클릭 - search for - all referenced text string - ip 및 경로 확인

immunity debugger : 멀웨어를 분석하고 바이너리 파일을 리버스 엔지니어링하는 디버거 도구