要末取得成功要末挨打趴下:大神对战、blog服务


要末取得成功要末挨打趴下:大神对战、blog服务器被黑的故事


短视頻,自新闻媒体,达人种草1站服务

 

每个大神在发展路上, 都必须与墙作充裕的抵抗. 要末你取得成功, 站健在界之颠, 随后畅快吸取到顶级的专业知识; 或或被它打趴下, 变成芸芸众生中的1人, 随后对它见怪不怪.

我也不列外.

前没多久, 我刚在我的服务器上自主架好了自身的 "梯子". 这更是从 "梯子" 刚开始的故事.

揭幕

夜早已深了, 我仍然坐在电脑上, 思考着1件事: 为何忽然之间, 历年来运作优良的 "梯子", 忽然就这么卡呢? 难道说早已被 "墙" 发现并限定了?

我不甘愿地想, 这不能能, 我掩藏的这么好, 这么低调, 不容易是我.

我拿出手中最爱的专用工具: ping.

刚开始了我的检验之旅.

 

60% 丢包, 这太浮夸了, 这样的互联网自然环境真是比帝都的交通出行自然环境还差千倍. 我在想.

试试另外一个利器 traceroute 吧, 仅有第1跳是通的, F**K, 果真是全球第1的局域互联网, 经营商也敢不法抛弃我的检验包, 这个检验没什么获得.

可是, 看着我的 "梯子" 在云层晃晃悠悠(丢包), 我就心生决意: 不在抵抗中取得成功, 就在抵抗中衰落.

正在没有措时, "梯子" 所属的服务商给给我最爱的 Gmail 忽然推送了1封相当关键的电子邮件, 上面赫然写道:

 

啊, 将要变成大神那种敏锐的第6感, 让我感觉, 我将会错怪 "墙" 了, 我将会被黑了.

检验

1阵饿意, 让我苏醒了很多, 果真, 一些大神创造发明的 "轻断食" 治疗法十分合理, 让我离大神更进了1步.

"我1定要把对手揪出来", 内心暗暗下决策.

ssh root@myblog.me

我刚开始联接到我的服务器, 第1步, 先从登陆系统日志刚开始.

这是1个十分聪慧的做法:

# whoroot pts/2 2015-01⑵0 3:00 (xx.xx.xx.xx)

嗯, 仅有我1本人, 并沒有把握住网络黑客的现行. "我想他不容易这么笨, 让我现场拿住他", 内心暗想.

 

再次娴熟地查验着有谁登陆过系统软件, 根据 ip138 检验着 IP 的来源于. 結果, 都是我这里的 IP, 沒有人!!!

难道说我弄错了? 并不是被黑了吗?

不好, 再次看登陆系统日志.

 

看到这么多 ssh 工程爆破登陆系统日志, 内心1阵凉意, 果真在互联网技术上混, 時刻要当心远方各种各样暗器. 理智1下, 渐渐地找找看.

花了几10分钟以后, 除各种各样客户名登陆密码的登陆不成功外, 并沒有根据登陆密码登陆取得成功的系统日志, 毫无新的发现.

内心暗想, "对手也不弱嘛."

但是, 也有1个案件线索沒有查验过: "现阶段服务器的总流量依然很高"

是情况下应用我手中的关键武器装备了.

发现

现阶段思路還是很清楚的, 要精准定位究竟是哪一个过程致使的高总流量, 随后根据它的个人行为, 剖析是不是是网络黑客挂的马?

OK, 刚开始行動:

免费下载 iftop, 开启系统软件的总流量面板, 10秒以后, 总流量面板刚开始正确显示信息总流量, 我的总流量峰值高达 100mb/s. 调剂1些指令主要参数, 显示信息端口号与 IP 信息内容.

iftop -nP

总流量面板显示信息出是从我的服务器往流失出总流量, 先从 30157 端口号刚开始往外推送, 几秒以后, 就会循环系统切到 30000 - 50000 之间的1个端口号再次发. 是 UDP 总流量. 我断言.

果真, 再根据 stat -anp 来检验开启端口号状况, 发现并沒有 TCP 上的情况, 确定了我的断言.

( UDP 总流量是能够无情况的, 能够迅速切换, TCP 反之, 能够根据专用工具抓到连接情况 )

但悲剧的是, 这两个专用工具其实不能显示信息出来是哪一个过程作的鬼. 来看仅有1个个看了.

ps aux

过程其实不多, 很快就看完了, 有两个可疑过程:

ruby 5162 0.0 5.0 286128 102200 ? Sl 02:58 2:20 /usr/sbin/d -c ./init -d /home/ruby/lib/2

111 3033 0.0 5.0 1 2017 ? Sl 02:58 2:20 /tmp/freeBSD /tmp/freeBSD 1

第1点, 我应用的是 nginx 而并不是 apache, 这里的 d 十分可疑. 第2点, freeBSD 显著是1个掩藏, 过程的管理权限也让人可疑.

至此, 早已确定, 我的服务器早已被黑了. 接下来, 是情况下对战的情况下了.

对战

第1点的过程信息内容有1个文件目录十分可疑, 在 /home/ruby/lib, 这里是我的本人文件目录, 如何会出現在这里的主要参数里呢?

进去看看: cd /home/ruby/lib

 

大吃1惊, 第6感告知我, 这取名, 这习惯性, 肯定是1个网络黑客做为, 这并不是我写的物品, 细心看看.

 

Oh no, 1个木马程序流程赫然在目, 这是1个十分显著的反方向联接木马:

要是你把服务器开启, 它便会起动, 并全自动联接到网络黑客特定的服务器, 汇报网络黑客早已上线, 随后等候命令. 1旦有命令收到, 便会用自身操纵的管理权限运作对应的程序流程. 十分恐怖.

再次看, 它的配备文档以下:

 

这就是对手的反方向联接的 IRC 详细地址, "这小子还真牛啊", 我心想, "他了解, 这样的 IRC 详细地址我压根没法进1步跟踪."

如今, 被黑的客观事实早已确定, 却让我更担忧的事儿来了:

1、他有木有操纵到我的 root 管理权限

1旦被操纵了 root 管理权限, 系统软件就难于清除了, 由于他能够在随意部位插进自身的木马, 比如起动时, 驱动器, 更换1个指令, 掩藏在某个文件目录.

并且, 能够手动式清除系统日志, 让你没法了解对方都干了甚么, 这模样, 你就只能重新安装系统软件了.

2、他是怎样黑进我的服务器

不可以了解对方是怎样黑的, 就没法制订合理的防御力对策, 这是是非非常恐怖的.

但是, 我了解, 我离实情早已愈来愈近了.

再次翻看他的木马程序流程, 发现1个十分趣味的物品: h.c.

里边注解上写着:

 

哈哈, psf 可汉语翻译为过程堆栈仿冒器. 说白了, 它是1个期骗 ps, top 指令的命令輸出的1个小专用工具.

细心查询它的表明, 能够发现:

1、不必 root 管理权限, 便可让你特定的过程仿冒成任何1个过程姓名.

2、ps, top, 许多过程监管专用工具都会被期骗.

它的基本原理大约以下:

在 main 涵数里边(以下)的主要参数,

int main(int argc, char *argv[])

能够再次启用下列 execv 插口, 而 path 是能够与 main() 里的 agrv[0] 不1致, 能够用心结构的, 这样能够致使许多过程监管专用工具出現出现异常状况, 显示信息出用心结构的主要参数.

int execv( const char *path, char *const argv[])

看到这个专用工具, 我反而将以前的担扰所有放下了: 用这点小招数来骗我, 表明你极可能沒有拿到 root 管理权限.

我好像早已听到对方唉声叹气的响声, 但又好像并不是, 仿佛有1点点笑声.

无论那末多了, 下1步就要了他的命, 我在想.

发掘

查验系统软件关键信息内容:

# 查验客户信息内容是不是一切正常

cat /etc/passwd

# 查验系统软件文档是不是被更换

find / -user 122 | xargs ls -l

1切显示信息一切正常, 那末, 系统软件极可能是沒有处于被动到 root 的, 是情况下找出被黑的缘故了.

从另外一个过程的案件线索着手.

过程号 111, 十分非常, 从刚刚的客户信息内容能够看到, 这个客户号属于: elasticsearch.

原先这般, 这个提醒信息内容过重要了, 此时, 我还记得以前以便安裝 railsgirlschina, 应用了campo3, 安裝了它的依靠 elasticsearch, 而以前 Rei 专业发电子邮件告知过我: 这货将会有远程控制实行系统漏洞.

不对啊, 我早已开启了 ufw 防火墙了.

# ufw status

Status: inactive

甚么, 沒有开启? 心中1丝凉意侵入脊髓, 我的服务器居然在严苛的互联网技术自然环境上裸奔了这么久. 查询实际操作系统日志, 发现自从 1 月 8 号起, 防火墙就沒有开启过.

并且, 是我亲身关掉了它. 难怪, 他的侵入取得成功系统日志更是 1 月 8 号.

此时, 这位网络黑客的侵入方式基本上早已实情大白: 根据 elasticsearch 远程控制实行系统漏洞扫描仪专用工具扫进了我的服务器, 再运作了提权专用工具发现了 /home/ruby/ 文件目录是可写的.

此时, 他很聪慧的掩藏了它的木马, 尽管沒有拿到 root 管理权限, 但依然能够随便的干掉我的blog过程( 尽管他没这么做 ). 还能够随时让我的服务器变成它的同伙, 变成2次跳板, 或对无辜者启动 DDOS 进攻.

而我, 也是有1丝丝的心存侥幸, elasticsearch 并沒有跑在 root 管理权限下, 而是应用了 111 号客户, 因此这次进攻他的最好是获得也只能是, 得到我 ruby 客户的管理权限, 把我的服务器列入他的肉鸡, 为他之后更大经营规模的行動埋下伏笔.

必须填补点动能了, 我在想, 刚刚煮好的方便面早已到了嘴边.

"假如我变成全球级网络黑客, 我1定根据他的反方向代理商木马黑以往", 我1边吃着1起在想, "重中之重, 還是先清除这些木马吧."

清除

1、关掉根源

先开启防火墙: ufw enable.

清除 crontabs: crontab -l, rm /var/spool/cron/crontabs/ruby

杀掉木马过程: kill pid

2、解决系统漏洞

依照 elasticsearch 官方解决提议, 将默认设置的监视 IP 设置在 127.0.0.1, 关掉动态性实行脚本制作工作能力:script.disable_dynamic: true ( 均在它的配备文档中进行 )

杀掉已被取得成功进攻的 elasticsearch 过程和子过程: kill ⑼ xxx

3、加固

来看, 离大神还差了很多, 我心在想, 下列对策要补救1下:

3.1 客户文件目录管理权限

以前, 选用 useradd 的默认设置客户文件目录管理权限 644, 容许任何客户进到, 才致使这个网络黑客得以侵入取得成功. 我把它关掉: chmod 700 /home/ruby

3.2 web 系统漏洞扫描仪

我必须在当地对于我的服务器做1些系统漏洞扫描仪.

3.3 防火墙确保打开

在 /etc/rc.local 添加: ufw enable

3.4 升級系统软件

说到这里, 立刻两条指令搞定:

apt-get update

apt-get upgrade

续篇

伴随着总流量的一切正常回落, 看到那我最深爱的 ping 上面完善地显示信息着

 

我的 "梯子" 又平稳地回家了.

我感觉, 我离大神又近了1步. 忽然, 显示信息器上刚开始迟缓的出現

 

我了解, 对方又回家了.

( 情节有小一部分编造, 如有雷同, 纯属偶合 )