Pentest Technique
偵察
共通
通信相手のOSを知る
ping -c 1 <IP>
ttlの時間で判別する
ttl=64
Linux OS/Mac OS
ttl=128
Windows OS
ttl=255
UNIX OS/ネットワーク機器
ポートスキャン
sudo nmap -vvv -sCV -T4 -p0-65535 -Pn <IP>
ポート80、8080が空いていた場合
CMS、JavaScriptライブラリ、ウェブサーバ、バージョン番号、ウェブフレームワークの取得
Webサーバ上のディレクトリ列挙
特定のページにアクセスできる隠しファイルやフォルダを見つけるのに最適
gobuster dir -u <http://IP> -w /usr/share/wordlists/dirb/common.txt ワードファイル候補
/usr/share/wordlists/dirb/big.txt
サブドメインの列挙
特定のサブドメインが外部からアクセス可能な場合、予期しない脆弱性があることも
gobuster dns -d <http://IP> -w /usr/share/wordlists/subdomains.txt ワードファイル候補
VHOST(仮想ホスト)の列挙
gobuster vhost -u <http://IP> -w /usr/share/wordlists/vhosts.txt ワードファイル候補
サイト脆弱性スキャン
ポート21が空いていた場合
ftp-anon: Anonymous FTP login allowed (FTP code 230)
ftp <IP>
ユーザー名として anonymous または ftp
パスワードは空欄でEnter
webサイト情報取得
webブラウザで見るなら、burpsuiteのブラウザで開く
mdなどはブラウザで見るよりもcurlコマンドで見た方が見やすい
curl -kでエラーを無視できる
脆弱性調査
HTBやOSCPでは、XSS(cross site script)の脆弱性を使うことはないので、真っ先に除外する
XSSでは他のユーザーが引っかかるのを待つが、oscpやhtbでは引っかかってくれる相手がいないため
シェルアップデート
python -c 'import pty; pty.spawn("/bin/bash")'
Windows版
TCPポート 445・TCP/UDPポート 139空いてる時
NmapでSMBの脆弱性をスキャン
nmapの--script=smb-vuln*のオプションをつける
Sambaを介して共有情報を取得する
enum4linuxツール
enum4linuxツールは、Sambaを介して情報を抽出できるツール
取得できる情報は、グループメンバーシップ情報、共有情報、ワークグループまたはドメインメンバーシップ、リモート オペレーティングシステムの識別、パスワードポリシーの取得