DoS 공격 실습 (2)
오늘은 네트워크 보안 8번째 이야기에서 끝내지 못한 실습을
이어서 해보려고 해
오늘은 ettercap과 wireshark를 활용해서 공격 실습을 해보도록 할게
바로 시작하자!
ettercap을 사용한 DoS 공격
우리가 9번째 이야기에서 ettercap을 잠깐 다뤄봤는데
여기서 ettercap에 대해 상세하게 배워보려고 해
ettercap의 기능
1. arp spoofing 2. DNS spoofing 3. Sniffing 4. DDoS와 같은 공격을 수행할 수 있어
운영 mode는 저번 시간에서 배웠듯이 text mode와 graphic mode로 나뉘는데
오늘은 text mode로 실습을 진행해보도록 할게
<ettercap option>
i : interface
G : graphic mode
T : text mode
q : quiet mode
F : filter (파일 기반)
M : man in the middle attack
/ : 공격 대상 IP 주소 입력 시 사용
ettercap을 이용한 spoofing과 DoS 공격
DoS 공격 전에 우리의 출발지 주소를 감출 spoofing 과정을 진행해야 돼
spoofing을 진행할 소스 코드를 만들고 이를 실행해보도록 하자
소스 code
if (ip.src=='192.168.10.133' || ip.dst=='192.168.10.133')
{
drop();
kill();
msg("DoS Attack...!!!\n");
}
code 해석
ip의 출발지 주소가 192.168.10.133 이거나
목적지 주소가 192.168.10.133 이면 code가 실행되는데
전송되는 매체가 packet일 경우 drop() 함수를 실행하고
전송되는 매체가 traffic일 경우 kill() 함수를 실행해
drop은 packet을 폐기, kill은 process를 중단시키는 명령이고
위의 함수들이 실행되면 도스 어택이라는 메시지를 보내주면서 코드 실행을 종료하는 방식이야
자, 우리는 위의 소스파일 이름은 'dos.elf'로 저장을 하고 아래와 같이 명령어를 수행할게
etterfilter dos.elf -o dos.ef
위의 명령은 dos.elf라는 소스코드 파일을 컴파일해서
실행 파일인 dos.ef를 생성하는 명령이야
(여기서는 filter.ef 파일로 저장되었어)
ettercap -T -q -F dos.elf -M ARP /192.168.10.134///
192.168.10.134 주소를 가진 대상자에게 ARP라는 중간자 공격을 실행하는데,
dos.elf 파일을 필터링 후 ettercap의 text mode로 quiet 방식을 적용한 명령이야
해당 명령을 실행하면 어떻게 되는지 확인해보자
192.168.10.134 주소를 가진 windows10의 arp 테이블도 같이 확인해보자
첫 번째 사진은 arp spoofing 공격전의 arp 테이블이고,
두 번째 사진은 arp spoofing 공격 후의 arp 테이블이야
현재 192.168.10.0/24 네트워크의 모든 대역들이 arp spoofing으로 인해
모든 IP의 MAC 주소가 동일하게 된 것을 볼 수 있어
이렇게 되면 인터넷 접속은 당연히 안될 수밖에 없겠지?
여기서 같은 network 대역에 있는 CentOS에서 wireshark로 packet을 분석해보자!
wireshark는 기본적으로 promiscuous mode로 설정되어 있어서
자신에게 오는 packet이 아니어도 다른 host에게 보내는 packet도 감지할 수가 있어
위의 사진을 보면 수많은 ARP 패킷이 Broadcast 방식으로 통신 중인 것을 확인할 수 있어
Broadcasting은 네트워크 공부할 때도 배웠듯이 네트워크 내부의 자원을 많이 활용하는 통신이야
결국, 쓸데없는 broadcasting은 자원을 낭비하는 작업을 하게 돼
좀 더 packet의 세부내용을 확인해볼까?
무작위로 하나의 packet을 분석해보니 다음과 같이 MAC 주소와 IP주소까지 확인할 수 있는 것 보이지?
좀 더 자세한 내용은 한 번 wireshark로 packet을 분석해보고 직접 확인해봐!
여기까지가 ettercap으로 DoS 공격을 해본 결과야
오늘은 여기까지 진행하는 걸로 하고 다음 시간에는 DNS spoofing에 대해 실습해보도록 할게!