はじめに
2024年9月11日、Kali Linux 2024.3 Release (Multiple transitions)の通りにKaliの新しいリリースが公開されています。
今回のリリースでは、Qualcomm製SDM845 SoCのサポートと、11個の新しいツールが追加されました。詳細については、上記公式のブログ記事をご参照ください。
本記事では、今後の移行に関するトピックと今回新しく追加されたツールの一部について記載しています。
アップデート方法
公式ドキュメントのUpdating Kaliを踏まえて、Kaliのアップデート方法を以下に記載します。
前提として、/etc/apt/sources.list
が適切に設定されていることを確認した上で以下のコマンドを実行します。
$ sudo apt update
$ sudo apt full-upgrade -y
上記コマンド実行後、OS再起動を行います。
OS再起動後、/etc/os-release
ファイルを参照してディストリビューションのバージョンが更新されたことを確認します。
$ grep VERSION /etc/os-release
VERSION_ID="2024.3"
VERSION="2024.3"
VERSION_CODENAME=kali-rolling
今後の移行に関する注意点
t64の移行終了後も最適化に関する複数のプロジェクトが進んでいます。
Kaliの次のバージョンである2024.4のリリースでは、PythonのデフォルトがPython 3.12に変更されます。従ってpipによるパッケージのインストールは廃止されることにより、今後はAPTに変更されます。詳細は2023年に公開されている以下の記事から確認できます。
New Tools
今回のリリースでは、ネットワークに関するツールが複数リリースされています。
goshs
goshsは、シンプルでありながら機能豊富なWebサーバです。
ファイルのアップロード、認証機能、TLSなど様々な機能を使用することができます。
以下のコマンドを実行してインストールします。
$ sudo apt install goshs
HTTPサーバを起動するためには、以下のコマンドを実行するだけです。コマンド実行後現在の作業ディレクトリを起点に8000番ポートを使用して起動します。
# goshs
INFO [2024-09-14 21:33:16] Download embedded file at: /example.txt?embedded
INFO [2024-09-14 21:33:16] Serving on interface lo bound to 127.0.0.1:8000
INFO [2024-09-14 21:33:16] Serving on interface eth0 bound to <IP address>:8000
INFO [2024-09-14 21:33:16] Serving on interface tun0 bound to <IP address>:8000
INFO [2024-09-14 21:33:16] Serving HTTP from /var/www/html
ブラウザからgoshsを起動しているサーバのIPアドレスにアクセスすると、以下の様な画面が表示されます。
以下はBasic認証の例です。
$ goshs -b secret-user:secret-password
WARNING[2024-09-14 21:36:23] You are using basic auth without SSL. Your credentials will be transferred in cleartext. Consider using -s, too.
INFO [2024-09-14 21:36:23] Using basic auth with user 'secret-user' and password 'secret-password'
INFO [2024-09-14 21:36:23] Download embedded file at: /example.txt?embedded
INFO [2024-09-14 21:36:23] Serving on interface lo bound to 127.0.0.1:8000
INFO [2024-09-14 21:36:23] Serving on interface eth0 bound to <IP address>:8000
INFO [2024-09-14 21:36:23] Serving on interface tun0 bound to <IP address>:8000
INFO [2024-09-14 21:36:23] Serving HTTP from /var/www/html
以下は自己署名証明書を使用して起動する例です。ブラウザからアクセスする際はHTTPSで接続します。
$ goshs -s -ss
INFO [2024-09-14 21:45:20] Download embedded file at: /example.txt?embedded
INFO [2024-09-14 21:45:22] Serving on interface lo bound to 127.0.0.1:8000
INFO [2024-09-14 21:45:22] Serving on interface eth0 bound to <IP address>:8000
INFO [2024-09-14 21:45:22] Serving on interface tun0 bound to <IP address>:8000
INFO [2024-09-14 21:45:22] Serving HTTPS from /var/www/html with ssl enabled and self-signed certificate
WARNING[2024-09-14 21:45:22] Be sure to check the fingerprint of certificate
INFO [2024-09-14 21:45:22] SHA-256 Fingerprint: DC 1C F8 7E C1 F1 01 04 1C 31 D5 74 AF 2D 51 50 2E 8B 3A 8E C4 95 12 46 80 15 86 1C 49 6E A8 1D
INFO [2024-09-14 21:45:22] SHA-1 Fingerprint: 9A A7 3C 66 A7 1C 8A B9 B9 73 2C 94 93 48 74 32 CD 26 D9 AE
ドキュメントはgoshs.deから確認できます。
graudit
grauditは、GNUユーティリティのgrepを使用してソースコード内の潜在的なセキュリティ上の欠陥を見つけることができるツールです。
aptでもインストールできますが、最新のデータを取得できるようにするため、gitリポジトリからクローンして使用することが推奨されています。
$ git clone https://github.com/wireghoul/graudit
grauditを使用するためには、データベースを使用する必要があるため、環境変数のPATH
を設定します。以下は例になるため、環境に合わせて設定するのが良いでしょう。
$ echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
環境変数設定後、以下の様にデータベースを指定して実行します。
$ graudit -d php t/exec.php
===========================================================
.___ __ __
_________________ __ __ __| _/|__|/ |_
/ ___\_` __ \__ \ | | \/ __ | | \\_ __\
/ /_/ > | \// __ \| | / /_/ | | || |
\___ /|__| (____ /____/\____ | |__||__|
/_____/ \/ \/
grep rough audit - static analysis tool
v3.6 written by @Wireghoul
=================================[justanotherhacker.com]===
t/exec.php-2-//1 vuln, 1 safe call
t/exec.php:3:exec( $_GET[cmd] );
t/exec.php:4:exec( "echo 123" );
t/exec.php:5:system ("$_POST['cmd']");
t/exec.php:6:system ("pwd");
t/exec.php:7:popen ("$_REQUEST[cmd]");
t/exec.php:8:popen ('which php');
t/exec.php-9-//backdoor style
t/exec.php:10:passthru ($_COOKIE['cmd']);
t/exec.php:11:passthru ('nosuch --cmd');
t/exec.php:12:`ls -la $_GET[fname]`
t/exec.php-13-`ls -la`
t/exec.php:14:shell_exec("touch $_POST[fname]");
t/exec.php:15:shell_exec("id");
t/exec.php:16:exec $_GET['cmd'];
t/exec.php-17-exec
NetExec
NetExecは、大規模ネットワークのセキュリティ評価を自動化するのに役立つネットワークのツールです。
以下のコマンドを実行してインストールします。
$ sudo apt install netexec
以下のプロトコルに対応しています。
- smb
- ssh
- ldap
- ftp
- wmi
- winrm
- rdp
- vnc
- mssql
以下は、資格情報をテストする例です。
$ nxc ssh 192.168.1.0/24 -u user -p password
SSH 127.0.0.1 22 127.0.0.1 [*] SSH-2.0-OpenSSH_8.2p1 Debian-4
SSH 127.0.0.1 22 127.0.0.1 [+] user:password
ドキュメントはnetexec.wikiから確認できます。
netscanner
netscannerは、TUI1のネットワークスキャンツールです。
以下の様な機能があります。
- HWインターフェースの一覧
- スキャンとパケットダンプのためのアクティブインターフェースの切り替え
- WiFiネットワークのスキャン
- WiFi 信号強度(グラフ付き)
- (IPv4) ホスト名、OUI、MAC アドレスを使用してCIDRをPing
- (IPv4) パケットダンプ (TCP、UDP、ICMP、ARP)
- (IPv6) パケットダンプ (ICMP6)
- パケットダンプの開始/一時停止
- 開いているポートのスキャン (TCP)
- パケットログフィルター
- スキャンした IP、ポート、パケットをCSVにエクスポート
以下のコマンドを実行してインストールします。
$ sudo apt install netscanner
実行するためには、ルート権限で実行する必要があります。
$ sudo netscanner
obsidian
obsidianは、思考を整理するためのライティングアプリです。
個人使用は無料ですが、商用利用の場合は有料のライセンスが必要です。情報をリンクして関連付けたりグラフ化して関係を視覚化するのに優れています。
以下のコマンドを実行してインストールします.
$ sudo apt install obsidian
利用可能なラットフォームはdownloadから確認できます。
おわりに
今回も魅力的なツールが追加されていることに感謝します。
obsidianもユニークで実用的なツールだと思うので、使ってみたいと思いました。