第一次遇见黑客,竟然是这样的局面。


每次看到犯罪片中熟练操作电脑的黑客,都无比钦佩其技术高超,也妄想自己能达到那种高度。没想到现实中第一次遇到的黑客,他站在我的对立面,手段还无比卑鄙…

enter description here
(写下这篇文章来记录一下这段经历,以及在这个过程中学到的一些技术。)

1.服务器忽然成为在线矿场

我正在苦恼配置环境的问题,忽然收到学姐的一张截图,里面GPU跑满了,问我有没有在跑代码。我倒是想跑,但环境还没配置好啊!
仔细一看 这截图里面除了两个进程明显是python程序,另外八个的进程名字有点奇怪啊 没有见过。

enter description here

我忽然感觉到了不妙,不会被盯上了吧,不会吧…
马上到谷歌搜索了那个奇怪的进程名,果不其然,出现了我最担心的词。被挖矿的盯上了!!
enter description here

2.迅速反击

在大二的时候因为要学深度学习也就顺便学了linux系统,用的两个电脑都是双系统,并且一个电脑日常都是linux使用(只是因为美化过之后比windows好看…

两年过去了,对于日常使用的linux命令还是懂点的,虽然能记住的没几个,不过杀杀进程、查个东西也够了。

看到挖矿程序的进程是同一个 第一个想法是杀死进程!
使用 kill -9 PID直接杀死了进程 (-9是六亲不认的杀死!)

挖矿的进程瞬间就没了
enter description here

但是挖矿程序肯定还在啊。肯定需要找到并删除
这时候就需要用查找的命令。由于只知道程序名字 其他一概不知
只能从根部搜索有关ethminer的文件
find -name 'ethminer'

enter description here

竟然这么容易就被我搜到了 太轻松了 !

但是接下来的事让我百思不得其解
我查看了这几个文件的具体信息, 发现是user(一个用户)创建的 并且时间是2019年!!!
enter description here

首先user这个用户是学长在用,但挖矿程序不是学长弄的,其次这时间是2019也不对啊。

随后我查了这个程序里面几个文件 找到了网上的源程序 发布时间也是2019年
enter description here

目前只能猜测是 有黑客入侵了user这个用户装了挖矿程序,至于这个时间有可能是程序发布的时间。

紧接用rm -r -f 指令删除了这几个文件,换了user复杂点的密码。
ufw相关指令 把防火墙开了,并开放一些必要的端口。(之前一直以为服务器在内网就没有什么防护 防火墙都是关着的)。不到半天就解决了。

3.随之而来的报复

随后的几天看似一切都风平浪静,似乎什么都没发生过。

我还是一如既往的配着环境,一如既往的纠结要不要学习,纠结着就打开了王者,并遭受着毒打!(队友菜的呀…)

忽然收到学姐消息,说运行的pycharm老是自己闪退。
第一反应是内存不够了,因为之前服务器好像就因为内存不够删了一下东西,而且最近我准备装个CUDA的另一个版本。但上去一查,还有很多。
enter description here

仔细看了看学姐发的报错信息 好像是少什么东西。也就没怎么在意,让学姐自己查查。

直到第二天。想跑一个之前弄好的项目,跑着跑着 忽然停了出现了 killed!!!
跟学姐一样的问题。这问题好像并没那么简单了…
pycahrm 浏览器 python程序都能给自动杀死。

随后开始了测试 开始查资料。
首先找出来怎么被杀死的,谁杀死的。
开启三个终端:

  • 一个终端打开一个服务
  • 另一个终端查出来这个服务的pid (用ps -A -f
  • 最后一个监控这个pid (strace -T -tt -e trace=all -p pid

enter description here

结果是 +++ killed by SIGUSR1 +++,是使用了kill -9(SIGKILL),那么即使使用strace也只是知道被干掉了,也没法知道被谁干掉了。

又看到网上关于这类问题都是查被杀死的日志。但是那些指令输入去没有一个返回,没有一个结果
enter description here

正当我焦头烂额的时候,发现我登不上去我用户了!!!
我密码被改了,user密码被改了,学姐密码也被改了!!!
雪上加霜。
我忽然想起来user密码前两天好像因为一些原因又被学长改回来了,这不又被黑客登上了,那这进程被杀死也是黑客搞的鬼了。。。

4.第二次反击

还好我还有一个root的终端没有关掉,我马上改了user的密码 root的密码。断了服务器的网,以此防止黑客再进入,但这只是缓兵之计。

进入服务器之后我才发现他并不是改了我的密码,而是把我和学姐的用户删了!!!
su 用户名 切换用户)我们的用户都无法切换了也就是说不存在了。
enter description here

这黑客也太过分了吧… 删用户,破坏电脑 简直不讲武德。
我配了那么久的环境全没了…
至此我也完全相信了有黑客的入侵。在此之前我一直抱有怀疑,不能确定。

但是又没有好的反击方法,相关的日志丝毫没有记录。
我只能开始了全方位地毯式搜索 有关的信息。
egrep 命令搜索文件内有关的字符串
‘killed processes’ 搜不到就用 ‘kill’
/var/log 日志文件里面没有 那我就全盘搜!!!

终于是找到了有关线索
看到了他杀死进程的一些命令
enter description here

并在user下.bash_history 发现了挖矿程序的相关字符
我才知道这个文件记录了user的终端命令记录
然后就意识到 通过这个我就可以看黑客的操作记录 就能知道他做了什么
enter description here

由于我们都不是计算机相关专业,对linux都不是特别熟。再加上学长学姐一般用界面操作,我也很少用这个用户,所以.bash_history 里很容易找出来黑客的指令。

根据里面wget下载的文件 并用stat命令找出来他操作的时间 可以看出来是2021/1/30
而之前判断的2019是这个文件的修改时间。
enter description here

虽然此时已经有了很大的进展,我已经能判断出来他做了什么,并删除了一些之前没发现的文件。但是进程自动杀死的问题还是没有解决。我猜测是有什么脚本在控制,但在root下和user下的.bash_history里都没有脚本的记录。

使用find /etc -name '*.sh' -user -root 来找etc下属于user和root的脚本文件依旧无所获。
enter description here

在我无可奈何又气急败坏的时候 想到了我有黑客的邮箱
上面查记录时找到了黑客用来挖矿时填的账户邮箱
enter description here

本想恼羞成怒的羞辱他一番,但仔细一想问题还没解决。万一他实力强,再给我带来其他麻烦岂不更惨。但又一想都被他欺负了不能认怂。警告他一番。
enter description here

5.峰回路转

在无可奈何的时候,求助了当时买服务器时的技术,本想着我可以休息了,也不用学习了,可以去王者峡谷逛逛了。
结果技术一两天啥也没干,发了个朋友圈 意思是:我要放假了,别找我了…

我吐了呀,还是得靠自己。只能盯着屏幕继续干了,继续看日志有没有遗漏的地方吧
可能是真的到了山穷水尽的时刻,终于柳暗花明又一村了。

病急乱投医的时候看到一个博客写用top 指令查查内存占用最多的进程
随着top输入终端并回车,看到出来的内容 ,我震惊了。
十几个进程cpu占用都是99% 命令都是crond(一个定时任务命令)
enter description here
(意识到找到问题了 太激动了 当时的图没留 )

杀死其中一个进程后 会马上原地复活这让我看到了希望!!! 就是它了。

使用crontab –l 查看定时任务文件 找到了地址
一个及其隐藏的地方
enter description here
而时间正好就是2月2 我们发现问题的那天
enter description here
果然删掉之后一切问题解决。

至此问题是都解决了
一直在意的是GPU,没想到黑客会写定时任务跑满了CPU,而导致其他程序无法正常启动。/var/log/messages日志文件不知道什么问题是空的,不然一开始就能查到了。top命令之前也用过但是用来查看单个进程的,没有去查看总体的占用,导致之前没想到这个问题。

6.复盘以及防护

通过.bash_history 基本可以复盘出黑客的整个操作
2021/1/30:

  • 暴力破解出了user的用户密码
    lastb 查看列出登入系统失败的用户相关信息
    可以看到遭遇了暴力破解 还在破解其他用户…
    enter description here
  • 从GitHub上下载挖矿程序,以及从一个文件中转网站上下载了其他文件。简单配置了环境因为我们显卡驱动 CUDA环境都是配好的,就开始了挖矿。
    enter description here

1/31:

  • 挖矿被发现。挖矿程序被删掉,并有了些防护、改了密码 、开了防火墙。进不来了

2/2:

  • 密码被学长改回,又进来了,开始了报复行为。
  • 上传了一个定时循环的任务,跑满了cpu,让我们的其他程序无法运行。
    enter description here

2/3:

  • 可能是看到我和学姐用这个服务器比较多,直接删掉了我俩的用户。还改了user的密码以此妄想来独占服务器。
    enter description here

终于在2月6号都被我成功解决掉了。
enter description here

安全防护
需要防护的就是ssh了
修改ssh的配置文件 vim /etc/ssh/sshd_config :

  1. 修改常用端口22 改成 1024-65535中任一 。(port *****)
  2. 禁止root登陆 (PermitRootLogin no)
  3. 用户密码设置尽可能的复杂 (字母大小写数字特殊符号 自由组合)
  4. 改为秘钥登陆 禁止密码登陆 (PasswordAuthentication no )(PubkeyAuthentication yes)
    enter description here

重启ssd服务
systemctl restart sshd

第四条只能使用秘钥登陆 就从根本上杜绝了暴力破解

else

此次经历应该是我第一次现实中遇到黑客,也对这群人有了些新的认识。其实周围也有学网络技术安全的同学。也见过同学攻击别人,找漏洞,薅羊毛之类的。
但是切实发生在自己身上,并且是受害者的时候,深刻感觉到网络安全意识很重要,以及他们行为的可耻。技术本来是要改善生活、提供便利的,但却被他们利用去欺负别人。

这应该也是我第一次发布这类以叙事方式来写的技术性文章。以前的文章都是很’硬核’,可能是最近知乎看多了吧。以后可能也会发一些硬核也很有意思的文章。(跟我最近要跑的项目有关)

猜你喜欢

转载自blog.csdn.net/Nirvana_6174/article/details/113755435