분류 전체보기(333)
-
ICMP (Internet Control Message Protocol) 프로그래밍
ICMP- IP프로토콜은 호스트와의 관리 질의를 위한 메커니즘이 없다- 호스트는 간혹 라우터나 다른 호스트가 동작하고 있는지 알 필요가 있다- 그리고 네트워크 관리자는 다른 호스트나 라우터로부터 정보를 획득할 필요가 있다- ICMP 메시지는 오류보고 메시지와 질의 메시지로 나누어진다- 오류보고 메시지 : 라우터나 호스트가 IP패킷을 처리하는 도중에 탐지하는 문제를 보고- 질의 메시지 : 호스트나 네트워크 관리자가 라우터나 다른 호스트로부터 특정 정보를 획득하기 위해 사용 Type(1byte) Code(1byte) Checksum(2byte) Identifier(2byte) Sequence (2byte) Payload(data) [ 질의 메시지 구조] [ 실습 ]에코요청 메시지( type 8 ) 와 에코응..
2017.06.28 -
ARP Spoofing Attack ( MAC주소 이용 )
대표적인 Sniffing기법중의 하나이다ARP Spoofing은 근거리 통신망(LAN) 하에서 주소 결정 프로토콜(ARP) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법 ( Man In The Middle )데이터 링크 상의 프로토콜인 ARP 프로토콜을 이용하기 때문에 근거리상의 통신에서만 사용할 수 있는 공격 [ 실습1 ] - A에게 ARP 패킷을 보낸다A가 B에게 보내는 데이터를 가로채보자 ( A -> hacker -> B )A ip : 192.168.6.41B ip : 192.168.6.200 [1] #vi arping.py : A의 캐시 테이블을 오염시키는 코드import socketimport timefrom header.eth import *from header...
2017.06.23 -
ARP ( Address Resolution Protocol ) 프로그래밍
1계층은 물리계층이며 2계층은 데이터 링크층이라고 한다DataLink층은 상위계층의 패킷을 전달받아 프레임형태로변환하여 물리계층에 전달한다이 때, 이더넷 헤더에는 상위계층의 프로토콜정보와 src,dst MAC Address정보가 담긴다 헤더 물리계층 MAC 프레임 운영체제에서 볼 수 있는 영역 Preamble SFD DST SRC TYPE DATA PADDING FCS 1 2 3 4 5 6 7 1>Preamble SFD : 볼 수 없는 영역, 물리(NIC)2 ~ 7 : 볼 수 있는 영역2>DST(Destination address) : 프레임을 수신할 MAC주소정보 - 이더넷헤더3>SRC(Source address) : 프레임을 송신한 호스트의 MAC주소정보 - 이더넷헤더4>TYPE : 상위 계층 프로토..
2017.06.22 -
계층별 헤더 프로그래밍
헤더의 종류는 세가지로 나뉘어집니다( Ethernet헤더, IP헤더, UDP(orTCP)헤더 )각각의 헤더 정보를 나누어 클래스로 만든다음 하나로 묶어주겠습니다 ( packet.py )즉, 하나의 packet클래스안에 이더넷,아이피,유디피헤더 클래스들을 포함시켜 한번에 헤더의 각각의 정보를 분류하고 얻을 수 있다 [1] eth.py, udp.py, ip.py 각각의 클래스 생성[2] packet.py에서 세개의 클래스들을 import한다[3] 스니퍼프로그램에서 packet클래스를 이용해 각 정보를 이용한 필터링[4] 원하는 정보만을 출력할 수 있다 [Server-A@ header]# vi eth.py // Eth클래스import struct class Eth: def __init__(self,raw=No..
2017.06.20 -
메서드를 활용한 계층별 헤더 분석
이전 글에서 헤더를 분석할 때 일일히 직접 16진수로 형변환 시켰습니다이는 너무 번거로운 과정이므로 메서드를 이용해서 헤더의 정보를 얻어오는 실습입니다 이전 sniffer프로그램으로 얻어온 데이터를 다시 사용하겠습니다 104 data : b"\xd0~5\xdaO\x1c\x00\x0c)\xf0bs\x08\x00E\x00\x00!\x00\x00@\x00@\x11\xb3\xe2\xc0\xa8\x02\xb3\xc0\xa8\x02\xe6 \xa4\x8e'\x10\x00\riyhello"105 data : b"\x00\x0c)\xf0bs\xd0~5\xdaO\x1c\x08\x00E\x00\x00!\x00\x00@\x00@\x11\xb3\xe2\xc0\xa8\x02\xe6\xc0\xa8\x02\xb3 '\x10\xa4..
2017.06.17 -
[8] Use After Free / Double Free Bug
https://bpsecblog.wordpress.com/2016/10/06/heap_vuln/ 해당 블로그를 참고하였고, 해당 내용은 공부하기 편하도록 단지 정리만 해놓은 문서입니다.Heap영역은 컴파일러가 예측할 수 없는 프로그래머가 관리하는 영역입니다동적할당으로 인해 컴파일 시기에 크기를 알 수 없는 데이터를 관리합니다이전 Heap게시글에서는 Heap Overflow 를 공부했고, 이번에는 UAF와 DFB에 대해 알아보겠습니다 [ UAF ] ( Use After Free )말그대로 free가 일어난 후에 발생하는 현상입니다ex1.heap.c #include #include int main(){ int *heap1; int *heap2; int *heap3; heap1 = (int*)malloc(25..
2017.06.16