Full TTYs
フルTTY
SHELL
変数で設定したシェルは、_/etc/shells_内にリストされている必要があります。また、次のスニペットはbashでのみ機能します。zshを使用している場合は、bash
を実行してからシェルを取得してください。
Python
stty -a
を実行して行と列の数を取得できます。
スクリプト
socat
シェルの生成
python -c 'import pty; pty.spawn("/bin/sh")'
echo os.system('/bin/bash')
/bin/sh -i
script -qc /bin/bash /dev/null
perl -e 'exec "/bin/sh";'
perl:
exec "/bin/sh";
ruby:
exec "/bin/sh"
lua:
os.execute('/bin/sh')
IRB:
exec "/bin/sh"
vi:
:!bash
vi:
:set shell=/bin/bash:shell
nmap:
!sh
ReverseSSH
インタラクティブシェルアクセス、ファイル転送、ポートフォワーディングに便利な方法は、静的リンクされたsshサーバーReverseSSHをターゲットにドロップすることです。
以下は、x86
向けのupx圧縮バイナリの例です。他のバイナリについては、リリースページをチェックしてください。
ローカルでsshポートフォワーディングリクエストをキャッチする準備をします:
(2a) Linuxのターゲット:
(2b) Windows 10のターゲット(以前のバージョンについては、プロジェクトのreadmeを確認してください):
リバースSSHポート転送リクエストが成功した場合、
reverse-ssh(.exe)
を実行しているユーザーのコンテキストでデフォルトパスワードletmeinbrudipls
でログインできるはずです:
TTYがない場合
何らかの理由で完全なTTYを取得できない場合でも、ユーザー入力を期待するプログラムとやり取りすることができます。次の例では、パスワードがsudo
に渡されてファイルを読み取ります:
Last updated