Posts Inetsim - A fake service for dynamic malware analysis
Post
Cancel

Inetsim - A fake service for dynamic malware analysis

摘要

在動態分析 malware 時,malware 可能會因為環境的不同而造成行為不一樣,像是 malware 可能會檢查網路有沒有通,或是能不能連上自己的 C&C Server,假如失敗的話就會關閉程式,導致無法觀察到 malware 的行為,因此這邊介紹一個專門的工具 Inetsim,這項工具提供了相當多的service,只要將他安裝好後,就可以在本機端 (host) 開啟fake Service,當另一台主機 (guest) 設定 dns 為 host 時,就會連線到fake service,騙過 malware,讓他繼續執行,當然這個工具只是一個起頭,現在的 malware 都有很強的反分析能力,有時候還是需要各個擊破的。

架構圖

Arch.png

下載

官網上有載點以及 PGP key

  1. 將安裝包連結放入 source list echo "deb http://www.inetsim.org/debian/ binary/" > /etc/apt/sources.list.d/inetsim.list

  2. 將 PGP key 加入 apt key wget -O - http://www.inetsim.org/inetsim-archive-signing-key.asc | apt-key add -

  3. 安裝 apt update apt install inetsim

Config

  1. 開啟一個專屬 Inetsim 的資料夾 mkdir Inetsim

  2. 將原始config 檔案放入新資料夾 $ cp /etc/inetsim/inetsim.conf ./ $ sudo cp -r /var/lib/inetsim ./data $ sudo chmod -R 777 data

  3. 更改inetsim.conf

  • service_bind_address 預設只有聽 local 的網路卡,因此我們這邊必須改成0.0.0.0 讓外部的設備可以連,但假如你想鎖定在某個網卡也可以改成那張網卡
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    #########################################
    # service_bind_address
    #
    # IP address to bind services to
    #
    # Syntax: service_bind_address <IP address>
    #
    # Default: 127.0.0.1
    #
    service_bind_address    0.0.0.0
    
  • dns_default 這個參數代表的是每次 dns server 回傳的 ip,請輸入你本機網卡(與測試虛擬機相連的那張)
1
2
3
4
5
6
7
8
9
10
#########################################
# dns_default_ip
#
# Default IP address to return with DNS replies
#
# Syntax: dns_default_ip <IP address>
#
# Default: 127.0.0.1
#
dns_default_ip          10.10.2.1

由於我們必須使用 Inetsim 的 DNS 所以必須關閉本機端負責DNS 的service,否則會衝突,並且要重開機喔 sudo systemctl disable systemd-resolved.service sudo service systemd-resolved stop

開啟 Inetsim 服務

執行下面指令後就會看到是否成功Listen port 了,可以用wget 或 telnet 看 port 的回應 sudo inetsim --data data --conf inetsim.conf

虛擬機連線

這邊就先不討論建置虛擬機過程,假設你已經有一台機器(10.10.2.2)可以連線到本機(10.10.2.1 Inetsim),接下來去ping 一個不存在的 domain (googleGGdd.com),會發現無法連線,這是因為我們還沒將虛擬機的 DNS 換成本機端的

  • 修改 /etc/resolv.conf
    • 放入 nameserver 10.10.2.1

在重新ping 一次應該就會成功囉

ref

https://blog.christophetd.fr/malware-analysis-lab-with-virtualbox-inetsim-and-burp/#5_Using_INetSim_and_Burp_on_the_analysis_machine_to_analyze_the_network_traffic

https://www.inetsim.org/downloads.html

This post is licensed under CC BY 4.0 by the author.