跳转至

Network Security Lab 2

407 个字 47 行代码 预计阅读时间 2 分钟

Abstract

网络安全 lab2 实验报告

仅供学习参考,请勿抄袭,请勿用于非法用途,一切后果与本人无关

Goal

Lab 02 aims to understand the principle of ARP deception and DNS deception, and practice these attacks through tools such as WinCap and Cain.

*but due to the instruction of TAs, we actually use dsniff tools to perform ARP and DNS deception.

Steps

Setup vm and IP

I use macOS as host machine, and use Parallels Desktop as the virtual machine application. And I have installed Ubuntu 22.04 server in the virtual machine.

Parallels Desktop recommends to use "shared network" mode, but in this mode I found that the host can't ping the gateway of the bridge interface, and the attack also won't effect the host's network. So I turn to "bridged network" mode to use the same WiFi network as the host.

After turn down the IPv6 on macOS, the vm can access the network using IPv4. Then we can find the IP address of the host and vm through ifconfig command

And in the host:

❯ ifconfig
...
en0: flags=8b63<UP,BROADCAST,SMART,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether 88:66:5a:0c:09:90
    inet 172.20.10.2 netmask 0xfffffff0 broadcast 172.20.10.15
    inet6 fe80::8c0:a128:18ee:a8c6%en0 prefixlen 64 secured scopeid 0x7
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
...

And we can find the gateway and dns server using netstat -rn and scutil --dns command in the host:

❯ netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags               Netif Expire
default            172.20.10.1        UGScg                 en0
...

❯ scutil --dns
DNS configuration

resolver #1
  nameserver[0] : 172.20.10.1
  if_index : 7 (en0)
  flags    : Request A records
  reach    : 0x00020002 (Reachable,Directly Reachable Address)

...

DNS configuration (for scoped queries)

resolver #1
  nameserver[0] : 172.20.10.1
  if_index : 7 (en0)
  flags    : Scoped, Request A records
  reach    : 0x00020002 (Reachable,Directly Reachable Address)

So we can know that the host's ip at this interface is 172.20.10.2, the gateway and DNS server is 172.20.10.1, the vm's ip is 172.20.10.6 and the host and vm can ping each other:

ARP Spoofing

First check the ARP table of the host:

❯ arp -a
...
? (172.20.10.1) at 62:57:c8:17:26:64 on en0 ifscope [ethernet]
? (172.20.10.2) at 88:66:5a:c:9:90 on en0 ifscope permanent [ethernet]
? (172.20.10.6) at 0:1c:42:ae:51:ae on en0 ifscope [ethernet]

Mainly focus on the interface en0, with ip 172.20.10.(1|2|6).

Then run arpspoof command in the vm to perform ARP spoofing to the host's gateway:

We can see that the vm is replying host with wrong MAC address which point to itself. So then 172.20.10.1's MAC address will point to the vm:

We can see that the MAC address of 172.20.10.1 is successfully modified to 0:1c:42:ae:51:ae which is the same as 172.20.10.6.

DNS Spoofing

With the arpspoof running, we can run dnsspoof at the same time to reply wrong DNS result. Write 10.10.10.3 *.baidu.com to dnsspoof.hosts and then run dnsspoof:

❯ sudo dnsspoof -i enp0s5 -f dnsspoof.hosts host 172.20.10.2 and udp port 53
dnsspoof: listening on enp0s5 [host 172.20.10.2 and udp port 53]

Then ping www.baidu.com in the host, we can find that the ip address of www.baidu.com is resolved to 10.10.10.3:

And we can find a DNS log of dnsspoof:

❯ sudo dnsspoof -i enp0s5 -f dnsspoof.hosts host 172.20.10.2 and udp port 53
dnsspoof: listening on enp0s5 [host 172.20.10.2 and udp port 53]
172.20.10.2.62144 > 172.20.10.1.53:  17469+ A? www.baidu.com

So the ARP spoofing attack and DNS spoofing attack is succeed.


最后更新: 2024年9月16日 00:56:42
创建日期: 2024年9月16日 00:56:42
回到页面顶部