bos 1.5 12.12.98 1. Warning WARNING THIS SOFTWARE AND INFORMATION ARE PROVIDED "AS IS". ALL USE IS AT YOUR OWN RISK, AND NO LIABILITY OR RESPONSIBILITY IS ASSUMED. NO WARRANTY IS MADE, ECCEPT THAT "THIS CODE IS TOTALLY BACKDOORS FREE". 2. Introduction bos is a "nobo" program. It listens on udp port 31337 for bo messages and sends back fake answers. 3. Installation No installation script, so follow these: - copy bos where you want - where you copied bos create a drawer called msg - in msg/ put the messages you want to answer to (a msg drawer examples is included) Due to a strange way an udp server is started by inetd, (in multiple istance) bos is not an inetd service anymore. So to start bo simply write (it is a background process): bos bos is a commodity, so you can controll it via Exchange. If bos is not active (as a commodities), connections are logged, but nothing is sent. bos template is LOG/K,BM=BOSMSG/K,SYSLOG/S,RES=RESOLVE/S,INFO/S,QUIET/S,KILL/S LOG a complete file name where to log the connection; it is created if it doesn't exist. BOSMSG the file name of the bos msg file; default is bos.msg. It must be in PROGDIR:msg/ drawer. if it can't be opened the default internal msg is used. SYSLOG LOG the connection on the stack system log RESOLVE host address is resolved INFO makes bos to create a log in syslog at start and end. QUIET when started or at exit, bos open a temporary requester; this force that requester to not be opened. KILL kill bos if present, just does nothing if not. If LOG is not specified, SYSLOG is forced. AmigaDOS requesters are disabled while opening files. bsdsocket and AmigaDOS errors are logged in SYSLOG. "bos ?" doesn't work (too lazy to fix it :) To stop bos, just run it again, or Remove it from Exchange. 4. How it works When a commands comes, bos: - searches fr ENV:bosignore, a var made of lines of DOTTED ip mask if a macthing mask is found, the connection is just logged, but bos doesn't send anything (e.g the line * makes bos not answer to anyone). - searches for PROGDIR:msg/COMMANDNAME.mgs if it exists, then it's contents is send, otherwise bos searches for PROGDIR:msg/bos.mgs, or sends its internale message. bos messages must be text file of max 512 chars that may contain a %s wich is converted in the ip of the connecting host. The ip is resolved if RES options is given in bos arguments. bos has an internal message that is used if no mgs is found or if more than one %s is found in msg or if msg is 512 chars longer. 5. The commands for which amswer files are searched are: ERROR PING SYSREBOOT SYSLOCKUP SYSLISTPASSWORD SYSVIEWCONSOLE SYSINFO SYSLOGKEYS SYSENDKEYLOG SYSDIALOGBOX PACKETRESEND REDIRADD REDIRDEL REDIRLIST APPADD APPDEL APPLIST NETEXPORTADD NETEXPORTDELETE NETEXPORTLIST NETVIEW NETUSE NETDELETE NETCONNECTIONS PROCESSLIST PROCESSKILL PROCESSSPAWN REGISTRYCREATEK REGISTRYSETVALU REGISTRYDELETEK REGISTRYDELETEV REGISTRYENUMKEY REGISTRYENUMVAL MMCAPFRAME MMCAPAVI MMPLAYSOUND MMLISTCAPS MMCAPSCREEN DIRECTORYLIST FILEFIND FILEDELETE FILEVIEW FILERENAME FILECOPY DIRECTORYMAKE DIRECTORYDELETE FILEFREEZE FILEMELT HTTPENABLE HTTPDISABLE TCPFILESEND TCPFILERECEIVE RESOLVEHOST PLUGINEXECUTE PLUGINLIST PLUGINKILL Any other command is logged as UNKNOWN_XX (xx hex number) and the file PROGDIR:msg/UNKNOWN_XX.bos is searched. 6. Author The author is Alfonso Ranieri 7. Note You'll see how many people just spend their day bo-ing. I really think bo is stupid and bad and I was tired of them. bos is just a little trick to log them, but "nota bene" the port used by the connecting host is an open udp port :-) If you want to just log connections without answering, just put a line * in env:bosignore. The little boping.rexx macro is just intended to test bos. 8. Changes - now it is stand alone - added different answer for each command.