LinEnum
詳細については www.rebootuser.com をご覧ください。
注意: エクスポート機能は現在実験段階です。
一般的な使用方法:
バージョン 0.982
- 例: ./LinEnum.sh -s -k keyword -r report -e /tmp/ -t
オプション:
- -k キーワードを入力
- -e エクスポート先を入力
- -t 徹底的な(長時間の)テストを含める
- -s 現在のユーザーパスワードを指定して sudo 権限を確認(安全ではありません)
- -r レポート名を入力
- -h このヘルプテキストを表示
オプションなしで実行 = 制限されたスキャン/出力ファイルなし
- -e ユーザーが出力先(例: /tmp/export)を入力する必要があります。この場所が存在しない場合は作成されます。
- -r ユーザーがレポート名を入力する必要があります。レポート(.txt ファイル)は現在の作業ディレクトリに保存されます。
- -t 徹底的な(遅い)テストを実行します。このスイッチがない場合、デフォルトの「クイック」スキャンが実行されます。
- -s 指定されたパスワードで現在のユーザーを使用して sudo 権限を確認します - これは安全ではなく、実際には CTF でのみ使用してください!
- -k ユーザーが複数のファイル内で単一のキーワードを検索できるオプションスイッチ(後述)。
詳細は CHANGELOG.md を参照
LinEnum が実行するチェック/タスクの概要:
- カーネルとディストリビューションのリリース詳細
- システム情報:
- ホスト名
- ネットワーク詳細:
- 現在の IP
- デフォルトルートの詳細
- DNS サーバー情報
- ユーザー情報:
- 現在のユーザー詳細
- 最後にログインしたユーザー
- ホストにログインしているユーザーを表示
- uid/gid 情報を含む全ユーザーをリスト
- root アカウントをリスト
- パスワードポリシーとハッシュ保存方法の情報を抽出
- umask 値を確認
- パスワードハッシュが /etc/passwd に保存されているか確認
- 0, 1000, 1001 などの「デフォルト」uid の完全詳細を抽出
- 制限されたファイル(例: /etc/shadow)の読み取りを試行
- 現在のユーザーの履歴ファイル(例: .bash_history, .nano_history など)をリスト
- 基本的な SSH チェック
- 特権アクセス:
- 最近 sudo を使用したユーザー
- /etc/sudoers がアクセス可能か判定
- 現在のユーザーがパスワードなしで sudo アクセスできるか判定
- 既知の「有用な」ブレイクアウトバイナリが sudo 経由で利用可能か(例: nmap, vim など)
- root のホームディレクトリにアクセス可能か
- /home/ のパーミッションをリスト
- 環境:
- ジョブ/タスク:
- すべての cron ジョブをリスト
- 全ワールド書き込み可能な cron ジョブを特定
- システムの他のユーザーが所有する cron ジョブを特定
- アクティブおよび非アクティブな systemd タイマーをリスト
- サービス:
- ネットワーク接続(TCP および UDP)をリスト
- 実行中のプロセスをリスト
- プロセスのバイナリと関連するパーミッションを検索してリスト
- inetd.conf/xined.conf の内容と関連するバイナリファイルのパーミッションをリスト
- init.d バイナリのパーミッションをリスト
- バージョン情報(以下について):
- Sudo
- MYSQL
- Postgres
- Apache
- ユーザー設定を確認
- 有効なモジュールを表示
- htpasswd ファイルを確認
- www ディレクトリを表示
- デフォルト/弱い認証情報:
- デフォルト/弱い Postgres アカウントを確認
- デフォルト/弱い MYSQL アカウントを確認
- 検索:
- すべての SUID/GUID ファイルを特定
- 全ワールド書き込み可能な SUID/GUID ファイルを特定
- root が所有するすべての SUID/GUID ファイルを特定
- 「興味深い」SUID/GUID ファイルを特定(例: nmap, vim など)
- POSIX ケーパビリティを持つファイルを特定
- すべてのワールド書き込み可能ファイルをリスト
- アクセス可能な *.plan ファイルを検索/リストし、内容を表示
- アクセス可能な *.rhosts ファイルを検索/リストし、内容を表示
- NFS サーバーの詳細を表示
- スクリプト実行時に指定されたキーワードを含む *.conf および *.log ファイルを特定
- /etc 内のすべての *.conf ファイルをリスト
- .bak ファイルの検索
- メールを特定
- プラットフォーム/ソフトウェア固有のテスト:
- Docker コンテナ内にいるかどうかを確認
- ホストに Docker がインストールされているか確認
- LXC コンテナ内にいるかどうかを確認