Reverse Shell

 

ここ最近はOffensive Securityを積極的に学んでいるので、そこで得た知識や経験を少しずつ書いていこうかなと思います。
初回は「これ説明しとかないと話進められないよね」ってくらい基本のReverse Shellです。
※最初に書いておくんですが、ここに書いてる事はよそ様の環境で試したらダメな事も含まれてるので!


簡単に自己紹介
ぼくは35歳を過ぎたくらいからセキュリティを始めたんですが、それまではいわゆる情シスで基幹システムの構築とか導入プロジェクトのPMを多くやってました。
そこからFintechベンチャーに入ってセキュリティに関わる機会が増えて、FISCやPCIDSS、ISMS準拠するために色々推進するような事をやってましたし、セキュリティの責任者をやってたりもしました。資格取得も頑張ってて、結構前に安全確保支援士合格、去年はCISSPも合格しました。次はOSCPを取りたいと思ってますが、試験料高いのと試験が肉体的にハードそうなので躊躇ってます…
セキュリティに関するブログを始めようと思ったのは、そこそこいい年齢を過ぎても新たな分野で仕事しようと思ったらできるぞ!っていうのを、そこそこいい年齢の人たちに伝えたかったからです。やればできるよ!
という事で早速本題に入ります。
Reverse Shellってなに?
簡単に書くと、SSHとかリモートデスクトップみたいなもんで、攻撃者がターゲットへアクセスする手段としてめっちゃ基本のやつです。
SSHなどとは明確に違いがあって、SSHは攻撃者のPCからターゲットのシステムへアクセスしに行きますが、Reverse Shellはターゲットのシステムから攻撃者のPCにアクセスしに来てもらうような動きをします。
絵で描くとこんな感じです。

これによるメリットは、ターゲットとの間にあるFWを回避できたり、SSHのポートが開いてなかったとしても接続できたりする点かなと思います。(外向きの通信を閉じてたら無理だけど)
Reverse Shellってどうやるの?
やり方ざっくり書くと、
1. 攻撃者側で「アクセス来ていいぞ」って状態で待機する
2. ターゲットにReverse Shellを実行させてアクセスしに来てもらう
(ターゲットにReverse Shellを実行させる方法は次回以降書いていきます)
実際の画面だとこんな感じです。
攻撃者PCのターミナル
この状態でターゲットのシステムにReverse Shellを実行させると…
攻撃者PCでターゲットのシステムを操作できている状態
ターゲットのシステムを操作する事ができるようになります。こうやってアクセスするんですねー。
サーバーだけの話じゃなくて、macとかでもフィッシングの変なリンク踏まされてスクリプトまで実行させられて、そのユーザーが管理者権限持ってたりすると、もうされるがままなるよね。
そこそこありそうなシチュエーションやし、ローカルに重要なデータ置くのはやめよう。できれば管理者権限も外そう。あとブラウザにパスワード保存もやめた方がいいな。
以上、Reverse Shellでした。
こんな感じで35歳過ぎてからセキュリティを始めたぼくの学びを書いていきたいと思います。

このブログの人気の投稿

リスクアセスメント

セキュリティ監視入門! MITRE ATT&CK編 その①フレームワークの理解