Чтобы ответить на вопрос в заголовке напрямую:
Ты не можешь.
Протрите все, переустановите macOS и восстановите файлы из резервной копии ( не с зараженной машины).
Для полноты картины стоит упомянуть, что существуют атаки, например заражать прошивку запоминающих устройств, уничтожая все оборудование, чтобы обеспечить 100% безопасность. Если у вас нет оснований полагать, что правительство преследует вас лично, это не является реальной проблемой - напротив, заражение любой части данных, фактически сохраненных на диске, на несколько порядков проще и представляет собой очень реальную угрозу. Даже если вы были просто жертвой автоматической нецелевой атаки, уничтожение всего этого является необходимой мерой предосторожности.
Зачем?
Если у злоумышленника есть root-доступ, он может, среди прочего, заменить любой бинарный с собственной версией, которая может делать все что угодно, что означает, что вы не можете доверять что-нибудь в вашей системе больше. Буквально все вы пытаетесь сделать, может в конечном итоге сделать что-то совершенно разные , Если хакер хочет, они могут сделать cat
верните подправленную версию файлов, например, скрыть записи журнала, показывающие нежелательную активность; ls
может не показать файлы, добавленные хакером; любой текстовый редактор может претендовать на сохранение того, что вы пишете, но на самом деле молча игнорирует ваши изменения и т. д. и т. д.
Могу я хотя бы сохранить свои файлы? У меня есть вещи, которые были скопированы некоторое время назад / не копируются вообще
Причина, по которой вы не хотите копировать свои файлы, заключается в том, что существует множество типов неисполняемых файлов, которые могут использовать ту или иную уязвимость и повторно заразить вашу систему. Сжатые архивы различных типов и PDF-файлы являются распространенными носителями, но отнюдь не единственной опасностью. Вы наверное безопасное копирование в виде обычного, неисполняемого текстового файла (однако, не используйте для этого скомпрометированную ОС), но помните, что атакующий мог изменить абсолютно все абсолютно любым способом, каким он хочет, поэтому относитесь ко всему так, как вы относитесь случайный файл, случайно скачанный с теневого сайта.
Более реалистично ...
Вы также должны думать о Зачем хакер сделал бы что-то подобное. Замена cat
а также ls
со злонамеренными версиями это вполне возможно, но сделать вывод достаточно сложным, чтобы обмануть вас и подумать, что все в порядке, гораздо сложнее. Если бы хакер просто хотел шпионить за вами, он установил бы кейлоггер и оставил бы все остальное в покое. Если бы они хотели использовать вашу машину в ботнете, они установили бы необходимое программное обеспечение и оставили бы все остальное в покое. Если бы они хотели ваш конкретно деньги, они бы установили вымогателей, и вы бы знали это уже.
Ни в одном из перечисленных случаев нет необходимости редактировать историю bash или изменять имя хоста вашего компьютера. Кейлоггер или подобный руткит могут быть практически не обнаруживаемыми. Так что пока корневой атакующий Можно делать что-нибудь, обычно это означает, что вы никогда не сможете угадать, что они там, кроме как, например, наблюдая, как ваша нагрузка была выше, чем обычно, когда ваша скомпрометированная машина участвовала в бот-сети. Или, если они не возражают против того, что вы знаете, что они там, гораздо проще заблокировать пользователя (например, путем изменения пароля учетной записи), чем связываться с историей bash. (Или опять вымогатель.)
Итак, что здесь произошло и что вы должны сделать?
Другие ответы уже описывают то, что я лично согласен с наиболее вероятным сценарием: несколько случайностей, например, DHCP-сервер, изменяющий ваше имя хоста. В этом случае вы бескомпромиссны и в порядке.
Альтернатива заключается в том, что кто-то вломился в вашу машину вручную и либо неуклюже пытается ее скрыть, либо намеренно связывается с вами. Это может быть член семьи, коллега или другое знакомство; возможно, они могли бы перебрать твой пароль. Если что дело а также вы уверены, что они не установили руткитов или клавиатурных шпионов за это время, тогда достаточно просто изменить соответствующие пароли (root и ваш пользователь). Но вы действительно не можете знать, что они делали или не делали, и как только у вас уже есть root-доступ, установить тривиальный пакет готовых вредоносных программ совершенно тривиально - так что, если вы действительно уверены, что кто-то получил несанкционированный root-доступ, то, как объяснено выше, протри все.
A hacker penetrated in my system and has root access. How do I know that?
Два утверждения противоречивы. пожалуйста редактировать вопрос и уточните.