Skip to content

Add documentation for printer scanner modules#21531

Draft
u7k4rs6 wants to merge 1 commit into
rapid7:masterfrom
u7k4rs6:docs/printer-scanner-modules
Draft

Add documentation for printer scanner modules#21531
u7k4rs6 wants to merge 1 commit into
rapid7:masterfrom
u7k4rs6:docs/printer-scanner-modules

Conversation

@u7k4rs6
Copy link
Copy Markdown

@u7k4rs6 u7k4rs6 commented Jun 3, 2026

Description

Adds documentation files for the 9 auxiliary scanner modules under modules/auxiliary/scanner/printer/, which were previously undocumented. Follows the format defined in documentation/modules/module_doc_template.md.

Partially resolves #12389. The printer/ subcategory was selected as a self-contained chunk; other subcategories listed in that issue remain open for future PRs.

Modules documented

  • canon_iradv_pwd_extract
  • printer_delete_file
  • printer_download_file
  • printer_env_vars
  • printer_list_dir
  • printer_list_volumes
  • printer_ready_message
  • printer_upload_file
  • printer_version_info

Verification

Each .md is grounded in the corresponding .rb source: descriptions, options, defaults, and scenario output are derived from the module's update_info, register_options, and print_* calls. No live device testing was performed; scenario output blocks are marked as synthesized for documentation purposes.

Adds documentation files for the 9 auxiliary scanner modules under
modules/auxiliary/scanner/printer/, which were previously undocumented.
Follows the module_doc_template.md format (Vulnerable Application,
Verification Steps, Options, Scenarios).

Partially resolves rapid7#12389.

Signed-off-by: u7k4rs6 <utkarshbahuguna10@gmail.com>
Comment on lines +70 to +101
msf6 > use auxiliary/scanner/printer/canon_iradv_pwd_extract
msf6 auxiliary(scanner/printer/canon_iradv_pwd_extract) > set RHOSTS 192.168.1.100
RHOSTS => 192.168.1.100
msf6 auxiliary(scanner/printer/canon_iradv_pwd_extract) > run

[*] Attempting to extract passwords from the address books on the MFP at 192.168.1.100
[+] 192.168.1.100 - SUCCESSFUL login with USER='7654321' : PASSWORD='7654321'
[*] dn: cn=John Smith,ou=addressbook,o=local
cn: John Smith
mailaddress: jsmith@example.com
username: jsmith@example.com
pwd: Summer2023!
objectclass: inetOrgPerson

dn: cn=Jane Doe,ou=addressbook,o=local
cn: Jane Doe
mailaddress: jdoe@example.com
username: jdoe@example.com
pwd: printer1234
objectclass: inetOrgPerson

[+] Credentials saved in: /home/user/.msf4/loot/20231115130000_default_192.168.1.100_canon.iradv.add_123456.txt
[+] Domain: example.com
User: jsmith
Password: Summer2023!

[+] Domain: example.com
User: jdoe
Password: printer1234

[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Copy link
Copy Markdown
Contributor

@msutovsky-r7 msutovsky-r7 Jun 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you run this against actual device? Based on the content of documentations in this PR, it does not look like it. If you can't provide documentation with Scenarios content that corresponds to running module against real device, I would recommend choosing only modules which you can run against real device.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @msutovsky-r7 , that's a fair concern. You're right that the Scenarios weren't run against real hardware - they're synthesized from each module's source (description, options, print_* calls), marked as such in each file. The Description, Verification Steps, and Options sections are grounded in the module source, but the Scenarios are the weak link.

Would removing the Scenarios sections from all 9 files be acceptable as a middle ground? The remaining content is still source-grounded and useful for users navigating the modules, and Scenarios can be added in a follow-up PR by someone with the relevant hardware.

If you'd rather see the PR scoped down to only modules I can device-test, I can do that instead, but realistically I don't have a Canon iR-ADV or HP LaserJet on hand so that would likely reduce this PR to 0-1 files. Happy to take whichever direction you prefer.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, based on that, it seems like you've made docs through AI, where the lowest bar is testing the module against real device, which would be content of Scenario section. If you can't provide that, it's not something we can land.

@msutovsky-r7 msutovsky-r7 marked this pull request as draft June 3, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

Auxiliary Scanner Docs

3 participants