[2024.10.31]
[네트워크 포렌식]
1) TCP/UDP
2) 3-Way Handshake
3) HTTP Header(HTTP Request, Response), HTTP Method(GET, POST, PUT, DELETE)
4) FTP, Telnet, HTTP(평문)
5) 네트워크 기반 공격
> Dos/DDoS, Sniffing, Spoofing, Scanning 등
01. Port Scan
> SYN Scan
대부분의 패킷이 TCP 프로토콜을 사용하며,
[SYN] 플래그가 설정된 패킷이 다수 포함되어 있다
SYN 스캔은 대상 포트에 대해 SYN 패킷을 전송하여
열려 있는 포트를 식별하려는 스캔 방식이다
일반적으로 SYN 패킷에 대한 응답으로 [RST, ACK] 또는 [ACK] 패킷이 반환되는 것을 볼 수 있다
열린 포트라면 [SYN, ACK] 패킷이 응답으로 오며,
닫힌 포트는 [RST, ACK]로 응답한다
이 화면에서는 대상 IP(192.168.1.141)로부터 SYN 패킷이 많이 전송되며,
다양한 포트에 대해 RST 패킷으로 응답받고 있어 이는 SYN 스캔의 전형적인 패턴으로 볼 수 있다
또한, 다양한 포트(예: 3807, 3661, 5798 등)에 대해 시도되고 있는 점이 특징적이다
SYN 스캔은 다수의 포트를 대상으로 하여
시스템의 어떤 포트가 열려 있는지를 탐색하는 방식이므로,
다수의 포트를 타겟팅하는 패턴도 SYN 스캔임을 암시한다
Rocky Linux에서 21번 포트인 ftp를 활성화시키고,
Kali Linux는 더 많은 기능과 캡처 옵션을
제공하기 때문에 Kali Linux로 wireshark를 실행했다
TCP Open Scan
TCP Half Open Scan: SYN Scan
이것을 넓게 보면 은닉 스캔(stealth scan)으로 볼 수 있다
이번에는 ftp를 중지시키고 나서 Kali Linux로 확인해 본다
ftp를 중지했기 때문에 포트가 닫혀 있다
포트가 닫혀 있으면 리스해이크를 보내고,
포트가 열려 있을 때는 정보를 수집하게 된다는 뜻으로 볼 수 있다
포트가 닫혀 있어도 열려 있어도 정보 수집은 가능하지만,
포트가 닫혀 있을 때도 리스해이크 방식을 통해 정보를 수집하게 된다
URT ACK PSH RST SYN FIN
차례대로 긴급, 응답, 푸시, 리셋, 동기화, 종료 플래그로
TCP 플래그(TCP Flags)로 볼 수 있다
Stealth와 UDP의 경우 포트가 닫혀 있을 경우 무응답으로 돌아오며,
TCP의 경우 무응답 상태여도 리스해이크가 돌아오게 된다
다시 ftp를 활성화시키고 나서 이번에는 옵션을 적용하여 포트를 확인한다
이 명령어는 IP 주소 192.168.217.50의 포트 21에 대해 ACK 스캔을 수행하여
해당 포트의 상태를 확인하고, 방화벽이나 필터링 장치의 존재 여부를 파악하는 데 사용할 수 있다
이 스캔은 SYN 스캔이 아니므로, SYN 패킷을 보내지는 않는다
다음으로 -sX 옵션으로 진행해서 확인해 본다
이 옵션은 IP 주소 192.168.217.50의 포트 21에 대해
Xmas 스캔을 수행하여 해당 포트의 상태를 확인하고,
일반적으로 방화벽을 우회하기 위해 사용되는 기법이다
FIN, URG, PSH 플래그를 모두 설정한 패킷을 전송하고,
열린 포트는 응답을 보내지 않고, 닫힌 포트는 RST 응답을 보낸다
마지막으로 해당 옵션은 UDP 스캔을 수행하는 명령어다
TCP와 달리 UDP는 연결 지향 프로토콜이 아니기 때문에,
SYN 패킷을 사용하는 것이 아니라 UDP 패킷을 직접 전송한다
UDP 스캔은 대상 포트에 UDP 패킷을 전송하고, 응답을 통해 포트의 상태를 판단한다
UDP 스캔의 특징으로 열려 있는 UDP 포트는 보통 응답을 보내지 않고,
닫혀 있는 UDP 포트는 ICMP "Port Unreachable" 메시지를 응답한다
또한, 이러한 특성 때문에 UDP 스캔은 TCP 스캔보다 더 느리다고 볼 수 있다
UDP 스캔은 방화벽이 설정된 환경에서 유용할 수 있으며,
특정 서비스가 열려 있는지 확인할 수 있다
02. 디지털 증거를 찾아라
1) Telnet 패스워드를 찾아라
> 계정명: leo
> 패스워드: HTPLEO!!!
wireshark의 필터 부분에서 telnet을 검색하고
해당되는 부분에서 TCP Stream을 확인했을 때
화면과 같이 패스워드를 확인할 수 있다
보이는 바와 같이 패스워드는 HTPLEO!!!이다
2) 80번 포트로 업로드된 파일명은?
> 파일명: iuzzang.txt
해당 질문들에 대해서는 Scan의 이해도가 필요한데,
현재 익숙하지 않아 강사님께서 알려 주신 방법대로 진행했다
Ctrl+F를 눌러 String으로 패킷 리스트를 누르고
PUT을 누르면 그에 맞는 결과 값이 나온다
질문에서 업로드라고 언급되었기 때문에 PUT을 검색했다
검색을 시도하고 차례대로 내려가서 iuzzang.txt 파일이 확인되었다
해당 부분도 TCP Stream으로 확인하는 과정을 거쳤다
3) 인터넷 쇼핑몰에서 실행된 웹 셀은 무엇인가?
> 웹 셀명: online@webshell.asp
웹 셀은 일반적으로 HTTP 요청을 통해 작동한다
HTTP에는 여러 메소드가 있으며,
그 중에서 POST 메소드는 서버에 데이터를 전송하는 데 주로 사용한다
웹 셀은 종종 POST 요청을 통해 악성 페이로드를
서버로 전송하거나 명령을 실행하기 때문에
웹 셀을 찾기 위해 POST를 입력하여 검색했다
검색하게 되면 해당되는 부분이 선택이 되기 때문에
이 부분을 TCP Stream으로 살펴본다
POST /userfiles/o+ne~Line@w&eb!sh@ell.asp; jpg HTTP/1.1
맨 첫줄이 웹 셀의 예시라고 볼 수 있다
POST: HTTP 메소드로, 서버에 데이터를 전송하는 요청
/userfiles/o+ne~Line@w&eb!sh@ell.asp; jpg: URL 경로로, 여기서 one~Line@w&eb!sh@ell.asp는
웹 셀의 파일 이름을 나타내며,
파일 경로가 비정상적이고 악의적인 의도를 암시한다
HTTP/1.1: 사용된 HTTP 프로토콜의 버전
강의 소감
이번 강의는 메모리 포렌식을 마치고 네트워크 포렌식에 들어갔다
처음 보안을 배우기 시작할 때 배웠던 3-Way Handshake에 대해 자세히 알아봤다
그 중에서도 SYN Scan에 대해 알아보고,
TCP 플래그에 대해서도 한 번 더 상기하게 되었다
또한, 21번 포트인 FTP로의 활성화 및 중지를 통해서
각각의 상태에서 진행되는 스캔의 과정을 확인했다
마지막으로 강사님께서 주신 파일로
디지털 증거를 찾는 실습까지 시도했다
처음부터 이해하기 어려운 부분이었지만
실습과 동시에 진행하기 때문에 더 이해하기 수월했다
디지털 증거 찾기는 아직 wireshark의 보는 법을 익혀야 될 것 같다
'디지털 포렌식' 카테고리의 다른 글
디지털 포렌식 13 (5) | 2024.11.06 |
---|---|
디지털 포렌식 12 (0) | 2024.11.04 |
디지털 포렌식 10 (1) | 2024.10.30 |
디지털 포렌식 9 (0) | 2024.10.29 |
디지털 포렌식 8 (0) | 2024.10.28 |