Monthly Archives: Декабрь 2019

Как запретить вход по RDP, разрешив запускать RemoteApp или WebRDP приложения?

Как разрешить запускать приложения по RemoteApp или WebRDP, но при этом запретить логиниться на сам сервер по RDP. Вариант вот такой… заходим в свойства пользователя в оснастке AD и переходим на вкладку «среда» и далее в строке «при входе в систему запускать следующую программу» пишем следующее: %systemroot%\system32\logoff.exe. Таким образом, при логине по RDP будет происходит logoff, а программы через web или app будут запускаться.

Грузимся модно

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

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

Мне кажется или все разленились? Уже никто
не хочет думать! Некоторые задачи стали
настолько тривиальны, что никто даже не
думает над их решением. Я это к тому, что
большая часть людей считает, что в Windows’е
можно сделать автозагрузку через VxD или RUN в
реестре… хммм… давайте копнем поглубже и
увидим неограниченые возможности скрытые в
Windows.

Магические директории

Люди особо «творческого» ума могут
сообщить нам, что загрузится можно
скопировав себя куда-то в «C:\WINDOWS\Главное
меню\Программы\Автозагрузка»(В Windows XP это
будет выглядеть где-то так: «C:\Documents and
Settings\User\Программы\Автозагрузка»). Не
спорю, такой вариант сработает, но давайте
сделаем немного иначе. Местоположение этой
папки система узнает с реестра. Упоминания
о ней можно найти в таких разделах:

HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Explorer\Shell
Folders
HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Explorer\User Shell
Folders
HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\explorer\Shell
Folders
HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\explorer\User
Shell Folders

Значение там хранится в переменных «Startup»
и «Common Startup». Все дело в том, что в
переменную «Common Startup» можно написать
все, что угодно. То есть записав туда «c:\windows\system\my_secret_program»
мы запустим все программы находящиеся в
каталоге «my_secret_program». Привет Билли

Волшебные INI

Ну… Тут есть два варианта, использовать
WIN.INI или SYSTEM.INI. В WIN.INI ключ «windows»
содержит две переменные load и run. Придаваемые
им значения и есть программы которые надо
загрузить. Например:
………….

[windows]

load=my_secret_pogram1.exe
run=my_secret_pogram2.exe
………….

А в SYSTEM.INI метод немного другого характера. В
ключе «boot» есть параметр Shell, он задает
программу которая будет служить GUI для Windows.
По умолчанию это Explorer, но можно указывать и
другую программу А самое интересное то,
что можно указать и Explorer с параметром/параметрами.
На что он услужливо запустит передаваемый
параметр. Например:
………….

[boot]

Shell=Explorer.exe my_secret_pogram.exe
………….

И снова подарки от майкрософт Шелл еще
указывается в реестре: «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows NT\CurrentVersion\Winlogon\Shell». По умолчанию там
Explorer, но его можно заменить…

Великий BAT

Ну что, поехали дальше… Что такое бат файлы
знают все (я надеюсь…), но не все знают что
существует достаточно интересный файл
winstart.bat, который находится в папке Windows. Он
автоматически запускается системой каждый
раз при загрузке. Это обычный Bach файл с
досовскими командами. Чтобы с его помощью
запустить нашу программу добавляем в файл
что-то вроде: c:\windows\my_secret_program.exe.

В противовес ему прилагается dosstart.bat,
который как и winstart находится в директории
Windows, но запускается он если выбрать «Перезагрузить
компьютер в режим эмуляции MS-DOS». 

И конечно же Autoexec.bat, про который нельзя не
упомянуть говоря про батники :), запускается
при каждой загрузке твоего металлического
друга еще до винды. А для счасливых
обладателей NT/XP я имею другую прекрасную
новость. У них Autoexec.bat не грузится, зато Microsoft
не обделила и их вниманием, они могут
пользоваться файлом Autoexec.NT Его работа
заключается в том, что если у DOS’овской
программы нет ярлыка, то настройки для
создания DOS-BOX’а берутся из него. А он в свою
очередь тот же батник А если кто-нибудь
хочет загрузится в NT с Autoexec.bat (удовольствие
для исключительных извращенцев), тогда
придется покопаться в реестре… В разделе: 

HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon. 

Значение переменной ParseAutoexec установите
равным «1». Вот и все

Реестр — знакомый и не очень

Хех… Про реестр рассказали уже столько
баек, что мне даже стыдно про него упоминать,
но ради приличия перечислю стандартные
ключи автозагрузки и то, о чем знают
немногие. Итак, стандартные места откуда
можно загрузится:

HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\CurrentVersion\RunOnce

HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\RunServices

Тут все просто в нужном разделе, создаем
параметр со значением запускаемой проги. А
теперь встречайте RunOnceEx! Что очень
удивительно, мало кто знает как в этом ключе
прописать свою программу. Вот рекомендации
по использованию

1 Создаем ключ(если его нету)

HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\RunOnceEx\000x

2 Создаем строковую переменную со
значением программы которую надо запустить,
но в интересном формате: 

«DLL|Function|Arguments» или «||command parameters»

То есть у нас есть два варианта: мы можем
запустить некоторую функцию Function или exe-шник.

Например:

«my_secret_pogram»=»||my_secret_pogram.exe» —
запустит my_secret_pogram.exe
«msprint2.dll|RUNDLL_PrintTestPage|» — печать пробной
страницы

Ах да… В NT есть еще один раздел:

HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows
NT\CurrentVersion\Winlogon\Userinit

Работает он также, как и классический RUN.

RegisterServiceProcces

Поскольку мелкомягкие отменили фичу с
RegisterServiceProcces в NT, то я расскрою тебе тайну,
как сделать RegisterServiceProcces+Autorun. Все очень
просто залазишь в «HKEY_LOCAL_MACHINE/Software/ Microsoft/WindowsNT/CurrentVersion/AppInit_DLLs».
Теперь создаешь переменную со значением
«my_secret_pogram.dll», где «my_secret_pogram.dll» —
имя нашей Dll’ки. В ней нужно создать функцию,
которая будет исполнятся при загрузке.
Радует то, что в этом случае наш процесс не
будет видно в Таск Менеджере! Но
использовать можно только функции из
KERNEL32.DLL. За более подробной информацией
полезай на www.microsoft.com!

Быстрее всех

Windows NT позволяет запускать специально
написанные программы до регистрации
пользователя (logon). Эти программы
подразделяются на две группы: драйверы и
сервисы. Все дело в том, что любую Win32
программу можно запустить до logon с помощью
специального сервиса. В Windows NT Resource Kit
включен сервис srvany.exe, выполняющий именно
эти задачи :). Его подробное описание
находится в файле srvany.wri. Почитай на досуге

Маленький трюк

Ну и наконец, после такого прогрузона я
скажу, что если тебе влом копаться в этом
дерьме, то ты можешь просто скопировать
my_secret_pogram.exe в корень диска C:\ и
переименовать в Explorer.exe. Он запустится до
настоящего Эксплорера И это работает во
всех версиях Windows…

Теперь ты вооружен. Надеюсь после прочтения
этого ты задумаешься, каким способом будет
грузится твой новый троян Удачи!

Источник: https://xakep.ru/2002/12/02/17026/

Подключение старого диска из RAID-массива в Linux систему

Монтирование старого диска из RAID-массива в Linux систему используя mdadm утилиту

Выводим листинг разделов подключенного диска


fdisk -l /dev/sdd
Disk /dev/sdd: 250.1 GB, 250058268160 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488395055 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x90909090

Device Boot Start End Blocks Id System
/dev/sdd1 * 2048 2099199 1048576 fd Linux raid autodetect
/dev/sdd2 2099200 6293503 2097152 82 Linux swap / Solaris
/dev/sdd3 6293504 69208063 31457280 fd Linux raid autodetect
/dev/sdd4 69208064 488394751 209593344 fd Linux raid autodetect

Создаем папку куда будем монтировать раздел:


mkdir /mnt/old_hdd
mount /dev/sdd4 /mnt/old_hdd
mount: unknown filesystem type ‘linux_raid_member’

Инспектируем раздел:


mdadm —examine /dev/sdd4
/dev/sdd4:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 957e7cb5:bfd41f70:9cb84b0d:f53e5a4c
Name : test-server
Creation Time : Sat Aug 20 18:48:26 2011
Raid Level : raid1
Raid Devices : 2

Avail Dev Size : 419184640 (199.88 GiB 214.62 GB)
Array Size : 419184496 (199.88 GiB 214.62 GB)
Used Dev Size : 419184496 (199.88 GiB 214.62 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
State : clean
Device UUID : db8a694f:750a0ded:22a6d046:5c4db280

Update Time : Fri Jan 15 20:10:26 2016
Checksum : 75dbc3b6 — correct
Events : 191


Device Role : Active device 1
Array State : .A (‘A’ == active, ‘.’ == missing)

Создаем виртуальный девайс используя mdadm


mdadm -A -R /dev/md9 /dev/sdd4
mdadm: /dev/md9 has been started with 1 drive (out of 2).

И затем монтируем его в систему:


mount /dev/md9 /mnt/old_hdd/

mount | grep ^/dev/md9
/dev/md9 on /mnt/old_hdd type ext4 (rw)

После завершения работы не забываем отключить раздел и остановить виртуальное устройство.


umount /mnt/old_hdd
mdadm -S /dev/md9
mdadm: stopped /dev/md9

Источник: https://bogachev.biz/2016/01/15/podklyuchenie-starogo-diska-iz-raid-massiva-v-linux-sistemu/

Копирование большого количества файлов через SSH

SCP (Secure CoPy) — программа для удаленного копирования фалов по сети между хостами.

Она использует SSH для передачи данных, ту же аутентификацию и те же меры безопасности, что и SSH.

Во время копирования исходного фала в файл назначения, который уже существует, SCP перезаписывает файл назначения. Если файл назначения еще не существует, тогда создается пустой файл, ему задается имя файла назначения и уже в него записывается содержимое копируемого файла.

Пример 1: Копируем файл «file.txt» из удаленного сервера на локальный компьютер.

$ scp user@remote.host:file.txt /some/local/directory

Пример 2: Копируем файл «file.txt» с локального компьютера на удаленный сервер.

$ scp file.txt user@remote.host:/some/remote/directory

Пример 3: Копируем папку «dir1» с локального хоста в директорию «dir2» на удаленном хосте.

$ scp -r dir1 user@remote.host:/some/remote/directory/dir2

Пример 4: Копируем файл «file.txt» с одного удаленного сервера «remote.host1» на другой удаленный сервер «remote.host2».

$ scp user@remote.host1:/directory/file.txt user@remote.host2:/some/directory/

Пример 5: Копируем файлы «file1.txt» и «file2.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере.

$ scp file1.txt file2.txt user@remote.host:~

Пример 6: Копируем файл «file.txt» с локального хоста на удаленный хост, используя порт 2222.

$ scp -P 2222 file.txt user@remote.host:/some/remote/directory

Пример 7: Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Сохраняем время изменения и время доступа и права копируемого фала.

$ scp -p file.txt user@remote.host:~

Пример 8: Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Увеличиваем скорость работы SCP изменяя алгоритм шифрования с AES-128 (по умолчанию) на Blowfish.

$ scp -c blowfish file.txt user@remote.host:~

Пример 9: Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Ограничиваем ширину канала используемого командой SCP до 100 Kbit/s.

$ scp -l 100 file.txt user@remote.host:~

Пример 10: Копируем несколько файлов с удаленного хост в текущую директорию на Вашем локальном хосте.

$ scp user@remote.host:~/\{file1,file2,file3\} .

Источник: https://www.shellhacks.com/ru/copy-files-ssh-10-examples/


3D визуализация и дизайн

Монтирование удалённого каталога по SSH как локальной папки с помощью SSHFS

При помощи sshfs — клиента файловой системы ssh — мы можем подключить локальный каталог к удалённому местоположению со всеми взаимодействиями файлов в зашифрованном сеансе ssh.

localhost:~$ apt install sshfs

На Ubuntu и Debian установим пакет sshfs, а затем просто приимонтируем удалённое расположение к нашей системе.

localhost:~$ sshfs user@remoteserver:/media/data ~/data/

Источник: https://habr.com/ru/post/435546/

Удаленное администрирование Linux Ubuntu 14.04

В Linux Ubuntu «из коробки» идет много полезных возможностей. Одна из них — удаленное администрирование. Ниже, показывается, как включить его.

Выполните команды:

sudo apt-get install dconf-editor

В ORG > GNOME > DESKTOP > REMOTE ACCESS найдите Require Encryption и устанвите в Off, если хотите подключаться не с Linux-машин.

Восстановление баз данных InnoDB после сбоев в MySQL

Возникла у меня проблема с выходом из строя баз данных MySQL. Причем, проблема проявляла себя в виде не запуска сервиса MySQL. При этом в логах довольно было мало информации. Однако, запустив mysql_safe все таки логи выдали ошибки. Из которых стало понятно, что база несколько испортилась (до этого пришлось физически выключать сервер, т.к. сервис MySQL завис от количества посещений и сервер длительное время не хотел перезагружаться).

Провозившись несколько часов вывелся рецепт лечения:

Лог ошибок может выдавать в случае сбоя нечто подобное:

Отправляет в документацию по восстановлению :)))

1. Переводим сервис в защищенный режим MySQL.

Останавливаем сервис, если он пытается запуститься.

Далее, добавляем строчки в конфиг MySQL my.cnf:

Причем, параметр innodb_force_recovery=3 увеличиваем, начиная с 1 и так до тех пор, пока не запустится сервис (максимум это значение может быть 8).

Вот, что означает этот параметр:

  1. Mode 1 — не «отваливается» MySQL, когда он видит коррумпированные страницы.
  2. Mode 2 — не запускает фоновые операции.
  3. Mode 3 — Не пытается откатить транзакции.
  4. Mode 4 —  не рассчитывает статистику или не применяет сохраненные/буферизированные изменения.
  5. Mode 5 —  Не смотрите на log-и отката при запуске.
  6. Mode 6 — Не прокрутки вперед от повтора логов (ib_logfiles) во время пуска.

2. Делаем бекап всех данных базы данных (после запуска сервера).

3. Переименовываем всю папку с данными MySQL (потом, когда все заработает — ее можно будет удалить)

4. Разворачиваем новый кластер MySQL.

Как это делается, описано в статье:

Инициализация базы данных MySQL, сброс пароля MySQL на Linux Ubuntu 18.04

5. Запускаем MySQL и восстанавливаем данные:

6. Перезагружаем сервис MySQL, чтоб обновились права (можно, конено, просто сделать flush прав, но как по мне, перезагрузка — надежней).

 

 

Еще полезные статьи по теме не запуска сервиса MySQL:

Не запускается Mysql

Исправляем поврежденные INNODB таблицы

 

 

 

 

 

 

Решение проблемы с правами доступа MySQL из-за сервиса AppArmor

При перезагрузке MySQL столкнулся с тем, что сервис не запускался. При более подробном анализе логов, увидел, что стало ругаться на права доступа в сервисе AppArmor.

Выводились сообщения, подобные таким:

Исправляется это дело внесением правил в файл (посредине файла) /etc/apparmor.d/usr.sbin.mysqld

Подобные правила:

Конечно, правила формируются в зависимости от сообщений. В каталогах можно применять маски, например: * — любое название.

Чтоб изменения вступили в силу нужно перезагрузить сервисы:

 

 

3D визуализация и дизайн

Инициализация базы данных MySQL, сброс пароля MySQL на Linux Ubuntu 18.04

В новых версиях MySQL есть свои нюансы по сбросу пароля MySQL. У меня даже при развертывании первичной базы пустой базы не удавалось подключаться. Некоторое время пришлось повозиться, побеждая данную проблему. Дальше, я приведу рецепт, как инициализировать базу данных и сбросить пароль рута в MySQL.

1) Останавливаем текущую службу MySQL:

 

2) Создаем каталог /var/run/mysqld который будет использоваться процессом MySQL для хранения и доступа к файлу сокета, а также даем необходимые права:

 

3) Запускаем MySQL со следующими параметрами:

 

4) Убеждаемся, что процесс запущен:

 

5) На этом этапе мы можем получить доступ к MySQL без пароля.
Входим командой:

 

6) Затем сбрасываем пароль root следующей последовательностью запросов:

 

Мы установили пароль «123» для пользователя «root».

7) Завершаем текущий mysqld процесс:

 

[1]+ Завершён sudo /usr/sbin/mysqld —skip-grant-tables —skip-networking

8) Запускаем службу MySQL:

 

9) Теперь мы можем войти, используя только что установленный пароль для рута:

 

mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

 

10) Так же, база попросила установить пароль с помощью Alter User:

 

 

Источник: http://ikode.ru/articles/kak-sbrosit-parol-root-mysql-na-ubuntu-1804

 

 

 

3D визуализация и интерьер

Отношения в семье

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

Шаг первый — общение. Мы не всегда задумываемся о том, что самое важное в отношениях — это разговоры. Они крайне необходимы двум любящим людям, на каком бы этапе отношений они не находились.
Начать можно с банального вечернего обмена настроением и впечатлениями, пережитыми за день. Какими бы уставшими после работы оба не были — найти силы поинтересоваться маленькой будничной жизнью половинки крайне необходимо. Тем более, что разговоры друг о друге можно перенести в более комфортную обстановку: например, устроить общение перед сном в постели, отложив и выключив все гаджеты.
Любой способ коммуникации, позволяющий заново узнавать друг друга, даст начало возрождению эмоциональной связи между людьми, что отдалились. А появление эмоционального контакта всегда влечет за собой физическое притяжение.

Шаг второй — тактильный контакт. Одно из проявлений любви — это желание касаться. Поэтому так важно не забывать о прикосновениях в любых их проявлениях. Стоит завести полезные привычки в этом ключе: чаще держаться за руки, встречать и провожать друг друга поцелуями, обниматься перед сном. Ведь даже учеными доказано, что мужчины, целующие своих жен перед работой — намного успешнее тех, кто этого не делает.

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

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

Необходимо вспомнить старые общие хобби или любимые занятия, что ранее увлекали обоих. Если таковых не осталось — это не причина отчаиваться, а, наоборот, повод отыскать новые способы времяпровождения вместе. Стоит вспомнить, что давно хотелось реализовать, но по каким-либо причинам всегда откладывалось. Например, путешествие в конкретную страну, совместное занятие спортом или даже банальный поход в кино. Любое увлечение, которое не только позволит проводить досуг вдвоем, но еще и обеспечит смену обстановки и «картинок», положительно скажется на взаимоотношениях влюбленных.

Отыскав общее хобби, его нужно ввести в жизнь пары на постоянной основе. Это позволит быть счастливыми в отношениях при любых обстоятельствах, даже если у двух любящих людей разные ритмы жизни.

Шаг четвертый — исключение любой недосказанности. Чтобы закрепить предыдущие пройденные шаги и не допустить очередного кризиса в отношениях, необходимо ввести еще одно важное правило — говорить друг другу все. Особенно это касается конструктивной критики и высказывание друг другу негативных аспектов в привычной жизни.

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

Каждая пара индивидуальна, поэтому трудно найти универсальный способ вернуть близость в отношениях. Главное — делать шаги друг к другу и стремиться вместе сохранить любовь со всей ее страстью и нежностью.