MENU

【随時更新】CTFでよく使用するツール等の紹介

こんにちは、みらい(@Minimal_Mirai)です。

今回は私がCTF(HTB, VulnHub, OSCP)でよく使うツール等の紹介です。同じような分野を学ぶ一助になれば幸いです。

 

三者所有のサーバーや、管理外のネットワークに対する攻撃は絶対に行わないで下さい。

 

 

前提

先駆者の自動化ツールは頼るべきだが、内部の挙動やオプションをある程度把握するべきであり、何をしているか理解しながら脆弱性の列挙を行いましょう(自敬)。

個人的にはWeb系の脆弱性を列挙する際に使うツールの挙動を把握したい時などは、

Proxychains(場合によっては使用) -> BurpSuiteでキャプチャしてどんなPayloadを送信しているか見ると勉強になるのでおすすめします。

 

ポートスキャン

nmap

言わずとしれたポートスキャンツール、ただし実際の環境ではパケットに特徴がありFW等でブロックされるケースあり。

 

netcat

revシェルの取得で最も利用する事が多いが、nmapの出力の確認等で利用することがあります。

nc -nv <target-ip> <port>

 

また個人的には以下のコマンドで特定のポート番号から終了ポート番号までを指定し、ポートスキャンを行う事があります。

 

Web

Nikto

誤検知も多いが稼働しているWebサーバーによっては/usr/share/wordlists/dirbuster/.*等のsmall, midumサイズのファイルでは発見の遅れが発生する(最終行に近い)ページを列挙してくれたりする(MS-IS鯖であれば.aspxや.asp等の拡張子の付与等もした上で列挙してくれる)

nikto | Kali Linux Tools

 

DirBuster

言わずとしれたWebディレクトリの総当りツール、Webページを再帰的に列挙してくれる点がとても良い。

DIRBにも再帰的に列挙するオプションはあるがDirBusterの方をよく使用している。

dirbuster | Kali Linux Tools

 

SQL Map

SQL Injection等に特化した自動化ツール、場合によってはPHPのWebシェルをアップロード(--os-shell オプション)して自動で引っ張ってきてくれる。

便利ではあるが特に挙動を理解して使用する事をおすすめする。

またSQLiのPayloadに関しては以下3つの記事が大変参考になるのでおすすめします。

 

Union based Oracle Injection

 

SQL Injection | pentestmonkey

 

PayloadsAllTheThings/SQL Injection at master · swisskyrepo/PayloadsAllTheThings · GitHub

 

FFUF

ファジングツール、オプションが多く把握しきれていない点も多いが詳細な値を設定して結果をフィルタできる点が特徴的。

以下の記事が大変参考になる。

WEBファジングツール FFUFのすゝめ: NECセキュリティブログ | NEC

 

BurpSuite

Webのパケットキャプチャ等で重宝しているツール。

その他、Proxychainsと合わせて使用する事が多い。

burpsuite | Kali Linux Tools

 

ProxyChains

一般的なプロキシ用途からSSHポートフォワード等、汎用性の高いツール。

proxychains-ng | Kali Linux Tools

 

Windows権限昇格

winpeas.exe

権限昇格に繋がる脆弱性を自動で列挙してくれる。

オプションも含め理解するとかなり便利なツールの1つ。

PEASS-ng/winPEAS at master · carlospolop/PEASS-ng · GitHub

 

PowerSploit系

PowerShellを使用した攻撃系ツール全般。

権限昇格に繋がる脆弱性の列挙(PowerUp.ps1)やリバースシェル、AD鯖への攻撃に使用する事が多い。

GitHub - PowerShellMafia/PowerSploit: PowerSploit - A PowerShell Post-Exploitation Framework

 

Mimikatz

サイバー界のAK47の異名を持つ有名ツール。

大体の操作には管理者権限, SeDebugPrivilege権限等が必要なため、権限昇格後のローカル/DCユーザー等の列挙に使用する事が多い。

また一般的な環境(FW/AVが稼働している)では検知されるため、Bypassする方法やdump等についても頭に入れておくと良い。

以下聖書

ミミミミミッミ - Allsafe - BOOTH

 

wes.py

systeminfoコマンドの出力結果やWindowsのバージョン等からどのカーネルエクスプロイトに対して脆弱か判定してくれる。

攻撃対象マシンで動き回る必要がなく、検知リスクを回避できるため便利。

GitHub - bitsadmin/wesng: Windows Exploit Suggester - Next Generation

 

Juicy Potato

Windows権限昇格ツール。

使用には条件を満たしている必要あり。

Abusing Token Privileges For Windows Local Privilege Escalation

GitHub - ohpe/juicy-potato

 

SharpUp

個人的にあまり使用する頻度は高くないが一応。

GitHub - GhostPack/SharpUp: SharpUp is a C# port of various PowerUp functionality.

 

BloodHound

AD系の情報を整理する時に利用する。

Apexとの関連はありません。

以下の記事と動画がとても参考になりました。

BloodHoundを使用したWindows Active Directory環境の分析 - Qiita

HackTheBox - Sauna - YouTube

 

chisel.exe

ポートフォワードする際に利用。

バイナリから起動するだけなのでかなり楽。

使用できない環境も存在するため、netshを利用したポートフォワード等も覚えておくことをおすすめします。

Pivoting: Setting up a port proxy with netsh on Windows - David Hamann

 

pth-winexec / evil-winrm

ユーザーの資格情報でログインを試したい場合や、Pass-The-Hashでrevシェルを取得したい際等に利用。

LISTENは通常5985ポートを利用する。

evil-winrm | Kali Linux Tools

5985,5986 - Pentesting WinRM - HackTricks

 

icaclsコマンド / accesschk.exe

パーミッション設定の確認に利用。

Security Professionals Network Inc. - 【SPN通信】Windowsオブジェクトのアクセス権を表示するAccessChk

AccessChk - Windows Sysinternals | Microsoft Docs

 

Linux権限昇格

linpeas.sh

言わずとしれた権限昇格ツール、オプションも含め覚えておくと重宝すること間違いなし。

PEASS-ng/linPEAS at master · carlospolop/PEASS-ng · GitHub

 

GTFOBins

Linux上でSUID/SGIDが付与されているアプリケーションから権限昇格する手法がまとめられている。

SUID/SGIDが付与されているアプリケーションの列挙はfindコマンドやlinpeas.shから出力されたものを見る事が多いです。

意外なものも列挙されていたりして、見るだけでも勉強になる。

GTFOBins

 

SSHポートフォワード(Proxychains併用)

怪しげなプロセスがローカルポートで動いていたり、ネットワークの横展開する際に役立つ。

sshポートフォワーディング - Qiita

 

その他

 

SMB Clientを用いた再帰的なファイルダウンロード

 

SMB Map

SMBの列挙を行うツール。

知り得た資格情報の流用や、SMBディレクトリのR/W権限の確認で使うことが多い。

smbmap | Kali Linux Tools

 

crackmapexec

SMBポートが開放されている場合、Windowsのバージョンやビルド番号まで列挙するため非常に有用なツール。

crackmapexec | Kali Linux Tools

 

・OS情報の列挙

crackmapexec smb <IP>
 
・パスワードポリシーの列挙
crackmapexec smb <ip> --pass-pol
 
exiftool
web上にアップロードされている画像のexif情報を列挙するツール。
usernameの辞書ファイルを作りたい時にexif情報が残っていないか確認する等。
 
metasploit

便利すぎる。ただしOSCP試験では使用制限があるため、頼りすぎず学習することをおすすめする。

metasploit-framework | Kali Linux Tools