- 3-Way HandShaking의 Half-Open 연결이 가능한 것을 이용한 취약점 - 공격자는 대상 시스템에 출발지 IP를 위조해 무수한 SYN 패킷 전송 - 대상 시스템은 위조된 IP에 SYN/ACK 패킷을 전송하며, ACK 응답을 기다림 - 출발지 IP는 위조되어 정상적인 ACK 응답을 수신하지 못함 - 대상시스템은 ACK 응답을 기다리므로, 정상 서비스 제공이 불가해짐
SMURF Attack
- 출발지 IP를 대상 시스템으로 위조 및 ICMP 패킷을 직접 브로드 캐스팅 주소(X.X.X.255)로 전송 - 해당 패킷을 수신한 시스템은 대상 시스템으로 ICMP 패킷 응답 - 대상시스템은 ICMP 응답을 과다하게 수신하여, 정상 서비스 제공이 불가해짐
Land Attack
- 출발지 IP와 목적지 IP를 동일하게 설정하여 전송 - 해당 요청을 처리하는 과정에서 부하 발생
Ping of Death
- ping에 사용되는 ICMP 패킷의 크기를 정상 크기보다 크게 설정하여 전송하며, 해당 패킷은 네트워크를 거치면서(라우팅 되면서) 작은 조각으로 쪼개지면서 전송됨. - 피해 시스템에서는 수신한 패킷을 재조립하는 과정에서 부하가 발생.
Tear Drop Attack
- 패킷은 네트워크를 통해 전송되면서 단편화를 통해 분할되고, 수신지에서 재조립 - 패킷이 단편회 될 때 오프셋 값을 중복되도록 설정하는 등의 방식을 통해 수신지에서 재조립시 부하 유발
Bonk
- 모든 패킷의 순서번호를 1로 설정하여 전송
Boink
- 첫번째 패킷의 순서번호를 1, 두번째 패킷의 순서번호를 201, 세번째 패킷의 순서번호 1011 등 순서번호를 랜덤하게 전송
2. DDoS (Distributed Denial of Service) 유형
구분
공격명
설명
전통적인 공격
Trinoo
- 많은 호스트로부터 UDP Flooding을 유발
TFN(Tribed Flood Network)
- Trinoo의 발전된 형태 - UDP Flooding, ICMP Flooding, TCP SYN Flooding 가능
Stacheldraht
- Trinoo + TFN (두 공격이 제공하는 기능 모두 가짐) - 마스터와 에이전트 간 통신에 암호화 기능을 사용
3. DRDoS (Distributed Reflection Denial of Service) 유형
공격명
설명
DNS Reflection Attack
- 출발지 IP를 대상 시스템으로 위장하여, 다수의 DNS 서버에 ANY, TXT 레코드 요청. - ANY 레코드 : 도메인에 대한 모든 레코드 질의 시 사용. - TXT 레코드 : 도메인과 관련해 저장해야 할 임의의 문자를 나타냄. - 두 레코드 모두 요청에 비해 응답이 크기 때문에 공격에 주로 사용됨.
NTP Reflection Attack
- 출발지 IP를 대상 시스템으로 위장하여,다수의 NTP 서버에 monlist 요청. - monlist : 최근에 접속한 최대 600개의 호스트 정보를 요청
1. OSI(Open Systems Interconnection Reference Model) 7 Layer
- 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것. - Open System(개방 시스템) : 기반 구조와 관계없이 시스템 간 통신을 제공하는 프로토콜의 집합 - 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공 - 목적 : H/W나 S/W 기반의 논리적인 변화에 대한 요구 없이 서로 다른 시스템 간의 통신을 원할히 하는 것
2. OSI 7 Layer 구조
구분
계층
설명
데이터단위
상위 계층
7계층 Application(응용)
- 사용자(사람 또는 소프트웨어)가 네트워크에 접속하는 것을 가능하게 함. - 사용자 인터페이스 제공. - 프로토콜 : HTTP, FTP, SMTP, DNS, SNMP 등
메세지
6계층 Presentation(표현)
- 송수신측이 공통으로 이해할 수 있도록 정보의 데이터 표현방식을 바꿈. - 응용 계층으로부터 데이터를 전달받아 표준 포맷으로 변환(인코딩, 암호화, 압축 등)하여 세션 계층으로 전달. - 프로토콜 : SSL, ASCII 등
5계층 Session(세션)
- 통신 시스템 간에 상호대화를 설정, 유지, 동기화. - 표현 계층으로부터 데이터를 전달받아 효율적인 세션 관리를 위해 데이터를 짧은 데이터 단위로 나눈 후 전송 계층으로 전달. - 프로토콜 : NetBIOS, RPC, WinSock
상/하위 계층 연결
4계층 Transport(전송)
- 세션을 맺고 있는 두 사용자 사이의 데이터 전송을 위한 종단간 제어를 담당. - 프로토콜 : TCP, UDP
세그먼트
하위 계층
3계층 Networtk(네트워크)
- 송신측에서 수신측까지 안전하게 데이터를 전달하기위해 논리적 링크 설정(라우팅). - 상위 계층 데이터를 작은 큭리의 패킷으로 분할하여 전송. - 프로토콜 : IP, ARP, ICMP, IGMP - 장비 : 라우터
패킷
2계층 DataLink(데이터링크)
- 오류제어, 에러 검출/정정, 흐름제어, 매체제어. - 두 Sub 계층으로 나뉨 ① LLC(Logical Link Control) 또는 DLC(Data Link Contol) : 논리적 연결 담당. ② MAC(Media Access Control) : 장비와 장비 간의 물리적 접속을 담당. - 프로토콜 : Ethernet, HDLC, PPP 등 - 장비 : 브리지, 스위치
프레임
1계층 Physical(물리)
- 데이터를 물리 매체를 통해 전송하며, 전송을 위해 필요한 물리적 링크 설정, 유지, 해제 담당 - 물리적, 전기적 규정에 초첨을 맞추어 전송 선로의 종류에 따라 전송방식과 인코딩 방식 결정. - 프로토콜 : RS-232, X.25 / X.21 등 - 장비 : 케이블, 리피터, 허브 등
비트 프레임
3. TCP/IP 4 Layer
- 현재 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약의 모음 - 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공 - OSI 7 Layer보다 먼저 개발되었으며, OSI 7 Layer의 경우 실질적인 구현이 된적이 없는 반면, TCP/IP는 인터넷 개발 이후 지속적으로 표준화되어 신뢰성이 뛰어남.
4. TCP/IP 4 Layer 구조
계층
설명
응용
- 응용프로그램이 네트워크에 접근 가능하도록 인터페이스 기능 제공.
전송
- 종단간 통신 서비스 담당. - TCP, UDP
네트워크
- IP : 호스트 네트워크 주소 관리 - ARP : 네트워크 호스트들의 하드웨어 주소를 얻는 데 사용 - ICMP : 패킷 전송 중 발생하는 오류 메시지 처리
- 상위 디렉터리로 이동가능한 문자 ../ 를 이용해 상위 디렉터리로 접근하여 파일을 검색/다운 등이 가능한 취약점. - 접근 통제 및 검증, 서버 설정 미흡 등의 취약점으로 인해 중요 파일에 접근이 가능한 취약점. - 해당 취약점을 이용해 공격자는접근 불가한 디렉터리나 파일에 접근이 가능해짐.
2. bWAPP Directory Traversal
- 먼저 bWAPP 첫화면에서 식별되는 정보는 없다.
- URL의 page 매개변수에 디렉터리 이동문자인 ../를 이용해 상위 디렉터리로 이동 - 중요파일인 /etc/passwd 파일에 접근
- ../을 다수 입력한 이유는 다음과 같다. ① 공격자는 현재 자신이 위치한 디렉터리의 정확한 위치를 알지못한다. ② 공격자는 최상위 디렉터리인 root 디렉터리로 이동 후 원하는 디렉터리 및 파일에 접근하는 것이 목표이다. ③ root 디렉터리는 최상위 디렉터리이며, root 디렉터리의 상위 디렉터리 역시 root 이다. ④ 즉, 현재의 정확한 위치를 모르기 때문에 ../를 다수 입력해 root 디렉터리로 이동하기 위함이다.
- Bee-box에서 다음 명령을 통해 해당 페이지의 내용을 확인할 수 있다. directory_traversal_1.php : 문제 페이지 내용 확인 가능 functions_external.php : 설정된 함수 확인 가능
- 클라이언트는 서버에 자원을 요청하고, 서버는 클라이언트에 요청에 대한 처리 결과를 응답한다. - 이때, 클라이언트는 메소드를 이용해 서버에 요청의 목적이나 종류를 알린다. - 서버는, 클라이언트의 요청을 처리한 결과를 상태코드와 함께 응답한다.
2. 메서드(Method)
- 클라이언트가 서버에 요청의 목적/종류를 알리는 수단
Method
설명
GET
- 요청받은 URI의 정보를 검색하여 응답. - URI 끝에 파라미터를 통해 요청정보 전달.
HEAD
- GET과 동일하나, 응답에 BODY 없이 응답코드와 HEAD만 응답. - 웹 서버 정보확인, 헬스체크, 버전 확인, 최종 수정일자 확인 등의 용도로 사용.
POST
- 요청한 자원을 생성하거나 업데이트 목적으로 사용. - 전송할 데이터를 BODY에 FORM 형태로 담아서 전송.
PUT
- 요청 자원을 수정한다. - 자원 전체 수정.
PATCH
- PUT과 유사하게 요청된 자원을 수정할 때 사용한다. - 일부 자원 교체.
DELETE
- 요청된 자원을 삭제.
CONNECT
- 요청한 자원에 대해 양방향 연결(터널)을 생성.
TRACE
- 원격지 서버에 루프백 메시지를 호출하기 위해 사용되며, 테스트용으로 사용.
OPTIONS
- 서버에서 제공하는 Method 종류를 확인할 때 사용.
3. 응답값(Status Code)
- 서버에서 클라이언트로 요청을 처리한 결과를 전송할때 사용 - 1xx(정보) : 요청을 받았고, 작업을 진행 중 - 2xx(성공) : 작업을 성공적으로 받았고, 이해했으며, 받아들여졌다는 의미 - 3xx(리다이렉션) : 요청을 완료하기 위해서는 리다이렉션이 이루어져야 한다는 의미 - 4xx(클라이언트 오류) : 요청은 올바르지 않다는 의미 - 5xx(서버 오류) : 서버가 응답할 수 없다는 의미
응답대역
응답코드
설명
1xx
100
- Continue - 클라이언트로부터 일부 요청을 받았으며, 나머지 정보를 계속 요청.
101
- Switching Protocols - 클라이언트가 Upgrade (en-US) 헤더를 통해 요청한 것에 따라 서버가 프로토콜을 바꾼다는 것을 알려주는 응답 코드.
2xx
200
- OK - 클라이언트의 요청을 성공적으로 처리.
201
- Created - 요청이 성공적으로 처리되어서 리소스가 생성됨.
202
- Accepted - 요청이 받아들여졌지만 처리되지 않음.
3xx
301
- Moved Permanently - 영구적으로 컨텐츠가 이동했을 때 사용. - location 헤더를 통해 해당 URL을 포함해 응답.
302
- Found - 일시적으로 컨텐츠가 이동했을때 사용. - location 헤더를 통해 해당 URL을 포함해 응답.
304
- Not Modified - 요청한 자원의 경로가 변경되지 않았으며, 클라이언트의 캐시된 자원을 사용하라는 의미.
4xx
400
- Bad Request - 클라이언트의 요청 자체가 잘못된 경우 발생
401
- Unauthorized - 인증이 필요한 리소스에 인증 없이 접근할 경우 발생.
403
- Forbidden - 서버에 요청이 전달되었지만, 권한 때문에 거절되었다는 것을 의미.
404
- Not Found - 서버가 요청받은 리소스를 찾을 수 없다는 것을 의미
5xx
500
- Internal Server Error - 서버에 오류가 발생해 작업을 수행할 수 없을 때 사용.
503
- Service Temporarily Unavailable - 서비스를 일시적으로 사용할 수 없을 때 사용.
- 공격자는 웹하드를 이용해 게임이나 게임 크랙 등 불법 프로그램과 함께 악성코드 유포 - 주로 RAT 악성코드를 유표(njRAT, UdpRAT, DDoS IRC Bot 등)
특징
- 최근 웹하드에 게임 설치 파일로 위장해 업로드 된 압축 파일을 통해 XMRig 모네로 코인 마이너를 유포하는 사례가 확인 * 코인 마이너 : 사용자 PC에 설치되어 시스템 리소스를 이용해 가상화폐를 채굴하는 악성코드 - 다운로드한 파일을 압축해제 시 게임 아이콘으로 위장한 raksasi.exe 프로그램이 실행 - 해당 파일은 XMRig 모네로 코인 마이너를 설치하는 악성코드 - 실제 게임 설치파일은 다른 폴더에 존재 - 컴퓨터가 재부팅할 때마다 동일 경로(‘c:\Xcrcure\’ 경로)에 존재하는 config.json 파일을 읽으며 마이닝을 수행
<동작> - 간단한 구조로 ‘c:\Xcrcure\’ 경로에 다음 파일을 설치 모네로 채굴 악성코드(xmrig.exe), XMRig 설정 파일(config.json), XMRig 런쳐 악성코드(MsDtsServer.exe) - 시작 폴더에 XMRig 런쳐 악성코드를 실행하는 바로가기를 ‘NewStartUp.lnk’라는 이름을 생성해 재부팅한 후 모네로 채굴 마이너를 동작시킴. - Resource 폴더에 존재하는 원본 게임 프로그램을 실행해 정상적으로 게임이 동작하는 것처럼 인식시킴.
대응
- 웹하드, P2P 사이트 등에서 다운한 실행 파일은 각별히 주의 - 유틸리티 및 게임 등의 프로그램은 반드시 공식 홈페이지에서 다운로드를 권장