天天看點

inetsim虛拟網絡伺服器,[原創]搭建網絡虛拟環境

搭建虛拟惡意軟體分析環境

前言

在分析樣本的時,有時會發現樣本連接配接的惡意IP已經失活,需要僞裝惡意IP來檢視其網絡行為,又或者由于樣本有掃描等行為,需要擷取網絡流量,就可以設定這樣的分析環境,将所有的網絡行為轉發到我們自己搭建的伺服器上。這樣既可以捕獲到網絡流量,又可以避免掃描到内網的其他機器。

建立虛拟機

需要建立一個伺服器的虛拟機及一個Linux的受害機(可以使用Ubuntu,Kali有些問題),一個Windows的受害機。

分析機的設定:INetSim

INetSim是一個非常友善和強大的實用程式,允許你在一台機器上模拟一堆标準的Internet服務。預設情況下,它将模拟可以輕松調整的DNS,HTTP和SMTP。由于我們後續會将受害者機器配置為無Internet通路,是以我們需要使用INetSim進行模拟。

安裝INetSim的方法有多種,最簡單的方法就是運作以下指令來安裝(在伺服器中)。

```

$ sudo su

$ echo "deb http://www.inetsim.org/debian/ binary/" > /etc/apt/sources.list.d/inetsim.list

$ wget -O - http://www.inetsim.org/inetsim-archive-signing-key.asc | apt-key add -

$ apt update

$ apt install inetsim

```

注意:想要在伺服器中複制粘貼這些指令,請選擇 裝置>共享剪貼闆>雙向 進行設定。

設定一個隔離的虛拟環境

我們要建立一個包含三個虛拟機的隔離網絡。此網絡将無Internet通路。此外,我們希望伺服器充當受害者機器的網絡網關,以便能夠輕松攔截網絡流量并模拟各種服務,如DNS或HTTP。

打開VM的編輯-虛拟網絡編輯器,添加一個新的網絡(新增的是VMnet2)

inetsim虛拟網絡伺服器,[原創]搭建網絡虛拟環境

将伺服器及兩個受害機的網絡擴充卡都改為新增的網絡

inetsim虛拟網絡伺服器,[原創]搭建網絡虛拟環境

伺服器

使用 ifconfig,檢視接口名(enp0s3改為接口名)

以root身份打開檔案/etc/network/interfaces,在末尾添加以下内容:

```

auto eth0

iface eth0 inet static

address 10.0.0.1

netmask 255.255.255.0

```

這将在我們的虛拟網絡上為機器配置設定靜态IP 10.0.0.1。 現在我們已經配置了網絡接口,我們使用以下指令來啟動它:

```

sudo ifup eth0

sudo service networking restart

```

配置INetSim

修改INetSim配置檔案,/etc/inetsim/inetsim.conf

預設情況下,INetSim僅偵聽本地接口。為了使其支援我們虛拟網絡中的所有機器,我們需要将剛剛複制的配置檔案中的以下行:

#service_bind_address 10.0.0.1

替換為:

service_bind_address 0.0.0.0

預設情況下,INetSim的DNS伺服器會将所有域名解析為127.0.0.1。我們希望任何域名解析為10.0.0.1(分析機IP); 取消以下行注釋:

#dns_default_ip 10.0.0.1

Ubuntu受害者機器

這裡的過程非常相似,隻是我們将為它配置設定靜态IP 10.0.0.2,并訓示它使用10.0.0.1作為網關和DNS伺服器。在檔案/etc/network/interfaces的末尾附加以下内容:

```

auto enp0s3

iface enp0s3 inet static

address 10.0.0.2

gateway 10.0.0.1

netmask 255.255.255.0

dns-nameservers 10.0.0.1

```

還需要修改一下這個檔案 /etc/resolv.conf

将其 dns 修改為 10.0.0.1

并運作:

```

sudo ifup enp0s3

sudo service networking restart

```

現在應該能夠ping通分析機:

```

ping 10.0.0.1

PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.

64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.480 ms

64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.526 ms

```

Windows 7受害者機器

右鍵單擊工作列中的網絡圖示(或轉到“開始”菜單>“控制台”>“網絡和Internet”>“網絡和共享中心”),單擊“本地連接配接2”>“屬性”,選中“Internet協定版本4”,然後單擊屬性按鈕。

我們将靜态IP 10.0.0.3配置設定給機器,其餘部配置設定置與Ubuntu受害者機器類似。

inetsim虛拟網絡伺服器,[原創]搭建網絡虛拟環境

確定驗證設定(單擊 确定,應用等,直到所有設定視窗都消失)。現在應該可以ping通伺服器:

```

ping 10.0.0.1

Pinging 10.0.0.1 with 32 bytes of data:

Reply from 10.0.0.1: bytes=32 time<1ms TTL=64

Reply from 10.0.0.1: bytes=32 time<1ms TTL=64

```

建立快照

配置好之後,将純淨的無病毒的虛拟機建立快照,以便以後進行分析。

## 運作測試

伺服器中打開INetSim,受害機進行測試,成功。

Windows

inetsim虛拟網絡伺服器,[原創]搭建網絡虛拟環境

Ubuntu

inetsim虛拟網絡伺服器,[原創]搭建網絡虛拟環境

需開啟惡意IP對應的端口

inetsim虛拟網絡伺服器,[原創]搭建網絡虛拟環境

如果是上圖所示,隻需要轉發端口即可 iptables -t nat -A PREROUTING -p tcp --dport 48080 -j REDIRECT --to-ports 80

在伺服器中使用 iptables -t nat -A PREROUTING -i eth0 -j REDIRECT 這個指令,是轉發網卡的,

有一些使用了上面的指令也不能找到,隻能使用原先的辦法(環回擴充卡)。

常見問題

- 無法啟動網絡接口

- 第一種情況(interfaces檔案中網絡接口名與原網絡接口名相同)

```

sudo ifup eth0

sudo service networking restart

```

如果上述兩條指令無法執行,可以執行下面的指令

```

sudo ifconfig eth0 down #取消網卡 eth0 的 ip 位址

sudo ifdown eth0 #用 ifdown 來确認是否已成功取消

sudo ifconfig eth0 up #重新啟用該網卡的 ip

```

- 第二種情況

修改interfaces檔案中網絡接口名,使得其與原網絡接口名相同 。