通过路由,交换,安全,Qos四大典型技术模块同你分享网络运维中的技术难题,让老司机带你躲过网络运维常见的那些坑, 查看详情>>>
0

我的帖子

个人中心

设置

  发新话题
1.原因:本来在家正常休息了,我们放在上海托管机房的线上服务器突然蹦了远程不了,服务启动不了,然后让上海机房重启了一次,还是直接挂了,一直到我远程上才行。
2.现象:远程服务器发现出现这类信息



Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
登录信息
然后***去了国外网站查看







Greetings,
Your server has been hacked and your files have been deleted.
Before they were deleted, we backed them up to a server we control.
You must send a total of 3 BTC to the address: 1B1oU6EdREYffif3**********
Failure to do so will result in your files being deleted after 5 days.
We may also leak your files.
You can e-mail onewayout@sigaint.org for support. We will not give any files before a payment has been made.
Goodbye!
发现被黑。


3.开始排查:
首先检查日志,以前做过安全运维,所以写过类似于检查命令和工具,开始一一排查。
#查看是否为管理员增加或者修改

find / -type f -perm 4000
#显示文件中查看是否存在系统以外的文件
rpm -Vf /bin/ls
rpm -Vf /usr/sbin/sshd
rpm -Vf /sbin/ifconfig
rpm -Vf /usr/sbin/lsof
#检查系统是否有elf文件被替换
#在web目录下运行
grep -r "getRuntime" ./

#查看是否有***
find . -type f -name "*.jsp" | xargs grep -i  "getRuntime"
#运行的时候被连接或者被任何程序调用
find . -type f -name "*.jsp" | xargs grep -i  "getHostAddress"
#返回ip地址字符串
find . -type f -name "*.jsp" | xargs grep -i  "wscript.shell"
#创建WshShell对象可以运行程序、操作注册表、创建快捷方式、访问系统文件夹、管理环境变量
find . -type f -name "*.jsp" | xargs grep -i  "gethostbyname"
#gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针
find . -type f -name "*.jsp" | xargs grep -i  "bash"
#调用系统命令提权
find . -type f -name "*.jsp" | xargs grep -i  "jspspy"
#Jsp***默认名字
find . -type f -name "*.jsp" | xargs grep -i  "getParameter"

fgrep - R "admin_index.jsp" 20120702.log > log.txt
#检查是否有非授权访问管理日志
#要进中间件所在日志目录运行命令
fgrep - R "and1=1"*.log>log.txt
fgrep - R "select "*.log>log.txt
fgrep - R "union "*.log>log.txt
fgrep - R "../../"*.log >log.txt

fgrep - R "Runtime"*.log >log.txt
fgrep - R "passwd"*.log >log.txt
#查看是否出现对应的记录
fgrep - R "uname -a"*.log>log.txt
fgrep - R "id"*.log>log.txt
fgrep - R "ifconifg"*.log>log.txt
fgrep - R "ls -l"*.log>log.txt
#查看是否有shell***

#以root权限执行
cat /var/log/secure
#查看是否存在非授权的管理信息
tail -n 10  /var/log/secure
last cat /var/log/wtmp
cat /var/log/sulog
#查看是否有非授权的su命令
cat /var/log/cron
#查看计划任务是否正常
tail -n 100 ~./bash_history | more
查看临时目录是否存在***者***时留下的残余文件
ls -la /tmp
ls -la /var/tmp
#如果存在.c .py .sh为后缀的文件或者2进制elf文件。


复制内容到剪贴板
代码:
检查出有点类似于***的ip,只能猜测然后查看ip地址过滤出这个ip的访问信息
并查看ip地址是那边的

Apr 17 03:14:56 localhost sshd[11499]: warning: /etc/hosts.deny, line 14: missing ":" separator
Apr 17 03:15:01 localhost sshd[11499]: Address 46.214.146.198 maps to 46-214-146-198.next-gen.ro, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Apr 17 03:15:01 localhost sshd[11499]: Invalid user ubnt from 46.214.146.198
Apr 17 03:15:01 localhost sshd[11500]: input_userauth_request: invalid user ubnt
Apr 17 03:15:01 localhost sshd[11499]: pam_unix(sshd:auth): check pass; user unknown
Apr 17 03:15:01 localhost sshd[11499]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=46.214.146.198
Apr 17 03:15:01 localhost sshd[11499]: pam_succeed_if(sshd:auth): error retrieving information about user ubnt
Apr 17 03:15:03 localhost sshd[11499]: Failed password for invalid user ubnt from 46.214.146.198 port 34989 ssh2
Apr 17 03:15:03 localhost sshd[11500]: Connection closed by 46.214.146.198
      
就是他了,查看历史记录
日志发现 Invalid user ubnt from 46.214.146.198
历史记录和相关访问日志已经被删除,痕迹清除。
复制内容到剪贴板
代码:
安装chrootkit检查是否有rootkit
mkdir chrootkit
cd chrootkit/
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
cd chkrootkit-0.50/
ls
yum install -y glibc-static
make sense
./chkrootkit

发现检查没有异常



打开 vi /etc/motd 发现

复制内容到剪贴板
代码:
[root@mall ~]# vi /etc/motd

Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!

查找不出后门也找不到相关命令,感觉思路受损,晕头转向。
最后查找下单天的web访问日志和相关ip访问
发现一条命令让我好奇,GET /cgi-bin/center.cgi?id=20
HTTP/1.1
并且有点异常





发现像目前最流行的bash shell 漏洞,测试一下,果然存在漏洞。

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

[root@mall ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test


4.修复升级命令:
yum -y install yum-downloadonly
yum -y install bash-4.1.2-33.el6_7.1.x86_64.rpm
[root@mall tmp]# yum -y install bash-4.1.2-33.el6_7.1.x86_64.rpm
已加载插件:fastestmirror, security
设置安装进程
诊断 bash-4.1.2-33.el6_7.1.x86_64.rpm: bash-4.1.2-33.el6_7.1.x86_64
bash-4.1.2-33.el6_7.1.x86_64.rpm 将作为 bash-4.1.2-15.el6_4.x86_64 的更新
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* extras: mirrors.skyshe.cn
* updates: ftp.sjtu.edu.cn
解决依赖关系
--> 执行事务检查
---> Package bash.x86_64 0:4.1.2-15.el6_4 will be 升级
---> Package bash.x86_64 0:4.1.2-33.el6_7.1 will be an update
--> 完成依赖关系计算
更新完毕:
  bash.x86_64 0:4.1.2-33.el6_7.1                                      
完毕!
重新测试
[root@mall tmp]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test


5.完成后做了如下措施:
1.修改了系统账号密码。
2.修改了sshd端口为2220。
3.修改nginx用户nologin。
4.发现系统服务器存在bash严重漏洞 破壳漏洞(Shellshock)并修复。
5.更新完成后后面没有发现被***或者服务器自动挂机现象。


6.漏洞被利用过程:

我发送GET请求–>目标服务器cgi路径
目标服务器解析这个get请求,碰到UserAgent后面的参数,Bash解释器就执行了后面的命令


7.Shellshock介绍
Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许***者在易受***的Bash版本上执行任意代码。这可使***者在未授权的情况下访问计算机系统。


8.相关文章:
http://zone.wooyun.org/content/15392
http://www.freebuf.com/articles/system/50707.html
http://bobao.360.cn/news/detail/408.html
http://hacker-falcon.blog.163.com/blog/static/23979900320148294531576/
本帖最近评分记录
  • Shell_2015 无忧币 +25 值得学习,感谢分享! 2016-5-3 10:25
  • redhat9i 无忧币 +50 这才是安全运维应该分享的干货,哥就这点权限 ... 2016-4-29 16:05



@懒小米 你动作还挺快的,我正准备来加精呢



51CTO论坛有移动端啦,发帖回帖更方便~
引用:
原帖由 redhat9i 于 2016-4-28 17:28 发表
@懒小米 你动作还挺快的,我正准备来加精呢
汤师傅你可以送点无忧币啊



技术在于交流,欢迎参观博客 [http://http://blog.51cto.com/chenhao6]
滴,运维卡,这趟车,上的不亏。虽然今年还没有被黑过服务器,也不希望自己业务的服务器被黑。但还是来看看,涨点姿势



思想的革新孕育了技术的革新。
引用:
原帖由 redhat9i 于 2016-4-28 17:28 发表
@懒小米 你动作还挺快的,我正准备来加精呢
哈哈,我还把这篇做了今天 博客微信的头条~ 点赞啦~~ 51CTO博客



老有人问数据怎么样,钱有没有交,***文件怎么处理,怎么做的安全配置等,我一一答复
首先数据是完好的,让开发核实过web程序,也做过md5校验一样的值。
钱没有交,一分钱没交,我不会拿技术来坑别人,这就是我现实处理的问题。
安全配置没做吗,做了sshd访问限制,做了tomcat访问限制。做了防火墙配置。
具体配置文件:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1|*.72.58|*.10.72|192.168.0.66|*.10.71|192.168.0.67" deny=""/>
[root@mall]# vi /etc/hosts.deny
sshd :ALL
***文件删除,清除了一切权限。




本帖最后由 cs312779641 于 2016-4-28 20:26 编辑
技术在于交流,欢迎参观博客 [http://http://blog.51cto.com/chenhao6]
引用:
原帖由 cs312779641 于 2016-4-28 20:00 发表
老有人问数据怎么样,钱有没有交,***文件怎么处理,怎么做的安全配置等,我一一答复
首先数据是完好的,让开发核实过web程序,也做过md5校验一样的值。
钱没有交,一分钱没交,我不会拿技术来坑别人,这就是我现实处理的问题。
安 ...
把这段话弄主贴里去吧



51CTO论坛有移动端啦,发帖回帖更方便~

看不懂



远程的第一件事,就是改端口



果然厉害!



顶礼膜拜



楼主很厉害

求教怎么学习Linux



努力学习中



引用:
原帖由 cs312779641 于 2016-4-28 16:58 发表
1.原因:本来在家正常休息了,我们放在上海托管机房的线上服务器突然蹦了远程不了,服务启动不了,然后让上海机房重启了一次,还是直接挂了,一直到我远程上才行。
2.现象:远程服务器发现出现这类信息


Hi, please view: http:// ...
检查项很多但没有返回值,由于什么原因导致的也没有具体分析,修复过程没有相关详细截图。为啥没有禁用“46.214.146.198”IP地址...



Exchange 2013 MCSE | Microsoft MVP,Office Servers and Services
社区官方Exchange技术群:230282796
个人博客:Albert Dongjie Tech Blog  
Exchange2013 技术文档库及帖子汇总
问题解决与否,欢迎大家反馈一下,也是对回答者认可&肯定,谢谢!
真学习了。



膜拜中,之前我们也遇到服务器被挂马,超多流量流出。也写了个博客
http://strongit.blog.51cto.com/10020534/1736440
本帖最近评分记录
  • Shell_2015 无忧币 +6 感谢分享 2016-5-3 10:27



楼主太6了,,怒赞!

亮点之一
We will not give any files before a payment has been made.



Just For Fun
很好 谢谢 !



大力顶起,向楼主学习  mark下~



很生动的案例~~
关注漏洞信息很重要~给我们提醒了~



‹‹ 上一贴:linux 编译安装php make时出错 求大神指点 ...   |   下一贴:请教客户端连接redis cluster的一个问题 ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com