[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference noted::hackers_v1

Title:-={ H A C K E R S }=-
Notice:Write locked - see NOTED::HACKERS
Moderator:DIEHRD::MORRIS
Created:Thu Feb 20 1986
Last Modified:Mon Aug 03 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:680
Total number of notes:5456

298.0. "REPLY/TERM without OPER Priv?" by 11637::EARLY (Steve Early) Thu Aug 28 1986 18:07

    Probably a 'trivial task' to a true hacker, but for a rookie such
    as I ...
                                                           
    Being a little on the forgetful side, at one time I had a number of 
    .COM files which I used to remind me to do something at a 
    particular time of day. I used one of the examples in one of the
    DCL Command Procedures (old old version) called CONVERT.COM to specify
    a time which the reminder would go off on my terminal using:
    
    $ REPLY/TERM=TT "Don't forget to wind your watch."
    
    I never had problems until ... ah yes, REPLY/TERM is installed with
    OPER privs, and this won't work anymore. 
    
    Is there a hack to get around this minor inconvenience to send messages
    to my own terminal?
    
    Is it 'expandable' so that I could use it within my own work group?
    We're on a LAT if it makes any difference. 
    
    All suggestions appreciated. 
    
			 .-------.
		        /   o o   \
		       #|    ^    |#
			|  \___/  |
	    		 \=======/
                      (---\/ V \/---)
                             | 
			  <Steve>

    
    
T.RTitleUserPersonal
Name
DateLines
298.1three possible choices... any more?CRVAX1::LAMPSONMike @DDO - Central Area SWSThu Aug 28 1986 19:0812
	Since you want something to run in the "background" (subprocess,
        I assume), you could write some program/procedure to wait a 
        specified amount of time and do a WRITE SYS$OUTPUT "^G^G{message}" 
        (assuming SYS$OUTPUT is still defined as TT:).
        
        ...Or, if it will work for a non-ANSI SYS$INPUT, you could
        hack the hack which hacks the PHONE protocol. ;^)
        
        ...Or, you could write a program which uses the $BRKTHRU system
        service.

      -&Mike
298.2Try this outBARAKA::LASTOVICANorm LastovicaThu Aug 28 1986 21:5614
100	!
	! This small BASIC program will wait 30 minutes and then send "HELLO"
    	! to your terminal.  Execute it with:
	!
        !	SPAWN/NOWAIT/IN=NLA0: RUN HELLO
	!

	external	long	function 	sys$brdcst

	sleep 30%*60%

        stat% = sys$brdcst("Hello","sys$output")

32767	end
298.3Let the system do the workREGENT::MINOWMartin Minow -- DECtalk EngineeringFri Aug 29 1986 02:226
Why not send yourself mail?  Or better yet, check if the
reply failed (because you weren't logged in or don't have
privileges) and *then* send yourself mail?

Martin.

298.4SYS$MANAGER AdjustmentCLOSET::DYERDefine `Quality'Fri Aug 29 1986 19:4211
	    [RE .0]:  Actually, the problem seems to be that REPLY is
	*not* installed with OPER privs; therefore one needs OPER privs
	to run it.  Ask the system manager to install it with OPER privs
	and to put a command to install it with OPER privs in the system
	startup file.
	    I don't see why anyone would object:  it filters out nasty
	escape sequences, so it's no security problem.
			<_Jym_>
	P.S.:  If your system manager declines to do this, you can al-
	ways hack the PHONE protocol, which *does* allow you to send
	nasty escape sequences.
298.5PASTIS::MONAHANMon Sep 01 1986 09:268
    	Installing REPLY with OPER privilege is a security problem,
    since it allows a hacker to cover his traces (to cover his tracks
    with the command
    
    $REPLY /NOLOG
    
    		Dave
    
298.6Silly ProgramVAXUUM::DYERDefine `Quality'Mon Sep 01 1986 16:137
	    You're right, I forgot about that.
	    There should be some way to send broadcast messages without
	needing OPER privs.  The SYS$BRKTHRU routine will generously
	send messages to your own process without the priv.
	    Perhaps the REPLY utility should be broken into two images:
	one that an OPERATOR would use, and one that anybody could use.
			<_Jym_>
298.7Hope this helps some...WORM::MCCLUREThe Kwisatz HaderachTue Sep 02 1986 13:2557
Although not completely secure, this suggestion may help you and your system
manager may go for it...

Have system manager copy SYS$SYSTEM:REPLY.EXE to SYS$SYSTEM:BROADCAST.EXE,
install it with OPER privilege, then allow limited use of the image with
the following BROADCAST.CLD file (place SET COMMAND disk:BROADCAST.CLD into
SYS$MANAGER:SYSLOGIN.COM file):

define verb BROADCAST
	image BROADCAST
	disallow ALL or NODE or SHUTDOWN
	parameter P1, prompt="Text"
	qualifier ALL
	qualifier BELL, default
	qualifier NODE, value(list)
	qualifier NOTIFY, default
	qualifier SHUTDOWN
	qualifier TERMINAL, value(required,list)
	qualifier URGENT
	qualifier USERNAME, value(required,list)
	qualifier WAIT

Above file is a subset of the REPLY verb and only allows broadcasts.  I include
the following info on my system for help...

1 BROADCAST
Broadcasts a message to a terminal or terminals.  This is a subset of the
reply command, allowing users basic one-line ability to broadcast to others.
 
Format
 BROADCAST qualifiers "message-text"
 
2 Parameters
message-text
 Text of the message. The text must be 1 through 128 characters.
 Enclose the text in quotation marks if it contains spaces, special
 characters, or lowercase characters.
2 Qualifiers
/BELL (default)
 Rings a bell at the terminal receiving a message when issued with the
 /TERMINAL, or /USER qualifiers; two bells when issued with /URGENT.
/NOTIFY (default)
 /NONOTIFY
 Sends a message describing success back to the originating terminal.
/TERMINAL=(terminal-name,...)
 Broadcasts the message to specified terminals, where terminal-name is
 the device name of the terminal. Incompatible with /USERNAME.
/URGENT
 Sends a message beginning "URGENT..."; if used with the /BELL qualifier,
 rings two bells at terminal(s) receiving the message.
/USERNAME=(username,...)
 Broadcasts a message to the terminals of the specified users. Overrides
 any NOBROADCAST settings at users' terminals.
/WAIT
 Sends message synchronously and waits.

Greg.
298.8There's Also SEND >-< Told 'Em To Fix REPLYCLOSET::DYERDefine `Quality'Tue Sep 02 1986 18:024
	    There's also a SEND utility in the ToolShed.
	    I've made a suggestion to VMS Development that they break
	REPLY up into two images.
			<_Jym_>
298.9ULTRA::PRIBORSKYTony PriborskyWed Sep 03 1986 12:1714
    Re: .7:
    
    $ DEFINE REPLY SYS$SYSTEM:BROADCAST.EXE
    
    Then, REPLY/SHUTDOWN or REPLY/DISABLE...
    
    This is using the normal command language definition against your
    supposedly "secure" *INSTALLED* image.   There are other ways to
    get around this too...
           
    There's no less or more security in doing it your way - only a feeling
    of false security because some hacker hasn't figured out how to
    get around it.
                          
298.10OOPS...WORM::MCCLUREThe Kwisatz HaderachWed Sep 03 1986 18:0213
RE .9:

	That simple to hack huh ?  Humm, just going to have to write a
	program to do what I really want.  I usually don't make that
	bad of an error, must be losing my touch...

RE .8:

	I agree strongly with the suggestion that REPLY be split into two
	utilities.  I always wondered why the VMS equal of RSX BROADCAST
	didn't exist already.

Greg.
298.11I think you need SYSNAM3784::GRIERHacking CentralSun Sep 07 1986 23:569
    Re: .9:
    
       Won't the REPLY logical name require an EXEC-mode logical (aka
    "trusted" logical) name?  If so, it requires SYSNAM privilege, which
    you don't give to someone unless you trust them not to muck things
    up.
    
    					-mjg
    
298.12THEBAY::MTHOMASThe Mad HackerMon Sep 08 1986 04:522
    What does DCL care?  It just uses the logical name to find out what
    image to activate.
298.13RANI::LEICHTERJJerry LeichterSun Sep 14 1986 20:4222
re: .11, .12
No, any kind of logical will do for this purpose - it doesn't have to be
"trusted".

For a simple-minded generic "broadcast to a terminal" program, pick up my
ALARM2 program from the Toolshed; the program NOTIFY that's part of it does
what you want.

							-- Jerry

A bit of history:  In V2, REPLY did not allow you to send to your own terminal.
In V3, it did.  In V4, it again did not.  I complained about this as just about
the first (unofficial) SPR against the terminal driver/REPLY.  It turned out
that V4.0 had a much more serious problem:  The broadcast logic more or less
inverted the privilege test, and let through only those who normally would
not have had access (because they couldn't access the terminal itself).  REPLY
did it's own check, and ran with OPER, so this wasn't noticed....

Anyway, the $BRKTHRU bug was fixed in 4.1, and the eventual response to my
complaint about REPLY was "well, yes, it probably should let you REPLY to
your own terminal, but the documentation SAYS you need privs, so it's kind of
hard to say this is a BUG"....	-- J