-
ARP Spoofing카테고리 없음 2023. 3. 6. 11:29
ARP Spoofing
- 개요
: 어떤 IP와 주소를 사용하는 시스템의 2계층인 데이터링크의 주소를 알아내기 위한 프로토콜
: ARP는 Request와 Response로 이루어져 있다. (PC A에서 PC B로 데이터를 전송하는 경우의 동작)
; A는 IP를 누가 사용하고 있는지 ARP Request를 Broadcasting한다.
; B는 ARP Response(Reply)를 A에게 보낸다.
; A는 B의 MAC Address로 데이터를 전송한다.
- ARP의 문제점
: 응답자가 보낸 MAC의 진위여부를 확인할 수 없다.
- 환경 설정
: CentOS
: Windows Server 2019
: Windows 10
- Spoofing
: Sniffing & Spoofing
; Sniffing (스니핑)
-> 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 훔쳐보는 행위(도청을) 말한다.
-> 종류
: Passive Sniffing
-> HUB(Switch)와 같이 모든 노드에 동일한 전기적 신호(동기신호)가 복제되는 경우에는 단순히 스니퍼만 동작시켜도 모든 패킷을 잡아내는 방법을 말한다.
: Active Sniffing
-> Switch 환경에서는 해당 포트로만 데이터가 전송되기 때문에 데이터 신호를 스니퍼가 설치된 시스템에 경유하도록 ‘유도’하는 방법을 말한다.
; Spoofing(스푸핑)
-> Sniffing 공격의 대표적 기술을 말한다.
->외부의 악의적인 네트워크 침입자가 웹사이트를 구성한 후 사용자들의 방문을 유도하고 인터넷 프로토콜(TCP/IP)의 구조적 결함을 이용해서 사용자의 시스템 권한을 획득한 뒤 정보를 빼내가는 해킹 기법을 말한다.
-> 잘 알려진 기업의 명의로 스팸 메일을 발송하거나 위조 사이트의 접속을 유도하는 기술과 로그인 하려는 컴퓨터가 허가받은 IP를 도용해서 로그인하는 기법 등을 총칭한다.
-> 기법
: ARP Spoofing
-> MAC Address를 속여 LAN에서의 통신 흐름을 왜곡시키는 공격 기법
-> ARP 테이블(arp -a)이 바뀌면 경고를 보내는 룰을 통해 어느 정도는 예방할 수 있지만 근본적으로 TCP/IP 프로토콜 자체 (공용프로토콜로써의 문제)의 문제이기 때문에 ARP Spoofing에 대한 보안 대책은 없다.
: DNS Spoofing
-> DNS에서 전달되는 IP주소를 변조하거나 DNS의 서버를 장악하여 사용자가 의도하지 않는 주소로 접속하게 만드는 공격 기법
: IP Spoofing
-> IP주소를 속이는 공격 기법
: DNS Spoofing
; 공격 방법
-> 사용자로부터 입력받은 도메인 주소는 DNS서버에 의해 IP주소로 변환된 후 서비스를 한다.
-> 즉, DNS의 주소로 UDP프로토콜을 이용하여 질의하는 과정에서 ‘중간자 공격을 이용한 공격’ 또는 ‘DNS 주소의 변조가 되었을 경우’를 이용한 공격을 행한다.
; 실습
-> 테스트 1.
: 환경설정(NAT)
-> Kali(Attacker)
-> Windows 10 (Victim)
-> Victim의 웹 브라우저에서 ‘www.samadal.com’ 창을 띄운다.
: 공격자와 희생자에서의 IP주소, G/W주소, MAC주소 확인
-> 공격자
(kali)# ip link show eth0


-> 희생자
(win10) IP의 MAC주소 00-0C-29-53-7C-99
(win10) G/W의 MAC주소 00:50:56:f0:94:33
-> 설정되어 있는 MAC Address 확인 결과
Kali 00:0c:29:53:7c:99
Windows 10 00-0C-29-53-7C-99
G/W 00:50:56:f0:94:33
: 공격자에서 ARP
-> 사이트 출력(잘된다.)
-> 명령어 관련 패키지(dsniff) 설치
-> ARP Spoofing

-> 희생자의 G/W주소를 확인(arp -a)해보면 공격자의 MAC주소 변경된 것을 확인 arpspoof -i eth0 -t 192.168.10.129 192.168.10.2

-> 사이트 출력( 안된다.)

-> 테스트 2. CentOS 에서 DNS를 직접 만들고 위의 ‘테스트 1’을 실습한다.
: 시나리오
-> CentOS에서 ‘DNS서버’ 구축한 후 Kali에서 ARP spoofing 후 Windows10에서 확인
: 환경설정(NAT)
-> Kali (Attacker)
-> Windows 10 (확인)
-> CentOS (Victim)
: Kali에 새로운 호스트(Attack)를 부여하고 네트워크 재구성
-> CentOS에서 호스트(Attack) 부여
-> Kali에서 CLI Mode로 네트워크 구성 (GUI Mode보다 우선한다.)
-> Windows 10 에서 네임서버 조회
: 사이트 출력
-> Kali에서 웹서버 데몬(apache2)을 실행한다.
-> Windows 10 에서 웹브라우저를 통해 ‘atttack.samadal.com’을 입력 후 출력한다.
-> ‘apache2테스트 페이지’가 출력되어야 한다.

kali vi /etc/network/interface
이후 service networking restart 해도 안되면
service apache2 restart 해본다


attack.samadal.com 만 128로 통하는거 보면 된다
dns에서 정방향 역방향 attack 추가 해준다




이후 다시 kali firefox에서 192 .168.10.128 때려본다
안되면 ufw status 에 80/tcp 포트가 열려있는지 확인




확인 완
:Kali에서의 DNS Spoofing 공격
-> Kali
- DNS spoofing 명령 실행
- arpspoof -i eth0 192.168.10.129 192.168.10.2
- arpspoof -i eth0 192.168.10.130 192.168.10.2
-> Windows 10
- 사이트 출력(attack.samadal.com)
- ‘arp -a’를 통해 G/W 주소 확인 (Kali의 MAC 주소 확인)
- 사이트 출력(www.samadal.com)
- ‘arp -a’를 통해 G/W 주소 확인 (Kali의 MAC 주소 확인)
-> centOS
: 결론
-> ARP Spoofing만으로는 사이트에 어떠한 변화도 줄 수가 없다.
-> 다만 G/W 주소만 변경될 뿐이다.
-> 테스트 3.
: 선수 작업
-> PHP 소스 코드를 이용한 웹 페이지와 DB를 연동해서 게시판 사이트 출력 페이지 생성
-> 테스트4. 패킷 덤핑(패킷 포워딩) 및 가로채기
: 환경설정
-> Kali 192.168.10.128 /C Class /192.168.10.2/192.168.10.2
-> Windows 192.168.10.129 / C class / 192.168.10.2 / 8.8.8.8
: Kali에서 샥스핀을 미리 실행시켜 놓는다.
: Putty랑 두 개를 실행시킨 후 다음의 두 명령을 각각 실행시킨다.
-> arpspoof -i eth0 -t 192.168.10.129 192.168.10.2
-> fragrouter -B1
: Windows 10 에서 다음과 같이 실행한다.
-> 웹브라우저에서 네이버 입력 후 검색창에 파이썬을 입력한다.
-> 안전하지 않는 페이지…라고 출력되는지 꼭 확인한다.
: 샥스핀에서 ‘httpd‘를 필터링 한 후 ‘info’ 항목에 /login/login_check.php’로 된 부분 확인
: 결론
-> 파일명이 나온다는 것은 보안상 취약하다는 것을 말한다.
-> 정리 (지금까지 작업한 내용 요약)
: Step 1. arpspoofing을 이용해서 공격대상 시스템의 ARP 캐시 정보 변경
-> arpspoofing -i eth0 -t 192.168.10.129 192.168.10.2
: Step 2. 패킷 포워딩(Packet Forwarding) 설정
-> fragrouter -B1
: Step.3. 덤핑 및 가로채기
-> tcpdump src 192.168.10.129(Client IP) and port 80
: Client의 80번 포트를 사용하는 모든 IP들을 덤핑한다.
: 만약, 화면에 아무것도 안 나타나면 화면에 있는 링크를 아무거나 클릭한다.
-> sudo driftnet -i eth0
: 패킷을 덤핑할 떄 이미지까지도 덤핑하게 해준다.
: arpspoof, fragrouter, tcpdump 명령이 모두 실행된 상태에서 해야한다.
: root가 아닌 일반 사용자에서 실행해야 한다.
: 작은 창이 나타나면 Windows10에서 사이트를 출력한 후 이미지를 열나게 광클릭
: 캡처된 이미지는 ‘tmp’ 디렉터리를 확인
- Spoofing


netenum 192.168.10.0/24 3 0 하면 그 대역대에 있는 사용자 IP 가 다 뜬다
내꺼 막는 방법은 password를 바꿔주면 된다 passwd
ssh 192.168.10.(상대ip) 하고 접속 된 후 dns 서버 찾고 vi /etc/resolv.conf 로 찾으면 됨
db는 아직 못찾음..