如何清理被黑客户端(不是root)?

所以我设置了一个linux服务器,并忘记禁用明文ssh密码或安装denyhosts或启用任何forms的密码策略。 通常我拒绝主机,它运作良好。 由于缺less这个重要的步骤(是的,我应该自动化的过程),一个弱密码的用户已被黑客入侵。 现在假设一般的权限是好的,我可以做些什么来解决他们做了什么,并将其删除?

顺便说一句,我是一个程序员的天性不是一个系统pipe理员,所以请亲切!

你永远不能完全确定他们在用户帐户上做了什么。 但是启动的地方是主目录中的。*历史文件。

我的build议是把已知的好的/重要的数据复制出来 ,然后把剩下的东西吹走。 入侵者可能在configuration文件,.bashrc等中留下任何令人讨厌的惊喜

您还应该检查用户拥有的任何文件是否在系统上并查找正在运行的进程:

# find / -user USERNAME # ps -a -u USERNAME 

将来,我会build议开启stream程会计。 然后你可以使用'lastcomm'来检查以前运行的命令。

如果你有一个备用的方便,你可以比较到当前的文件系统,看看有什么变化。 请特别注意通常位于path中的目录,例如/ bin,/ usr / bin,/ usr / local / bin,/ sbin,/ usr / sbin,/ usr / local / sbin,/ opt / bin,等等

还要查找rootkit: Windows rootkit检测和删除工具的列表

但是你不知道你发现了他们所做的一切。 最好回到已知的良好状态(例如上一次备份),并将自那时以来经过仔细检查的数据带回原处。 更好的办法是擦除系统,并在连接到networking之前安装IDS。

除非你正在使用助手或绊网或类似的东西,否则你没有太多其他的select。

你应该检查用户的历史和根历史。
查看/ tmp中的可疑文件(源代码,可执行文件,该用户拥有的文件)。
使用http://www.chkrootkit.org/和/或http://rkhunter.sourceforge.net检查系统。
pstree / top / ps aux来检查正在运行的进程。
如果有的话,请查看/ var / log中的日志文件以了解黑客的具体时间。

如果怀疑被盗用的帐户是无特权的,攻击者可能会隐藏一个永久性的恶意软件。 正确清理这些地方,没有必要彻底清理帐户。

  1. 她将初始化文件: .bashrc.bash_profile.profile.bash_login等。对于非bash shell,检查相应的手册页。

  2. 如果系统使用systemD,那么通过systemd –user实例还有另一个向量。 用户定义的systemD单元进入~/.config~/.local [1] 。

  3. 克伦工作。 取决于你的cron风格,但通常在/var/lib/...某处

  4. 桌面configuration文件。 通常在~/.config~/.local 。 为了安全,删除这些dirs。

  5. ~/.pam_environmentconfiguration~/.pam_environment

另外请注意,从正在运行的系统进行清理是不安全的,因为systemD允许通过login来拖延用户,这意味着可以在每次启动时启动用户单元。 幸运的是,需要为攻击者安装polkit才能够保留被入侵的用户……如果你有polkit,那么你正处于一个痛苦的世界:)

因此,最好通过将init = / bin / bash传递给内核命令行来从initramfs进行清理。

[1] https://wiki.archlinux.org/index.php/Systemd/User

通过移动重要数据来清除用户帐户(如果有)。 检查用户命令历史logging,查看是否运行了任何脚本或运行了任何非必需的命令。 从系统中删除用户并删除主目录。 检查是否有任何cronjobs设置。 详细检查所有进程,看看是否有任何由被入侵的帐户设置的后台进程。

希望能帮助到你。