diff options
| author | Danilo M. <danix@danix.xyz> | 2026-07-08 19:51:52 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-07-08 19:51:52 +0200 |
| commit | cf770f3ada77cf35e1b620187fb7529dbb84acc6 (patch) | |
| tree | ecd83e155072bf337dab5494312816ce386669bc /CLAUDE.md | |
| parent | aed85b62f0cc5d2805a75820a0d75d28596d548d (diff) | |
| download | slackware-pentesting-suite-cf770f3ada77cf35e1b620187fb7529dbb84acc6.tar.gz slackware-pentesting-suite-cf770f3ada77cf35e1b620187fb7529dbb84acc6.zip | |
metasploit-framework-bin: apply SBo reviewer fixes, add man pages
Christoph Willing's review changes:
- generate /usr/bin launcher symlinks in the SlackBuild and let makepkg
build doinst.sh per-arch, instead of shipping a preloaded doinst.sh.
The preloaded doinst.sh was baked from an x86_64 build; on i386 its
symlink targets did not exist, leaving a stray symlink in / on install.
- cat msfvenom.bash-completion and README.SLACKWARE into place instead of
cp -a, avoiding inserting files with a non-root uid/gid.
Also:
- ship msfconsole.1 and msfvenom.1 man pages from kali (the .deb ships
none of its own), gzipped into /usr/man/man1.
- note in README.SLACKWARE that the completion is a snapshot matching the
shipped MSF version, and that the man pages come from kali.
- document in CLAUDE.md how to regenerate the completion and refresh the
man pages on version bumps.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -58,6 +58,44 @@ archives (SBo convention: `.deb`/binary repacks take a `-bin` suffix): - These packages are x86_64 only; exit with an error for other arches - Strip ELF binaries after extraction +#### `metasploit-framework-bin`: msfvenom bash-completion + +The shipped `msfvenom.bash-completion` is a **pre-generated snapshot**, not a +static file. Upstream (kali) no longer ships it; they generate it at build +time with a ruby script that loads the framework and dumps the live +payload/encoder/arch/platform/format lists. We ship a snapshot instead of +running ruby at build time (hermetic build, no build-time dep). + +**Regenerate it on every version bump.** After building and installing the +new package so `/opt/metasploit-framework` is live, pull the current +generator and run it against the installed framework's bundled ruby: + +```bash +curl -o /tmp/gen.rb \ + https://gitlab.com/kalilinux/packages/metasploit-framework/-/raw/kali/master/debian/generate-msfvenom-bash-completion.rb +/opt/metasploit-framework/embedded/bin/ruby \ + -I/opt/metasploit-framework/embedded/framework/lib /tmp/gen.rb \ + > metasploit-framework-bin/msfvenom.bash-completion +``` + +Verify the output is non-empty and the `%s` slots were filled (grep for real +payload names like `windows/meterpreter`), then commit it with the bump. + +#### `metasploit-framework-bin`: man pages + +The .deb ships **no** metasploit man pages (its `share/man` tree is only for +bundled deps like postgres/ruby). We ship `msfconsole.1` and `msfvenom.1` +from kali, who maintain them by hand (no generator script). The SlackBuild +gzips them into `/usr/man/man1`. **Refresh them on version bumps** in case +kali has updated them: + +```bash +for p in msfconsole msfvenom ; do + curl -o metasploit-framework-bin/$p.1 \ + https://gitlab.com/kalilinux/packages/metasploit-framework/-/raw/kali/master/debian/extra/$p.1 +done +``` + ### 4. Binary repacks — RPM Packages such as `nessus` are repacked from upstream `.rpm` archives: |
