Meterpreter基礎


在本節中,我們將學習如何與Metasploit的Meterpreter進行互動。在Linux中,help命令用於獲取有關特定命令的資訊。因此,我們要做的第一件事是執行help命令,以獲取可以執行的所有命令的大列表。它還告訴我們每個命令的作用描述,如下面的螢幕截圖所示:

Meterpreter基礎

我們要強調的第一件事是後台命令,如下面的螢幕截圖所示:

background命令主要用於後台當前對談而不終止它。此命令與最小化視窗非常相似。因此,在執行後台命令後,可以返回Metasploit並執行其他命令以進一步利用目標機器,保持與我們剛攻擊的計算機的連線。我們使用sessions -l命令檢視我們正在使用的所有計算機和對談的列表。在下面的螢幕截圖中,我們可以看到我們仍然有Meterpreter對談,它位於我們的裝置10.0.2.15和目標裝置10.0.2.5之間:

如果想要回到上一個對談再次執行Metasploit,需要使用執行sessions -i命令(用於互動),然後輸入ID,即2,如下面的螢幕截圖所示:

我們入侵系統時將執行的另一個命令是sysinfo命令。sysinfo命令向我們顯示有關目標計算機的資訊。在下面的螢幕截圖中,我們可以看到它向我們展示了計算機的名稱,作業系統和體系結構。我們還可以在下面的螢幕截圖中看到它是64位元計算機,因此如果我們希望將來在目標計算機上執行可執行檔案,我們將建立64位元可執行檔案:

我們可以看到它使用英語,計算機正在處理的工作組以及登入的使用者ID。還可以看到目標機器上執行的Meterpreter版本,它實際上是32位元 版。

另一個有用的資訊收集命令是ipconfigipconfig命令顯示連線到目標計算機的所有介面,如以下螢幕截圖所示:

計算機的所有接口

在上面的螢幕截圖中,我們可以看到介面1,MAC地址,IP地址,甚至是連線到多個網路的IPv4地址。還可以看到所有介面以及如何與它們進行互動。

另一個用於資訊收集的有用命令是ps命令。ps命令列出目標計算機上執行的所有進程。這些進程可能是作為Windows程式或GUI在前台執行的後台進程或實際程式。在下面的螢幕截圖中,我們將看到正在執行的所有進程的列表,以及每個進程的名稱和ID或PID:

所有進程的列表

一個有趣的進程是explorer.exe。它是Windows的圖形介面。在上面的螢幕截圖中,我們可以看到它在PID 4744上執行,如以下螢幕截圖所示:

explorer.exe

當入侵系統時,最好將執行此人的進程遷移到更安全的進程中。例如,進程explorer.exe是Windows的圖形介面,只要使用者使用他們的裝置,此進程始終在執行。這意味著此過程比我們獲得計算機存取許可權的過程更安全。例如,如果我們通過程式或可執行檔案獲得存取許可權,那麼當該人員關閉該程式時,我們將失去該過程。更好的方法是遷移到不太可能被終止或關閉的進程。為此,我們將使用migrate命令,它將當前的對談移動到另一個進程。我們將使用進程explorer.exe,因為它是安全的。

我們使用migrate 4744命令,其中4744explorer.exe進程的PID。命令如下:

那時,Meterpreter正在從explorer.exe進程執行。如果轉到目標計算機上的工作管理員並執行資源管理器,然後轉到網路索引標籤並轉到TCP連線,可以看到埠8080上的連線來自explorer.exe進程, 如下面的截圖所示:

因此,對於目標機器,它不是來自後門,有效負載,惡意檔案,它是通過explorer.exe執行,這對目標機器不可疑。如果我們看到Chrome或Firefox,我們就可以遷移到這些進程了。而且,如果使用埠8080或80進行連線,它看起來就更不可疑,因為Web伺服器使用埠8080或80,因此通過它們進行連線是很自然的。