네트워커의 보안 티스토리

* 본 게시물의 내용은 수업에서 배운 것을 정리한 것이므로 악용해서는 안됩니다.

  게시된 내용들은 잘 알려져있는 기술들입니다. 따라서  악용하더라도 쉽게 적발되니

  절대 악용해서는 안됩니다.

-------------------------------------------------------------------------------------------------




IP Spoofing 방어












hosts.deny 파일을 열어서

서비스 데몬: 거부할 ip






저번과 똑같이 가상인터페이스를 만들어 win2000의 아이피를 준후 arp spoofing 한다음에 시도해보니 연결이 안된다.





[IP Spoofing Mission#1]


-SSH 서버에 접속하는 공격자가 외부망에서 접속한 것 처럼 속여라.



포워딩 한다음에


ssh 서버에게 내가 게이트웨이라고 속이고 외부망 아이피로 ssh 접속을 시도 하면되겠다.


간단하게 숫자만 몇개 바꾸는 것이라 크게 다르지 않다.



tail -5 /var/log/secure 로 로그 확인까지 해서 마무리지으면 되겠다.



1. 공격자가 SSH 서버에 SYN 을 보낸다.


2. SYN을 받은 SSH 서버는 게이트웨이로 SYN/ACK 를 보낸다.


3. 하지만 그 게이트웨이는 공격자의 맥주소랑 매칭이 된다.


4. 공격자는 SYN/ACK를 받고 연결을 하게 된다.


5. SSH서버는 로그가 44.44.44.44에서 접속을 성공한 것으로 보이지만 실제로는 


 공격자가 접속한 것이다.


--------------------------------------------------------------------------------




[IP Spoofing Lab#2]


1. SSH 서버에 허용되어 있는 IP 주소를 찾아라.

 (관리자가 SSH 서버에 접속해서 작업을 하고 있는 상황임.

동일 네트워크의 호스트는 200개이다. SSH 서버에 남겨지는 접속 시도 로그를 최소화 해야한다.)


2. 알아낸 IP 주소를 이용해 IP Spoofing 공격.

 (관리자가 로그오프 후 접속 시도)




arpspoof 으로 10.10.10.0에게 나를 ssh서버라고 속임


(arpspoof -i eth4 10.10.10.4) - 타겟을 입력안하면 브로드로 보낸다.


그 후 포워딩


그러면 관리자가 ssh 서버로 연결하는 패킷이 캡쳐가 될 것.


패킷 캡처하고 로그아웃 하는 패킷 뜰때까지 대기.


이 패킷은 FIN 플래그를 가지고 있음





FIN 패킷이 뜨면, spoofing을 바꿈


ssh서버에게 타겟이 나인 것처럼 .


그러면 성공.





* IP Spoofing Attack 방어


ARP Spoofing 을 원천적으로 막는다.



DOS 공격 같은 경우에는 사실 응답메시지가 필요 없기 때문에, IP Spoofing 우회만으로는  막을 수 없다.







* DCHP Spoofing Attack


DCHP 서버에서 클라이언트에게 ip를 줄 때, DNS , Gateway는 옵션으로 준다.

공격자는 이 옵션을 노리는 것이다.


MITM 상태를 만들기 위한 또 다른 방법이다.




[DHCP 임대 생성 과정]


DHCP Process의 4단계 (DORA) (UDP)


- Discover : DHCP 서버를 패킷을 Broadcast 함. 클라이언트는 서버에 대한 정보를 모른다. 아무나 정상적인 서버라고 속일 수 있다.


- Offer : Discover 메시지를 받은 DHCP 서버가 IP Address 하나를 담고 있는 패킷을 Broadcast 함. 여러 서버가 클라이언트에게 OFFER 신호를 보냈다면 클라이언트는 선착순으로 가장 먼저 온 신호를 채택해서 사용한다. (DHCP Spoofing)


- Request: DHCP 클라이언트는 임대 받은 IP Address와 임대 해 준 서버의 IP Address를 담은 패킷을 Broadcast 함.


- Ack: 자신이 보낸 IP Address가 채택되지 않은 서버는 해당 주소를 IP Database에 유지하고, 자신이 보낸 IP Address가 채택된 서버는 IP 임대기간, DNS, Default Gateway 등의DHCP 옵션 값을 담은 패킷을 Broadcast 한다.






일단 라우터에 dhcp 서버 서비스 올리기


기본적으로 올라가 있어서 설정만 해주면 된다.




ip dhcp pool Cert

network 10.10.10.0 /24        #네트워크 대역대

default-router 10.10.10.254  #게이트웨이

dns-server 8.8.8.8               #dns

lease 0 1                           #임대시간 1시간



서버주소를 제외해주고 할당해줘야 하기때문에 


ip dhcp excluded-address 10.10.10.1 10.10.10.20

ip dhcp excluded-address 10.10.10.200 10.10.10.254


게이트웨이도 제외시킨다.




########





할당 할 수 있는 범위 인지 본다.

할당이 되어 있는 IP 인지 확인한다.

사용하고 있는 IP 인지 확인한다.(ICMP로)

후 부여한다.


Requested IP 옵션은 기존에 사용했던 IP를 부여받고 싶다는 옵션이다.


이 옵션이 없으면은 먼저 온 Offer에 반응을 한다.


Request IP 옵션에 만족하는 Offer가 있으면은 기다려보고 그래도 없으면은 그 Offer를 받아들인다.


Request ACK가 유니캐스트로 동작하는 경우도 있다.

UNIX 는 2계층 주소로 통신하기 때문에 Request와 ACK는 유니캐스트로 동작한다.




###


Bactrack 종료후

Backtrack 설정에서 USB Controller를 제거한다. 후 부팅한다.









공격에 용이하게 36000초로 늘려준다.





-M 뒤에 arp도 되고 ip도 된다.



게이트웨이는 빠져있는데 게이트웨이는 공격자 자신의 IP가 들어간다.

이 툴은 포워딩도 자동으로 해준다. 



XP에서 


ipconfig /release

ipconfig /renew 로 IP를 재할당 받아본다.





아까 받았던 거 그대로 똑같은거 받아오는 것 같다.






확인해보니 게이트웨이는 공격자 것으로 바뀌었다.







보면 Offer가 두개다

먼저 공격자가 보낸 Offer가 도착했고, 그다음이 DHCP 서버에서 보낸 Offer이다.


Requested에 만족하는 것이 DHCP가 보낸 것이기 때문에 DHCP Offer를 받아들인다.


ettercap은 1차공격이 실패 한 것을 알고, 2차 공격을 한다.


ACK로






맥주소를 확인하면, 누가 보냈는지 확인이 가능하다.


ettercap은 정상적인 Offer에서 DNS, Gateway(옵션)을 제외한 것들은 다 맞춰준다.



클라이언트는 최종적인 ACK 대로 설정하기 때문이다.


공격자는 옵션을 제외하고 정상적으로 보이는 ACK를 먼저 보내기만 하면 클라이언트는 덥석 물게 된다.





###############################################


[DHCP Spoofing 공격을 이용한 Pharming 공격 실습]


1.  공격자가 사용하는 운영체제 BackTrack과 Linux, Win2K이다.

공격은 BackTrack에서 Xp를 대상으로 한다.


2. DHCP Spoofing 공격을 이용해 XP 사용자가 www.naver.com에 접속할 때 공격자가 만들어 놓은 가짜 사이트(webhack)에 접속되게 하라.(단, Pharming 공격 대상 사이트를 제외한 다른 사이트에는 정상적으로 접속 되어야 한다).




* 내가 한 방법


DNS 서버에서 www.naver.com에 대한 zone을 만든 다음에


DHCP Spoofing 할 때 DNS를 내가 가지고 있는 DNS서버로 지정.


그러면 파밍사이트로 접속하게 됨.