Package: honeypots
30 different honeypots in a single PyPI package for monitoring network traffic, bots activities, and username password credentials.Why honeypots package is very powerful?The honeypots respond back, non-blocking, can be used as objects, or called directly with the in-built auto-configure scripts! Also, they are easy to setup and customize, it takes 1-2 seconds to spin a honeypot up. You can spin up multiple instances with the same type. The output can be logged to a Postgres database, file[s], terminal or syslog for easy integration.This honeypots package is the only package that contains all the following: dhcp, dns, elastic, ftp, http_proxy, http, https, imap, ipp, irc, ldap, memcache, mssql, mysql, ntp, oracle, pjl, pop3, postgres, rdp, redis, sip, smb, smtp, snmp, socks5, ssh, telnet, vnc.Honeypots now is in the awesometelekom security T-Pot project!Installpip3installhoneypotshoneypots -hQeeqbox/honeypotscustomizablehoneypotsformonitoringnetworktraffic,botsactivities,andusername\passwordcredentialsArguments:--setuptargethoneypotE.g.sshoryoucanhavemultipleE.gssh,http,https--listlistallavailablehoneypots--killkillallhoneypots--verbosePrinterrormsgsHoneypotsoptions:--ipOverridetheIP--portOverridethePort(Donotuseonmultiple!)--usernameOverridetheusername--passwordOverridethepassword--configUseaconfigfileforhoneypotssettings--optionsExtraoptions(capture_commandsforcapturingallthreatactordata)Generaloptions:--termination-strategy{input,signal}Determinesthestrategytoterminateby--testTestahoneypot--autoSetupthehoneypotwithrandomportUsage Example - Auto configuration with default portsUse a honeypot, or multiple honeypots separated by comma or word allsudo-Epython3-mhoneypots--setupsshUsage Example - Auto configuration with random port (No need for higher privileges)Use a honeypot, or multiple honeypots separated by comma or word allpython3-mhoneypots--setupssh--autoUsage Example - Auto configure with specific portsUse as honeypot:port or multiple honeypots as honeypot:port,honeypot:portpython3-mhoneypots--setupimap:143,mysql:3306,redis:6379Usage Example - Custom configure with logs locationUse a honeypot, or multiple honeypots separated by comma or word allpython3-mhoneypots--setupssh--configconfig.jsonconfig.json (Output to folder and terminal){"logs":"file,terminal,json","logs_location":"/var/log/honeypots/","syslog_address":"","syslog_facility":0,"postgres":"","sqlite_file":"","db_options":[],"sniffer_filter":"","sniffer_interface":"","honeypots":{"ftp":{"port":21,"ip":"0.0.0.0","username":"ftp","password":"anonymous","log_file_name":"ftp.log","max_bytes":10000,"backup_count":10}}}config.json (Output to syslog){"logs":"syslog","logs_location":"","syslog_address":"udp://localhost:514","syslog_facility":3,"postgres":"","sqlite_file":"","db_options":[],"sniffer_filter":"","sniffer_interface":"","honeypots":{"ftp":{"port":21,"ip":"0.0.0.0","username":"test","password":"test"}}}config.json (Output to Postgres db){"logs":"db_postgres","logs_location":"","syslog_address":"","syslog_facility":0,"postgres":"//username:password@172.19.0.2:9999/honeypots","sqlite_file":"","db_options":["drop"],"sniffer_filter":"","sniffer_interface":"","honeypots":{"ftp":{"port":21,"username":"test","password":"test"}}}config.json (Output to Sqlite db){"logs":"db_postgres","logs_location":"","syslog_address":"","syslog_facility":0,"postgres":"","sqlite_file":"/home/test.db","db_options":["drop"],"sniffer_sniffer_filter":"","sniffer_interface":"","honeypots":{"ftp":{"port":21,"username":"test","password":"test"}}}db structure[{"id":1,"date":"2021-11-18 06:06:42.304338+00","data":{"server":"'ftp_server'","action":"'process'","status":"'success'","ip":"'0.0.0.0'","port":"21","username":"'test'","password":"'test'"}}]Usage Example - Import as object and auto test#ip= String E.g. 0.0.0.0#port= Int E.g. 9999#username= String E.g. Test#password= String E.g. Test#options= Boolean or String E.g OpenSSH 7.0#logs= String E.g db, terminal or all#always remember to add process=true to run_server() for non-blockingfromhoneypotsimportQSSHServerqsshserver=QSSHServer(port=9999)qsshserver.run_server(process=True)qsshserver.test_server(port=9999)INFO:chameleonlogger:['servers',{'status':'success','username':'test','src_ip':'127.0.0.1','server':'ssh_server','action':'login','password':'test','src_port':38696}]qsshserver.kill_server()Usage Example - Import as object and test with external ssh commandfromhoneypotsimportQSSHServerqsshserver=QSSHServer(port=9999)qsshserver.run_server(process=True)sshtest@127.0.0.1Honeypot answerINFO:chameleonlogger:['servers',{'status':'success','username':'test','src_ip':'127.0.0.1','server':'ssh_server','action':'login','password':'test','src_port':38696}]Close the honeypotqsshserver.kill_server()Current Servers/EmulatorsQDNSServerServer: DNSPort: 53Lib: TwistedLogs: ip, portQFTPServerServer: FTPPort: 21Lib: TwistedLogs: ip, port, username and passwordQHTTPProxyServerServer: HTTP ProxyPort: 8080Lib: TwistedLogs: ip, port and dataQHTTPServerServer: HTTPPort: 80Lib: TwistedLogs: ip, port, username and passwordQHTTPSServerServer: HTTPSPort: 443Lib: TwistedLogs: ip, port, username and passwordQIMAPServerServer: IMAPPort: 143Lib: TwistedLogs: ip, port, username and passwordQMysqlServerEmulator: MysqlPort: 3306Lib: TwistedLogs: ip, port, username and passwordQPOP3ServerServer: POP3Port: 110Lib: TwistedLogs: ip, port, username and passwordQPostgresServerEmulator: PostgresPort: 5432Lib: TwistedLogs: ip, port, username and passwordQRedisServerEmulator: RedisPort: 6379Lib: TwistedLogs: ip, port, username and passwordQSMBServerServer: RedisPort: 445Lib: impacketLogs: ip, port and usernameQSMTPServerServer: SMTPPort: 25Lib: smtpdLogs: ip, port, username and passwordQSOCKS5ServerServer: SOCK5Port: 1080Lib: socketserverLogs: ip, port, username and passwordQSSHServerServer: SSHPort: 22Lib: paramikoLogs: ip, port, username and passwordQTelnetServerServer: TelnetPort: 23Lib: TwistedLogs: ip, port, username and passwordQVNCServerEmulator: VNCPort: 5900Lib: TwistedLogs: ip, port, username and passwordQMSSQLServerEmulator: MSSQLPort: 1433Lib: TwistedLogs: ip, port, username and password or hashQElasticServerEmulator: ElasticPort: 9200Lib: http.serverLogs: ip, port and dataQLDAPServerEmulator: LDAPPort: 389Lib: TwistedLogs: ip, port, username and passwordQNTPServerEmulator: NTPPort: 123Lib: TwistedLogs: ip, port and dataQMemcacheServerEmulator: MemcachePort: 11211Lib: TwistedLogs: ip, port and dataQOracleServerEmulator: OraclePort: 1521Lib: TwistedLogs: ip, port and connet dataQSNMPServerEmulator: SNMPPort: 161Lib: TwistedLogs: ip, port and dataacknowledgementBy using this framework, you are accepting the license terms of all these packages:pipenv twisted psutil psycopg2-binary dnspython requests impacket paramiko redis mysql-connector pycryptodome vncdotool service_identity requests[socks] pygments http.serverLet me know if I missed a reference or resource!NotesAlmost all servers and emulators are stripped-down - You can adjust that as neededOther projects