일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- union sql injection
- SANS
- 해커 팩토리
- 파일 다운로드 취약점
- ftz
- CTF-d
- Blind Sql Injection
- 네트워크 포렌식
- Burp Suite Intruder
- 부트스트랩
- 레나 튜토리얼
- 포렌식
- 테이블명 수집
- 해커팩토리 10번
- 웹해킹 실습
- 해커팩토리 8번
- 게시판 만들기
- 웹 해킹
- 시스템 해킹
- 디스크 포렌식
- 보안
- python flask
- 해커팩토리 7번
- 로그 분석
- 해커 팩토리 6번
- 리버싱 기초
- SQL Injection
- Burp Suite
- 리버싱
- 해커팩토리
- Today
- Total
Cha4SEr Security Study
[Sans Forensic Contest Puzzle #4] 문제풀이 본문
[Sans Forensic Contest Puzzle #4] 문제풀이
Cha4SEr 2019. 11. 27. 23:55Sans Forensic Contest Puzzle #4
문제 링크 : http://forensicscontest.com/2010/02/03/puzzle-4-the-curious-mr-x
Puzzle #4: The Curious Mr. X – Network Forensics Puzzle Contest
While a fugitive in Mexico, Mr. X remotely infiltrates the Arctic Nuclear Fusion Research Facility’s (ANFRF) lab subnet over the Interwebs. Virtually inside the facility (pivoting through a compromised system), he conducts some noisy network reconnaissance
forensicscontest.com
시나리오 :
While a fugitive in Mexico, Mr. X remotely infiltrates the Arctic Nuclear Fusion Research Facility’s (ANFRF) lab subnet over the Interwebs.
Virtually inside the facility (pivoting through a compromised system), he conducts some noisy network reconnaissance. Sadly, Mr. X is not yet very stealthy.
Unfortunately for Mr. X, the lab’s network is instrumented to capture all traffic (with full content). His activities are discovered and analyzed… by you!
Here is the packet capture containing Mr. X’s activity. As the network forensic investigator, your mission is to answer the following questions:
요약 :
Mr.X는 멕시코에서 도주하는 동안 웹을통해 ANFRF 실험실에 원격으로 침투한다.
하지만 X는 아직 은밀하지 않다. 다음 패킷을 보고 X의 활동을 분석하자.
문제 :
1. What was the IP address of Mr. X’s scanner?
2. For the FIRST port scan that Mr. X conducted, what type of port scan was it? (Note: the scan consisted of many thousands of packets.) Pick one:
- TCP SYN
- TCP ACK
- UDP
- TCP Connect
- TCP XMAS
- TCP RST
3. What were the IP addresses of the targets Mr. X discovered?
4. What was the MAC address of the Apple system he found?
5. What was the IP address of the Windows system he found?
6. What TCP ports were open on the Windows system? (Please list the decimal numbers from lowest to highest.)
사용 툴 : 와이어샤크
===========================================================================
#1. What was the IP address of Mr. X’s scanner?
(X의 Scanner의 IP 주소는 무엇인가?)
이번 문제에 주어진 pcap 파일에는 붉은색으로 표시되고, [RST, ACK] 라고 적힌 패킷들이 상당히 많았다.
아직 네트워크 패킷에 대한 공부와 와이어샤크에 대한 이해가 부족한 상황이라
일단 TCP Stream을 확인해 봤는데 다른 패킷들도 그렇고 아무런 정보가 나오지 않았다...
TCP 패킷에 대한 정리가 필요한것 같아 TCP FLAG에 대해 정리를 해보았다.
========================================================
데이터를 전송하거나 거부, 세션 종료 같은 기능은 패킷 FALG 값에 따라 달라지게 되는데,
TCP FLAG는 기본적으로 6가지로 구성된다.
FLAG 순서
+-----+-----+-----+----+-----+----+
| URG | ACK | PSH | RST | SYN | FIN |
+-----+-----+-----+----+-----+----+
각각 1비트로 TCP 세그먼트 필드 안에 cONTROL BIT 또는 FLAG BIT 로 정의 되어 있다.
SYN(Synchronization : 동기화) - S : 연결 요청 플래그
- TCP에서 세션을 성립할 때 가장 먼저 보내는 패킷. 시퀀스 번호를 임의적으로 설정하여 세션을
연결하는 데에 시퀀스 번호를 보내게 된다.
ACK(Acknowledgement) : 응답
- 상대방으로부터 패킷을 받았다는 걸 알려주는 패킷. 다른 플래그와 같이 출력되는 경우도 있다.
- ACK 응답을 통해 보낸 패킷에 대한 성공, 실패를 판단하여 재전송하거나 다음 패킷을 전송한다.
RST(Reset) - R : 재연결 종료
- 재설정(Reset)을 하는 과정이며 양방향에서 동시에 일어나는 중단 작업이다.
- 비 정상적인 세션 연결 끊기에 해당
- 이 패킷을 보내는곳이 현재 접속하고 있는 곳과 즉시 연결을 끊고자 할 때 사용한다.
PSH(Push) - P : 밀어넣기
- TELNET과 같은 상호작용이 중요한 프로토콜의 경우 빠른 응답이 중요한데,
이 때 받은 데이터를 즉시 목적지인 OSI 7 Layer의 Application 계층으로 전송하도록 하는 FLAG
- 대화형 트래픽에 사용되는 것으로 버퍼가 채워지기를 기다리지 않고 데이터를 전달한다.
URG(Urgent) - U : 긴급 데이터
- Urgent pointer 유효한 것인지를 나타낸다. Urgent pointer란 전송하는 데이터 중에서
긴급히 전달해야 할 경우에 사용한다.
FIN(Finish) - F : 연결 종료 요청
- 세션 연결을 종료시킬 때 사용되며 더이상 전송할 데이터가 없음을 나타낸다.
========================================================
이번 문제에 핵심적인 FLAG는 SYN, ACK, RST로 보이며, [그림 1]을 다시보면 가장 첫번째 패킷의 Source인
"10.42.42.253" 에서 여러 차례 SYN 요청을 보내고 다른 IP에서는 비 정상적인 접근을 감지하고
세션 연결을 끊고자 하는 것으로 보아 "10.42.42.253"는 악의적인 접근을 요청하는 X의 Scanner라고 의심할 수 있다.
IP address of Mr. X’s scanner = 10.42.42.253
#2. For the FIRST port scan that Mr. X conducted, what type of port scan was it? (Note: the scan consisted of many thousands of packets.) Pick one:
(X씨가 수행한 첫 번째 포트 스캔의 경우 어떤 유형의 포트 스캔이었는가?)
(참고: 스캔은 수천 개의 패킷으로 구성되었다.) 다음 중 하나를 선택.
- TCP SYN
- TCP ACK
- UDP
- TCP Connect
- TCP XMAS
- TCP RST
포트 스캐닝이란 대상 기기의 어떤 포트가 열려 있는지 확인하는 작업으로 침입 전 취약점을 분석하기
위한 사전 작업을 말한다.
스캐닝을 통해 대상의 네트워크 보안장비 사용현광, 우회 가능 네트워크 구조 등에 대한 정보를 알 수 있다.
포트 스캐닝의 종류는 문제에 주어진 것 처럼 다양하며 각각의 유형에 대해 먼저 알아보고
문제를 풀기로 하였다.
========================================================
◎ TCP SYN (Half - Open) 스캔
- 열린 포트 : 타겟으로부터 SYN + ACK 응답이 오고 ACK가 아닌 RST 플래그를 설정한 TCP 패킷을 전송하여
연결을 강제로 종료한다.
- 닫힌 포트 : 상태면 타겟으로부터 RST + ACK 응답이 온다.
- 연결 설정을 완료하지 않기 때문에 시스템 로그에 남지 않는다.
◎ TCP ACK 스캔
- 포트 오픈 여부를 판단하는 것이 아니라 방화벽의 룰셋(필터링 정책)을 테스트 하기 위한 스캔
- 대상 방화벽이 상태기반인지 여부 (TCP 연결 상태 추적)
- 대상 포트가 방화벽에 의해 필터링 되고 있는지 여부
◎ UDP 스캔
- ICMP Uneachable 메시지를 이용하여 UDP 포트의 Open 여부를 판단하기 위한 스캐닝 방식
- 열린포트 : UDP 응답이 오거나 응답 없음
- 닫힌 포트 : ICMP 메시지 응답
- UDP를 이용한 포트 스캔은 신뢰하기 어렵다. UDP 패킷이 네트워크를 통해 전달되는 동안 라우터나 방화벽에
의해 손실될 수 있기 때문이다.
◎ TCP Connect 스캔
- connect() 함수를 사용해서 각 포트별로 접속하여 스캔하는 방식
- 열린 포트 : SYN + ACK 패킷을 수신하면 그에 대한 ACK 패킷을 전송함으로써 연결을 완료
- 닫힌 포트 : RST + ACK 응답이 온다.
- 3-way handshake 과정이라고도 하며, 완전한 TCP 연결을 맺어 신뢰성 있는 결과를 얻을 수 있으나,
속도가 느리고 로그가 남는다.
◎ TCP Xmas 스캔
- 연결되어 있지 않은 포트에 일부 제어비트 (FIN, PSH, URG) 또는 전체 제어비트를 설정한 탐지패킷을 전송
- Xmas라고 이름 붙인 이유는 크리스마스 트리처럼 제어비트를 반짝거리게 설정했다는 의미
========================================================
위에서 공부한 내용을 살펴보면 각각의 포트 스캔마다 요청과 응답에 대한 패킷의 FLAG가 다르다.
따라서 X의 스캐너의 IP인 10.42.42.253 을 Source IP로 필터링 한 후 정렬을 하여 어떤 패킷을 보냈는지 우선 확인해 보았다.
SYN 요청을 하는것으로 보아 TCP SYN이나 TCP Connect 둘중 하나로 보이는데 이 외에 패킷이 안보여서 한참을 쭉쭉 내려보던 중...
드디어 다른 FLAG의 패킷 (ACK / RST, ACK) 두개를 찾았다! Destination IP와 포트번호도 일치하고
FLAG를 보니 TCP Connect 스캔을 한것으로 보인다!
#3. What were the IP addresses of the targets Mr. X discovered?
(X가 발견한 대상의 IP 주소들은 무엇인가?)
이번 문제는 #2 문제를 풀다가도 알 수 있는데, X가 접근하려고 하는 IP는 10.42.42.25 / 10.42.42.50 / 10.42.42.56 세가지 이다.
#4. What was the MAC address of the Apple system he found?
(그가 발견한 Apple 시스템의 MAC 주소는 무엇인가?)
X의 가 접근하려고 하는 세 개의 IP에 대해서 Destination 정보를 확인하면 알 수 있다.
10.42.42.25 = Apple_02 ( 00: 16 : CB : 92 : 6E : DC)
10.42.42.50 = CompalIn_51
10.42.42.56 = CompalIn_56
#5. What was the IP address of the Windows system he found?
(그가 찾은 윈도우 시스템의 IP주소는 무엇인가?)
10.42.42.25 / 10.42.42.50 / 10.42.42.56 중에서 10.42.42.25 는 Apple 시스템인걸 알았으니 나머지
두 IP에 대해 알아보면 되는데, 이는 포트번호를 통해 알수있다고 한다.
우선 10.42.42.50 의 열려있는 포트를 확인하기 위해 X의 Scanner와 연결된 부분의 패킷을 확인한다.
Source IP를 10.42.42.253(X의 스캐너), Destination IP를 10.42.42.50 으로 설정 후 ACK FLAG의 패킷을 보면
135번, 139번 포트가 열려있다.
같은 방식으로
10.42.42.56 도 마찬가지로 필터링을 해보았지만 정상적으로 응답을 받은 경우는 없었다.
여기에 단서는 135, 139번 포트에 있는데, 윈도우 시스템에서 135와 139번 포트는 RPC와 NetBIOS 등으로 인해 별도의 설정이 없었다면 기본적으로 Open 되어있다고 한다.
따라서 열려있는 포트를 통해 윈도우 시스템의 IP는 10.42.42.50 이다.
#6. What TCP ports were open on the Windows system?
(Please list the decimal numbers from lowest to highest.)
(윈도우 시스템에서 어떤 TCP 포트가 열려있는가?)
#5 에서 찾은 결과와 같이 10.42.42.50 에서 열려있는 포트 번호는 135, 139번 포트이다.
이로써 Puzzle #4의 모든 문제를 풀었따!
*참고 사이트 출처
TCP FLAG : http://pmj0403.tistory.com/entry/TCP-flagURG-ACK-PSH-RST-SYN-FIN
포트 스캔 : https://itragdoll.tistory.com/59
'Forensic > Sans_Forensic_Contest_Puzzle' 카테고리의 다른 글
[Sans Forensic Contest Puzzle #3] 문제풀이 (0) | 2019.11.19 |
---|---|
[Sans Forensic Contest Puzzle #2] 문제풀이 (1) | 2019.09.06 |
[Sans Forensic Contest Puzzle #1] 문제풀이 (1) | 2019.09.03 |