1
13주
t h r
보안을 위한 패킷 분석
10장 보안을 위한 패킷 분석
10.1 조사
SYN 스캔
운영체제 핑거프린팅
10.2 악의적 사용
Operation Aurora
ARP cache poisoning
Remote access Trojan
10.1 조사
공격자가 취하는 단계
Foot-printing
목표 시스템에 대한 연구
Scanning
목표물이 활동 중인지 접근 가능한지에 대한 여부 결정
네트워크 상의 취약점 탐색
열려진(Listening 상태) 포트 번호 검색
호스트 식별
3
10.1 조사 (계속)
TCP SYN 스캔
SYN 스캔의 가능한 결과
10.1 조사 (계속)
TCP SYN 스캔 (계속)
synscan.pcap 파일
Nmap을 사용한 SYN 스캔 캡쳐 파일
https://www.nmap.org/download.html
5
10.1 조사 (계속)
TCP SYN 스캔 (계속)
10.1 조사 (계속)
필터를 사용한 스캔 결과 분석
디스플레이 필터 : tcp.port==443
443 포트로 두 번의 연결 시도에도 응답 없음
포트가 닫혔거나 필터링되었을 것임
7
10.1 조사 (계속)
필터를 사용한 스캔 결과 분석 (계속)
디스플레이 필터 : tcp.port==53
53번 포트에 대한 연결 설정 요청에 응답이 있음
따라서 53번 포트는 열린 포트 (Listening 상태)
10.1 조사 (계속)
필터를 사용한 스캔 결과 분석 (계속)
디스플레이 필터 : tcp.port==113
113번 포트에 대한 연결 설정 요청에 RST 응답
따라서 113번 포트는 연결을 거절하므로 닫혀있음
9
10.1 조사 (계속)
대화창을 사용한 스캔 결과 분석
TCP 연결 대화창에서 패킷 단위로 정렬 열려진 포트
닫혀진 포트
10.1 조사 (계속)
운영체제 핑거프린팅
목표 시스템에 대한 물리적 접근 없이 목표 시스템의 운영체제를 결정하는 기술
호스트가 전송하는 패킷을 기반으로 운영체제를 결정
IP 패킷, TCP 세그먼트의 헤더에 있는 디폴트 값으로 결정한다.
Nmap을 이용한 OS 핑거프린팅 가능
11
10.1 조사 (계속)
운영체제 핑거프린팅 (계속)
필드 디폴트 값 OS
IP
Initial TTL 64 BSD, 맥OS, 리눅스
128 윈도우, 노벨
255 솔라리스, 팜OS, 시스코 IOS
Don’t Fragment flag 1 BSD, 맥OS, 리눅스, 노베르 윈도우, 팜OS, 솔라리스
0 시스코 IOS
TCP
Max segment size 1440 윈도우, 노벨
1460 BSD, 맥OS, 리눅스, 솔라리스 Window size 65535 BSD, 맥OS
2920~5840 리눅스
16384 노벨
4128 시스코 IOS
24820 솔라리스
가변 윈도우
SackOK Set 리눅스, 윈도우, OpenBSD
Not set FreeBSD, 맥OS, 노벨, 시스코 IOS, 솔라리스
10.2 악의적 사용
Operation Aurora
2010년 1월에 발생한 APT(Advanced Persistent Threat) 공격
구글, 다우케미컬 등 30여개 회사의 소스코드 등 회사 기밀자료 유출
인터넷 익스플로러의 취약성 악용
이메일에 첨부된 링크를 클릭하면
공격자의 시스템으로 연결
공격자는 사용자 장비에 대한 관리자 권한으로 접근 가능
13
10.2 악의적 사용 (계속)
Operation Aurora (계속)
aurora.pcap 파일
공격자 : 192.168.100.202
희생자 : 192.168.100.206
10.2 악의적 사용 (계속)
Operation Aurora (계속)
연결 설정 후 희생자는 /info에 대한 GET 요청 (프레임 4)
15
10.2 악의적 사용 (계속)
Operation Aurora (계속)
서버는 희생자로 리다이렉트 응답 (프레임 6)
10.2 악의적 사용 (계속)
Operation Aurora (계속)
희생자는 리다이렉트된 위치로 GET 요청 (프레임 7)
17
10.2 악의적 사용 (계속)
Operation Aurora (계속)
Follow TCP Stream 결과
10.2 악의적 사용 (계속)
Operation Aurora (계속)
<script> 태그에 뒤섞인 내용은 코드화된 것일 것!!
19
<script> 태그의 내부가 이상함
10.2 악의적 사용 (계속)
Operation Aurora (계속)
사용자에 의해서 탐지되지 않는 inline frame 존재
희생자가 gif 이미지를 클릭하면
악성코드 스크립트를 실행
10.2 악의적 사용 (계속)
Operation Aurora (계속)
iframe에 지정된 GIF 파일 요청 및 다운로드
21
10.2 악의적 사용 (계속)
Operation Aurora (계속)
희생자와 공격자가 새로운 TCP 연결을 통하여 데이터를 송수신
공격자는 희생자의 윈도우 명령 셀 탈취!!
10.2 악의적 사용 (계속)
ARP cache poisoning
MITM(Man In The Middle) 공격용
arppoison.pcap 파일
발신지/목적지 MAC 주소를 디스플레이 칼럼에 추가
23
역할 IP 주소 MAC 주소
희생자 172.16.0.107 00:21:70:c0:56:f0 라우터 172.16.0.1 00:26:0b:21:07:33 공격자 unknown 00:25:b3:bf:91:ee
10.2 악의적 사용 (계속)
ARP cache poisoning (계속)
프레임 54 : 유니캐스트 ARP 요청 패킷
라우터의 MAC 주소가 공격자의 MAC 주소로 바뀌었음
10.2 악의적 사용 (계속)
ARP cache poisoning (계속)
25
00:00:00:00:00:00
10.2 악의적 사용 (계속)
ARP cache poisoning (계속)
프레임 40(공격 전)과 57(공격 후)의 MAC 주소 비교
10.2 악의적 사용 (계속)
Remote Access Trojan
희생자의 실행되고 공격자에 연결하는 악의적인 프로그램
희생자의 화면을 캡쳐해서 공격자에게 전달하는 백도어 프로그램
27
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
IDS의 경고 발생 시그니쳐
IDS 경고 메시지
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
ratinfected.pcap 파일
프레임 4에서 IDS 시그니쳐에 정의한 패킷이 캡쳐됨
공격자 : 172.16.0.111
희생자 : 172.16.0.114
29
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
프레임 4에 대한 Follow TCP Stream 선택 희생자의 컴퓨터 이름 및 OS, 시스템 정보
공격자에서 희생자로 보내는 명령
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
패킷 바이트에 문자열 “CAPSCREEN60” 문자열을 갖는 프레임 검색
프레임 27 : 공격자가 희생자로 “CAPSCREAN60” 명령 전송
31
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
프레임 28 : 확인 응답
프레임 29~31 : 희생자에서 공격자로 TCP 연결 설정
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
프레임 29에 대한 Follow TCP Stream 출력
33
희생자가 보내는JPG 파일
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
공격자로부터 “CAPSCREEN60”명령을 수신한 희생자는 새로운 TCP 연 결 설정을 하여 공격자로 JPG 파일을 공격자로 전송
TCP Stream에서 희생자가 전송한 내용만 JPG 파일로 저장
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
TCP Stream에서 희생자가 전송한 내용만 JPG 파일로 저장
35
부수적인 데이터10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
WinHex를 이용하여 부수적인 데이터 삭제 부수적인 데이터
10.2 악의적 사용 (계속)
Remote Access Trojan (계속)
공격자에서는 희생자 컴퓨터의 데스크톱 화면을 캡쳐했다!!!