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?

More than 1 year has passed since last update.

migrateによる隠蔽化 「ハッキング・ラボのつくりかた」にそって

Last updated at Posted at 2022-04-21

はじめに

この記事は、Kali Linux2022.1 でハッキングラボをつくってみる 6 Windows7をハッキングする編5(Metasploit Frameworkを使う後編)でやりきれなかった部分となります。
この記事と上記リンクの記事は、『ハッキング・ラボのつくりかた』に沿った内容となっております。

注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。

migrateによる隠蔽化の前にやっておくこと

同書p270に次のように記述されている。

migrateコマンドにより、ペイロードのプロセスを隠蔽化できます。ただし、run persistenceコマンドで永続的なバックドアを作成済みの場合、すでにペイロードは隠蔽化されています。この実験は、run persistenceコマンドの実行前に行ってください

別に、migrateで隠蔽したペイロードもやられOSであるWindows7に転送するだけでいいだけかもしれないが、同じようなバックドアがあるとややこしくなると思い、すでに設けたバックドア(MetasploitFrameworkのrun persistenceでつくったやつ)を撤去する。また、手動で設置したペイロードもレジストリから撤去する。(必要ないし、起動するたびにダイアログを出してきてうっとおしいから)

詳しくは、過去記事Kali Linux2022.1 でハッキングラボをつくってみる 5 Windows7をハッキングする編4(Metasploit Frameworkを使う中編)を参照してください。

手動で設置したバックドアの自動起動を無効化

手動でのバックドアの設置は、システム権限があるセッションのmeterpreterプロンプト上で、次のように行った。

reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v backdoor -d 'C:\Windows\evil.exe'

バックドアの撤去(レジストリを編集してペイロードの自動起動を無効化する)するには、次を実行する。

meterpreter >
reg deleteval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v backdoor

run persistenceで設置したバックドアを撤去する

KaliLinux上で別に端末を立ち上げる。

cd /home/kali/.msf4/logs/persistence
ls *

VirtualBox_kali-linux-2022.1-virtualbox-amd64_21_04_2022_06_29_54.png
ディレクトリと拡張子が.rcのファイルが確認できる。ディレクトリ名、ファイル名は「ホスト名_日付_数値列」となっている。各ファイルの内容を確認すると、

rm C://Users//IEUser//AppData//Local//Temp//XFvmZJYZSTqe.vbs

rm C://Users//IEUser//AppData//Local//Temp//MulSvr.vbs
reg deleteval -k 'HKLM\Software\Microsoft\Windows\CurrentVersion\Run' -v evOwBQvXbresAKC

記述されているコマンドを実行すると、バックドアを撤去することができる。
Windows側で「Sysinternals」の「Autoruns」を立ち上げ、バックドアとなっているvbsファイルを確認する。「XFvmZJYZSTqe.vbs」であることが確認できたので、rm C://Users//IEUser//AppData//Local//Temp//XFvmZJYZSTqe.vbsをmeterpreterプロンプト上で実行する。

meterpreter >
rm C://Users//IEUser//AppData//Local//Temp//XFvmZJYZSTqe.vbs

システム権限じゃなくても削除可能です

Windowsを再起動する。
"exploit/multi/handler"でリバースシェルを待ち受けても応答なし。「Autoruns」からもvbsファイルが削除されていることが確認できた。バックドアの撤去完了。

migrateによる隠蔽化

Windows7側で"evil.exe"を実行後に"exploit/multi/handler"でリバースシェルを待ち受ける。
migrateコマンドの引数に指定するプロセスは、現在の権限以下のものでないといけない。同一権限以下のプロセスを探すには、psコマンドの出力結果の"User"に注目する。"explorer.exe"は同一権限になることが知られているので、これを利用。

meterpreter
getuid
ps | grep explorer.exe

migrateコマンドの引数に"explorer.exe"のPIDを指定する。

migrate <explorer.exeのPID>

Windows7のタスクマネージャ、Metaexploitのpsコマンドの実行結果から"evil.exe"が消えた。(隠蔽成功)

同書p271~272より
UACを機能を回避するモジュールなどsessionオプションを持つモジュールに、migrateで隠蔽化されたセッションを指定すると、攻撃に失敗する。
また、migrateしたセッションを閉じてから、新しいセッションでmigrateを試みるとエラーが出る。Windowsを再起動するしかない。

「UACを機能を回避するモジュールなどsessionオプションを持つモジュールに、migrateで隠蔽化されたセッションを指定すると、攻撃に失敗する。」とあるが、やってみると接続からgetsystemでの権限昇格まで成功した。

システム権限でのセッションに隠蔽化

UACを回避→システム権限奪取→同一権限の"svchost.exe"のPIDを指定してmigrateする流れだが、管理者権限がとれていないmigrateを使ったセッションからのUAC回避ができる以上、解説は省略。

終わりに

migrateにより隠蔽化は、run persistenceよりも前のページで取り上げてほしかった。

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?