• Нужно найти причину брутфорса паролей с моего сервера?

    @none7
    Если червь такой хитрый и прячется во время активности пользователя, то делайте shell без tty на произвольном порту или вообще backconnect. Обычный sh, червь не должны подозревать. top конечно работать не будет, но ps aux вполне достаточно.
    Можно так же добавить правило фаерволла, логировать все новые исходящие подключения. Логи мониторить скриптом, который будет узнавать UID, у netstat PID, а дальше уже, название программы и строку аргументов и хоть всё дерево процессов, если нужно. Но тут главная проблема не в черве, а в том, как он к Вам попал. И сколько резервных копий себя наплодил. Без хорошего знания системы, поможет только переустановка и то не факт, учитывая дыру.
    P.S. Права на файлы, chroot и docker придумали не просто так. С изоляцией проще решать подобные проблемы.
    Ответ написан
    Комментировать
  • Как работает память процессов в windows?

    @none7
    Во-первых не понятно зачем вообще говорить о каких то адресах операциоонной системы, если они не доступны.

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

    ASLR
    Я хочу просто перезаписат отделюную инструкцию, как мне это сделать, если она каждый раз находится на разных адресах.

    EnumProcessModules GetModuleFileNameEx
    Ответ написан
    Комментировать
  • Проброс портов из подсети в подсеть?

    @none7
    Разве --to-source не должно быть 192.168.1.2? И коннектить все 192.168.0.0/24 к 192.168.0.2:210.
    Ответ написан
  • Процесс svchost.exe отнимает всю оперативную память?

    @none7
    Естественно, что после убийство службы она перезапускается, это штатное поведение. Вероятно это попытка Windows собрать информацию об ошибке, отягощённая антивирусом. Если уверен, что это не вирус, то отключи сеть, удали антивирь, перезагрузи систему, разлогинся и дай системе шуршать диском пока ей не надоест(может занять и несколько часов), затем в консоли админа запусти sfc /scannow
    Ответ написан
    Комментировать
  • Как запросить права доступа для программы с помощью WinAPI?

    @none7
    Если права админа требуются всегда, то см. Setting the Execution Level in the Application Manifest. Иначе запуск программы через ShellExecute("runas") и передача дочернему процессу необходимых данных.
    Ответ написан
    4 комментария
  • Как воспроизвести на сайте скаченное/записанное видео с сервера (НЕ трансляция с IP-camera)?

    @none7
    videoSource: SafeUrl;
    videoData: ???;
    Ответ написан
    Комментировать
  • Как добавить путь LD_LIBRARY_PATH в коде с++?

    @none7
    Ваша программа, это не sh скрипт. И пара строк:
    std::system("export myvar=1");
    std::system("echo $myvar");

    неожиданно выведут пустую строку. Нужно либо устанавливать переменную в том же вызове system(env LD_LIBRARY_PATH=${LD_LIBRARY_PATH} path/to/app) или ручками менять переменные своей программы(getenv/setenv).
    Ответ написан
    Комментировать
  • C# передать параметр в Win32Api функцию?

    @none7
    Во первых эти массивы должны размещаться в самой структуре, а не управляемые ссылки на них. Странно уже то, что маршалинг исключение не выплюнул. Должно быть как то так:
    struct SET_DISK_ATTRIBUTES
    {
        public uint Version;
        public bool Persist;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
        public byte[] Reserved1;
        public ulong Attributes;
        public ulong AttributesMask;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
        public uint[] Reserved2;
    };

    Во вторых Вы забыли скопировать структуру в память и передаете функции DeviceIoControl не инициализированный мусор. Так же можно добавить перегруженный метод DeviceIoControl принимающий ref SET_DISK_ATTRIBUTES вместо IntPtr и не возится с динамической памятью. Пока структура является локальной переменной синхронного метода, GC её никуда не утащит.
    Ответ написан
    Комментировать
  • Почему не работает код?

    @none7
    sh это не bash! if [ $ver = "Debian7" ];
    Такую ошибку выплёвывает sh или возможно bash старой версии.
    Ответ написан
    Комментировать
  • Как узнать количество оперативной памяти которое используется в данный момент и общий объем RAM?

    @none7
    Вероятно это возможно только через WinAPI и то не факт, что стандартный SDK тут поможет. Пример получения этих данных на Си. perfdata.c
    Ответ написан
    Комментировать
  • Как исправить System.IO.EndOfStreamException: "Чтение после конца потока невозможно." в MemoryStream?

    @none7
    while(reader.Position != reader.Length) // должно работать

    Для ReadString() возврат пустой строки, вполне вменяемое поведение.

    Например, если бы считывался этот комментарий, то Ваш код не дошёл бы до этой строчки.
    Ответ написан
    4 комментария
  • Как получить сообщения с помощью GetMessage?

    @none7
    Создание невидимого окна, созданного без dwStyle : WS_VISIBLE и с ShowWindow(hWnd,SW_HIDE), является традиционным способом ловли оконных системных сообщений, работающим даже для служб. При этом вовсе не обязательно компилировать приложение как графическое. Ведь никто не мешает вызвать функции RegisterClassEx и CreateWindowEx в консольном приложении или службе.
    Ответ написан
    Комментировать
  • Как решить проблему с пробуждением из спящего режима?

    @none7
    Попробуй в политиках запретить Windows Update управлять электропитанием.
    5bc986397faab538257973.png

    Так же есть команда powercfg -lastwake и иногда она помогает выявить виновника пробуждения.
    Ответ написан
  • Как ходит трафик в voip приложениях?

    @none7
    Обычно люди хотят наоборот, чтобы трафик шёл напрямую, а не через сервера корпораций которые безусловно расшифровывают весь транзитный трафик. Но не беспокойтесь, большинство современных voip приложений существуют именно для того, чтобы снифать ваш трафик и тембр голоса им важнее ip-адресов.
    Проприетарное приложение всегда может передать кучу информации на сервера и не только реальные Ip-адреса, а вообще любую информацию доступную ему. Например на телефонах они очень любят тырить список контактов. Естественно другим клиентам они Ваш ip-не сливают, незачем. Но есть и такие как webrtc, нацеленные на прямую связь и здесь обмен адресами это необходимость. И браузер попросту не в курсе, что у Вас там где то VPN.
    Ответ в общем зависит от конкретного приложения. Но я не знаю проектов нацеленных на полностью анонимный voip. Тут нужен лютый кастом основанный на tor и .onion.
    Ответ написан
    Комментировать
  • В чём разница gethostbyaddr() и $_SERVER['REMOTE_HOST'] в PHP?

    @none7
    Переменная REMOTE_HOST устанавливается web-сервером на основе сишной функции gethostbyaddr() и php вообще никак не участвует. Если при использовании nginx в качестве proxy, REMOTE_ADDR имеет реальный адрес, а REMOTE_HOST == 'localhost', то это баг того модуля web-сервера, что подменяет IP-адрес подключения. Должно быть $remote_host == gethostbyaddr($remote_addr) || $remote_host == $remote_addr. Если REMOTE_ADDR всегда равен '127.0.0.1' или '::1', то это недоработка хостера.
    Ответ написан
    1 комментарий
  • Unknown SSL protocol error без https?

    @none7
    kdl.ru поддерживает только TLSv1.2. Вообще мануал рекомендует не устанавливать опцию CURLOPT_SSLVERSION, чтобы он сам угадал нужную. Странно, что curl даёт неизвестную ошибку, openssl сразу говорит, что удалённый хост не поддерживает TLSv1.
    Ответ написан
    2 комментария
  • Зачем нужен Async Await в C#?

    @none7
    Изначально async/await появились как способ изничтожить лаги окошек при I/O операциях. Раньше для этого требовалось создавать поток или возится с колбеками асинхронных функций и запускать Form.Invoke для доступа к форме. Асинхронные же обработчики событий не вешают основной поток и всегда выполняются в потоке формы.

    Когда код встречает await, то немедленно возвращает поток в ThreadPool. Это позволяет параллельно обрабатывать множество задач нуждающихся в I/O, ограниченным числом потоков. Большое число потоков может выжрать всю виртуальную память, что не есть хорошо. Но есть и жирные минусы, lock не работает, скорость выполнения кода ниже.
    Ответ написан
    Комментировать
  • В чем может быть проблема с dns?

    @none7
    Там в CNAME опечатка fabrka вместо fabrika.
    Ответ написан
  • Как загрузить resource в динамической библиотеке в Windows?

    @none7
    DllMain entry point. Параметр hinstDLL это HINSTANCE вашей библиотеки, который и нужно использовать вместо GetModuleHandle(NULL).
    Ответ написан
  • "Кто" создаёт файлы во временной папке при их загрузке?

    @none7
    Nginx парсит заголовок запроса и переадресует его php и он уже парсит тело запроса. У php есть опция upload_tmp_dir, позволяющая указать куда именно скидывать эти временные файлы. Что касается модуля nginx, то это отдельный нестандартный механизм и не будет виден в переменной $_FILES(если конечно не поправят специально для модуля nginx). Если реализовать собственный http-сервер с поддержкой CGI/FastCGI, то реализовать парсинг тела запроса не придётся.
    Ответ написан
    Комментировать