OMSCS

OMSCS 05 - CS 6035 과제 1 - 1

또롱또 2025. 1. 14. 03:21
728x90

 

과제 1번은 Man in the middle 이라고 한다.

MITM 은 범죄자가 통신채널의 개체 사이에 자신을 삽입하여 데이터를 훔치는 사이버 공격의 한 형태이다.

 

즉 이번 과제는, 우리가 해커? 사이버 범죄집단? 암튼 그런 애들이 대화하는걸 훔쳐듣고, 정보를 이것저것 알아오는게 목표다.

 

일단 과제는 총 2개다

 

1번은 JSON  파일로 내는거고 (85%)

2번은 파이썬 등 파일로 코드를 제출 하는거다 (15%)

 

총 100% 가 만점이고, 가산점은 없다고 한다.

 

각각 최대 10번씩만 제출 할 수 있다.

 

필요한 도구는 아래와 같다.

 

1. Wireshark: https://www.wireshark.org/download.html
2. John The Ripper: https://www.openwall.com/john/

 

그 외에 필수 정보로는

 

PCAP 파일의 SHA256 해시값이 제공됬고

더보기

D03AF18AB1638B9FE17FB0EF00489EE430408BCEEFD44ACB6F1464CEE1E845A1


Georgia Tech ID: 9자리 숫자로 구성된 ID. Required Reading 페이지 참조.

 

이렇게 있고, 자주 발생하는 에러, 기술적 힌트 등등이 있으니 꼭 FAQ를 한번 보는게 좋겠다.

 

백그라운드와 셋업에 들어가기 전에 이번수업 전제조건을 보자

 

위의 내용은 어느정도 알고 시작하면 좋을거 같다.


TCP, DNS, HTTP Traffic

더보기

1. TCP 트래픽이란?

  • 설명: TCP(Transmission Control Protocol)는 데이터를 안정적이고 순서대로 전송하기 위한 통신 프로토콜.
  • 용도: 파일 전송, 이메일, 웹 브라우징 등 안정적인 데이터 전송이 필요한 애플리케이션에 사용.
  • 예시: 대용량 파일을 전송할 때 TCP를 사용하여 데이터 손실 없이 정확히 전송.

2. DNS 트래픽이란?

  • 설명: DNS(Domain Name System) 트래픽은 도메인 이름을 IP 주소로 변환하는 과정에서 발생하는 네트워크 트래픽.
  • 용도: 사용자가 입력한 도메인 주소(예: google.com)를 서버의 IP 주소로 변환하여 웹사이트에 연결하는 데 사용.
  • 예시: 사용자가 **http://www.google.com**을 브라우저에 입력하면 DNS가 이 도메인을 서버 IP 주소(예: 172.217.0.46)로 변환해 웹사이트에 연결.

3. HTTP 트래픽이란?

  • 설명: HTTP(Hypertext Transfer Protocol)는 웹 브라우저와 서버 간에 데이터를 주고받는 데 사용되는 프로토콜.
  • 용도: 웹페이지, 이미지, 동영상 등 다양한 콘텐츠를 서버에서 클라이언트로 전송하는 데 사용.
  • 예시: 블로그에서 사진을 볼 때 HTTP 트래픽을 통해 서버에서 이미지를 다운.

 

내가 이해한걸 다시 택배기사가 배달하는걸로 빗대서 설명해 본다.

택배기사가 소중한 짐(데이터)을 정확히 순서대로 배달해야 하는 상황이고, 택배기사가 큰 상자(대용량 파일)를 여러 번 나눠 배달하면서, 상자가 빠짐없이 정확히 전달되도록 확인하는 과정을 TCP 트래픽 이라한다.

 

다음 집으로 이동하기 위에, 네비게이션에 목적치를 치면, 네비게이션이 해당 주소를 알려주는 과정을 DNS 트래픽 이라 한다. 

 

HTTP는 택배기사가 물건을 고객에게 직접 전달하는 과정이다.

 

즉,

TCP는 짐이 안전하게 배달되도록 보장하는 신뢰성 있는 택배기사.
DNS는 목적지를 알려주는 내비게이션.
HTTP는 도로 위를 달려 고객에게 물건을 직접 배달하는 배송 과정.


IRC Traffic

더보기

IRC(Internet Relay Chat)는 실시간 텍스트 기반 채팅을 위해 설계된 네트워크 프로토콜

 

실시간 그룹 채팅, 해킹 그룹이 명령과 제어(C&C)를 설정하기 위해 사용 한다고 한다.

 

실시간 하면 소켓이 떠오르는데, IRC 트래픽은 소켓 기반의 TCP 통신으로 작동한다.

 

소켓은 데이터 전송을 위한 기반 기술이고, IRC는 이 소켓을 활용해 실시간 채팅 서비스를 제공하는 프로토콜이라 생각하면 된다.


nslookup

더보기

nslookup(Name Server Lookup의 약자)은 DNS 서버를 조회하는 명령어 도구.

 

이를 통해 도메인 이름에 대한 정보를 얻을 수 있으며, 예를 들어 IP 주소나 기타 DNS 레코드(MX 레코드, NS 레코드 등)를 확인가능.

 

다시 말해서, 도메인 이름을 IP 주소로 변환해주고, 도메인의 MX(메일 서버), NS(네임 서버) 등의 정보를 조회해주고, 특정 웹사이트가 연결되지 않을 때 DNS 서버 문제를 확인한다.


 

PyShark

더보기

PyShark는 Python 라이브러리로, 네트워크 패킷 캡처 파일(PCAP 파일)을 분석하거나 실시간 네트워크 트래픽을 처리할 수 있도록 도와주는 도구다.

 

네트워크 패킷 캡처 파일(PCAP 파일)은, 네트워크 트래픽 데이터를 캡처하여 저장한 파일이다. 

 

즉, PyShark을 활용해서 네트워크 트래픽 분석을 자동화할 수 있다.
예를 들면, 특정 웹사이트의 HTTP 요청을 추적하거나, 특정 IP 주소와 관련된 데이터를 필터링할 수 있다.


 

Wireshark

더보기

Wireshark는 네트워크 트래픽을 캡처하고 분석할 수 있는 가장 널리 사용되는 네트워크 프로토콜 분석 도구

 

학교 과제에 보면, quick intro라 해서 사용법을 알려줬다. 


 

CyberChef

더보기

CyberChef는 다양한 데이터 변환, 디코딩, 암호화 및 해시 작업 등을 손쉽게 수행할 수 있는 웹 기반 도구.

 

사용법은 간단하며, 드래그 앤 드롭 방식으로 작업을 설정할 수 있다.

 

https://gchq.github.io/CyberChef/

 

CyberChef

 

gchq.github.io


Background and Setup

 

백그라운드는 패스하고 셋업을 해보자. 

 

Wireshark 설치(Windows) / Wireshark 설치(Linux) 두개가 설명에 올라와 있는데, 둘 다 상관 없지만, 윈도우로 하려한다.

 

일단 와이어샤크, 파이썬, 존더리퍼 다 받는다.

 

* 파이썬 처음 쓰는 경우는 거의 없겠지만, 꼭 add to path 를 체크해서 환경변수를 미리 처리하자.

안했으면 다시 다운받은 클라를 열어서, modify 로 들어간뒤 꼭 체크하자. 이게 제일 편함.

 

https://www.wireshark.org/download.html

 

Wireshark · Download

Wireshark: The world's most popular network protocol analyzer

www.wireshark.org

Python download page

 

Download Python

The official home of the Python Programming Language

www.python.org

https://www.openwall.com/john/

 

John the Ripper password cracker

John the Ripper password cracker John the Ripper is an Open Source password security auditing and password recovery tool available for many operating systems. John the Ripper jumbo supports hundreds of hash and cipher types, including for: user passwords o

www.openwall.com

 

 


과제 정보

더보기

 

일단 PCAP를 받아야한다. 그래서 그 내용을 분석하는게 과제 1 

그리고 두번쨰 파일을 받아서 파이썬으로 프로그래밍 함수를 만드는게 과제 2

 

일단 와이어샤크로 다운받은 PCAP 파일을 열어준다.

 

그냥 다운 받은 파일을 우클릭해서 열기 누르면 알아서 와이어샤크로 열어준다.


과제 분석

더보기

Flag 1: 해커 관련 증거 수집
Task 1.1: 서버 주소 식별

Task 1.2: 닉네임 확인
Task 1.3: 채널 이름 확인
Task 1.4: 해시값 확인
Task 1.5: 마지막 악성 행위자의 국가


Flag 2: 대화에서 증거 수집
Task 2.1: 개인 대화 시작한 악성 행위자
Task 2.2: 전송된 파일 이름
Task 2.3: 암호화 알고리즘
Task 2.4: 해시값 확인


Flag 3: 피싱 웹사이트 분석
Task 3.1: 사이트 도메인 이름
Task 3.2: 공용 IP 주소
Task 3.3: 네임서버
Task 3.4: 해시값


Flag 4: 악성 파일 호스팅 서버 분석
Task 4.1: 서버 IP 주소
Task 4.2: 로그인에 사용된 사용자 이름
Task 4.3: 로그인에 사용된 비밀번호
Task 4.4: 다운로드된 파일 이름
Task 4.5: 프로그래밍 언어
Task 4.6: 고유 해시


Flag 5: 웹 애플리케이션 방화벽 분석
Task 5.1: 페이지 내 해시
Task 5.2: ZIP 파일 암호
Task 5.3: ZIP 파일 내용 실행


Flag 6: Python 클래스 작성
Task 6.1: ICMP 패킷 수
Task 6.2: Echo 요청/응답 수
Task 6.3: 가장 흔한 MAC 주소 및 빈도

 

과제와 정답, 그리고 공부했던 기록 등 은 다음 포스팅에 다 써둔 했지만, 공개가 일단 금지기 때문에 비공개로 해 두었다.

 

혹시 궁금하신게 있으시면 따로 댓글을 달아주시기 바랍니다.

 

 

728x90

'OMSCS' 카테고리의 다른 글

OMSCS 05 - CS 6035 과제 2 - 1  (0) 2025.01.20
OMSCS 04 - 학비  (0) 2025.01.14
OMSCS 03 - CS 6035 Introduction to Information Security  (0) 2025.01.08
OMSCS 02 - 수강신청  (0) 2025.01.03
OMSCS 01 - 입학과정 및 타임라인  (1) 2025.01.03