O script SipVicious disponível publicamente que muitos desses invasores usam interrompe o ataque instantaneamente se ele receber uma resposta SIP inválida sem linha From :. Você pode identificar o SipVicious porque ele define seu User-Agent nas solicitações do SIP para um scanner amigável.
Usando essa técnica contra um invasor do mundo real, pude parar imediatamente o fluxo de pacotes. Você pode enviar um pacote com um script simples. Por exemplo:
cat >UnfriendlyScannerStopper.scala <<END
import java.net._
object UnfriendlyScannerStopper {
def main(args : Array[String]) : Unit = {
if (args.length < 2) {
System.out.println("Usage: FriendlyScannerStopper ipAddr port")
return
}
val udpSocket : DatagramSocket = new DatagramSocket();
val packetContents : String = "SIP/2.0 400 Go Away!!!\r\n\r\n"
udpSocket.send(new DatagramPacket(packetContents.getBytes("utf-8"), packetContents.size,
InetAddress.getByName(args(0)), Integer.parseInt(args(1))))
}
}
END
scala UnfriendlyScannerStopper.scala 188.138.107.179 5102
Você precisará substituir 188.138.107.179 e 5102 pelo endereço e porta no cabeçalho Via dos pacotes SIP que você está enviando no ataque.