I.Sly() 기초 활동 과제 8주차

나영·2024년 5월 24일

I.Sly()

목록 보기
8/8
post-thumbnail

강의 내용 정리


암호 기본 개념

  • 암호화(Encryption): 평문을 암호문으로 만드는 것

  • 복호화(Decryption): 암호문으로부터 평문을 복원하는 것

  • 평문(Plaintext): 암호화 되지 않은 메시지

  • 암호문(Cypertext): 암호화된 메시지

  • 키(Key, 암호키: Encryption Key): 평문/암호문을 암호화/복호화시키는 암호 알고리즘에 대한 필요한 핵심 가변 정보 값

  • 모듈러 연산: 어떤 숫자를 다른 숫자로 나눈 나머지를 구하는 연산

  • 합동: 어떤 숫자를 다른 숫자로 나눈 나머지가 같은 경우, 이를 합동이라 함

  • 인코딩: 데이터를 코드화하고 압축하는 등 다른 형태로 변환하는 것

    • 인코딩은 암호화보다 파일의 크기를 줄이거나 컴퓨터가 알아들을 수 있는 형식으로 변환하기 위해 사용함
  • Base64: 8비트 이진 데이터(실행 파일, ZIP파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념

    • 알파벳 대소문자, 숫자, +, / 로 총 64개로 이루어지며, =은 끝을 알리는 코드로 사용
    • 24bit 버퍼에 3byte씩 집어넣고, 6bit씩 끊어서 그에 맞는 문자로 변환

대칭키 암호

  • 비밀키 암호(=대칭키 암호): 암호화와 복호화에 같은 키를 쓰는 알고리즘(ex. DES, AES)
  • 고대 치환 암호: 평문을 이루는 각각의 문자를 다른 문자로 바꿔 정보를 숨기는 것
  • 카이사르 암호(=시저 암호, Ceasar cipher): 암호화하고자 하는 내용을 알파벳별로 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 암호 방식
  • 비게네르 암호: 16세기 프랑스의 외교관 비게네르가 고안하였으며, 여러개의 수를 암호 키로 사용해 카이사르 암호보다 한 층 더 복잡한 다중 치환 암호
  • 블록 암호: 평문을 정해진 블록 단위로 암호화하는 알고리즘(ex. AES, DES)
  • 스트림 암호: 이진 수열로 변환된 평문을 비트 단위로 암호화 하는 알고리즘
    • 평문은 암호문과 배타적 논리합(XOR)연산을 수행해 암호문 생성

비대칭키 암호

  • 공개키 암호(=비대칭키 암호): 암호화와 복호화에 다른 암호 키를 쓰는 알고리즘으로, 전자서명에 사용됨(ex. RSA, 타원곡선암호)
  • 일방향 함수: 계산은 쉽지만 역을 구하는 것은 어려운 함수로, 대부분의 비대칭키 암호화 방식은 이것으로부터 고안
  • RSA 알고리즘: 두 개의 큰 소수를 곱한 합성수는 소인수분해가 어렵다는 것을 기반으로 만들어진 암호 알고리즘

해시

  • 해시 함수: 데이터를 고정된 길이의 데이터로 매핑하는 함수로, N:1 일방향 함수 (eX. CRC, MD5, SHA1 등)
    키(Key): 매핑 전 데이터의 값(평문)
    해시 값(Hash Value): 매핑 후 데이터의 값(암호문)
    해시 테이블(Hash Table): 키와 데이터를 저장하는 자료구조 해싱(Hashing): 매핑하는 과정

  • 해시 함수의 특성

    • 해시 값을 알고 있어도 평문을 알아낼 수 없음
    • 어떤 길이의 데이터를 입력해도 항상 고정된 길이의 데이터를 출력함
    • 입력 값의 일부만 변경되어도 해시 값이 매우 크게 변함(눈사태 효과)
    • 같은 입력인 경우 같은 해시 값을 출력함
    • 그리 복잡하지 않은 알고리즘을 사용해 CPU 자원을 적게 소모
  • 해시 충돌: 서로 다른 두 개의 입력값에 대해 동일한 해시 값을 출력하는 상황

  • 눈사태 효과
    md5(1.Sly)')=FBDE1FF2926EA21E74B4E9DCE88629CE
    md5('I.sly)*)=718D7DA83F2D85F5BE66D51CC80D1F06

  • 해시 함수 사용 예

    • 데이터 무결성 검증: 동일한 데이터에 대해 동일한 해시 값을 출력하기 때문
    • 비밀번호 저장: 관리자는 해시 값만 보관하여 원래의 비밀번호를 알 수 없음
  • 좋은 해시 함수

    • 해시 충돌이 없는 함수: 이론적으로 불가능하지만, 확률적으로 0에 가까울수록 좋은 해시 함수
    • 역함수 계산이 불가능한 함수: CRC의 경우, 현재 역수 계산이 가능해짐
    • 계산 과정이 복잡하지 않은 함수 등

스테카노그래피

  • 스테가노그래피: 데이터 은폐 기술 중 하나로, 데이터를 다른 데이터에 삽입해 그 데이터의 존재 자체를 숨기는 것. 오늘날 디지털 스테가노그래 피는 이미지, 오디오 파일, 동영상 클립, 텍스트 파일 등 무해해 보이는 객체 안에 비밀 메시지를 감춰두는 방식으로 활용됨

네트워크 해킹

  • 네트워크 해킹: 네트워크 상에서 발생되는 해킹을 의미 보안의 기본 요소에 따라 기밀성, 무결성, 가용성의 침해를 받음

    • 내부의 자산을 파악하기 위해 훔쳐보는 네트워크 스캐닝 같은 행위 (기밀성)
    • 정상적인 통신을 강제로 끊고 공격자가 세션을 갈취하는 세션 하이재킹 등의 행위 (기밀성, 무결성)
    • 외부에서 네트워크 통신을 이용해 서비스가 정상 작동을 하지 못하도록 하는 Dos 등의 행위 (가용성)
  • 기밀성
    스니핑(Sniffing) : 네트워크 흐름의 중간에서 도청, 감시 등의 공격을 하는 행위

  • 무결성
    스푸핑(Spoofing) : 사용자가 원하는 행위를 속여 비정상적인 행동을 하는 행위

  • 가용성
    Dos 공격 : Denial of Service. 서비스 거부 공격을 수행하여 서버나 시스템이 동작하지 못하도록 공격하는 행위

네트워크 용어 정리

  • 시스템
    • 노드 : 인터넷에 연결된 시스템의 가장 기본적인 용어
    • 호스트 : 컴퓨팅 기능이 있는 시스템. 양 끝단에 있는 송수신기를 뜻 (ex. PC)
    • 클라이언트 : 서비스를 요청하는 시스템 (호스트가 송신을 할 때)
    • 서버 : 서비스를 제공하는 시스템 (호스트가 수신을 할 때)
  • 프로토콜
    : 컴퓨터 간에 정보를 주고받을 때의 통신 방법에 대한 규칙이나 표준
  • 게이트웨이
    : 한 네트워크에서 다른 네트워크로 이동하기 위하여 거쳐야 하는 지점
    • 1계층 리피터(repeater)
    • 2계층 브리지(bridge)
    • 3계층 라우터(router)

프로토콜

  • 기본 요소

    • 구문(Syntax)
      : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정
    • 의미(Semantics)
      : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
    • 시간(Timing)
      : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
  • 1계층 - 물리 계층
    최하위 계층. 2진법의 바이너리 정보를 전기적, 물리적 신호로 수신자에게 정보 전달 (전송 단위 : Bit)

  • 2계층- 데이터 링크 계층
    물리 계층에서 일어날 수 있는 오류들을 찾아내고 수정하여 하위 계층으로 데이터 전달 (전송 단위 : Frame)

  • 3계층- 네트워크 계층
    양 끝단의 사용자들의 IP를 확인하여 최적의 정보 전달이 가능한 루트를 찾는 라우팅을 진행 (전송 단위 : Packet)

  • 4계층 - 전송 계층
    : 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고받기 위해 프로토콜 정의, 하위 계층으로 데이터 전달 (전송 단위: Segment)

  • 5계층 - 세션 계층
    : 양 끝단의 사용자들의 통신을 관리하기 위한 방법을 정의하고 하위 계층으로 데이터 전달

  • 6계층 - 표현 계층
    : 원본 데이터를 부호화, 변화, 암호화, 복호화, 압축 등을 진행하여 하위 계층으로 데이터 전달

  • 7계층 - 응용 계층
    : 응용 소프트웨어에서 데이터를 생성하고 하위 계층으로 데이터 전달

OSI 7계층 (OSI 7 Layer)

국제 표준화기구 ISO에서 1984년에 네트워크 통신의 구조를 7계층으로 구분하여 각 계층 간 상호 작동하는 방식을 정의해놓은 것

패킷

네트워크에서 출발지와 목적지 간의 라우팅 되는 데이터 단위 네트워크 패킷은 사용자 데이터와 제어정보로 이루어지며, 사용자 데이터는 페이로드라고 함
*제어정보: 페이로드를 전달하기 위한 정보

  • 구성요소
  • 헤더
    • 소스 주소, 대상 주소, 프로토콜 및 패킷 번호 포함
    • 전송 중인 패킷 유형을 식별하는 데 도움이 됨
  • 페이로드
    • 패킷에 의해 전송되는 실제 데이터를 나타낸 것, 데이터라고도 함
    • 헤더 정보가 목적지에 도달할 떄 제거됨
  • 트레일러
    • 패킷 트레일러의 내용은 각 네트워크 유형에 따라 다름
    • 비트와 CRC 포함

dreamhack lolololologfile


FTK Imager을 사용하여 파일 복구
위에 4개의 파일을 보면 용량이 눈에 띄게 작은것을 볼 수 있다.

Export File을 눌러 파일 추출

HxD 를 설치 후 추출한 파일을 넣어 분석
%pdf 확인

파일을 합쳐 pdf파일로 만듦
도구>연결
⇒플래그 획득 가능

flag: DH{1_lov3_For3NSiCS_Not_FOur_AND_six}

dreamhack snowing!


wireshark 를 이용한 Snow.jpeg 파일 분석

복사본이라는것이 확인 가능한 문구만 있고 flag 관련 별다른게 발견이 안됨

(아래 과정은 구글검색을 활용하여 방법을 공부 후 작성하였습니다)
snow steganography tool 설치
sudo apt-get install stegsnow
파일 실행
stegsnow -C flag.txt

flag: DH{w0w_1t_Sn0w5}

0개의 댓글