十月鱼的博客

十月鱼的博客

Jenkins反弹shell攻击(AppRun进程,xmrig)

一、服务器环境

Centos 7 2核4G 经典网络
Jenkins服务器

二、排查流程

1.top命令查看服务器负载

top - 16:58:25 up 164 days,  1:36,  3 users,  load average: 2.25, 2.49, 2.66
Tasks:  75 total,   2 running,  73 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.5 us,  0.1 sy,  0.0 ni, 95.3 id,  0.1 wa,  0.0 hi,  0.0 si,  0.1 st
KiB Mem :  1014968 total,   124920 free,   625608 used,   264440 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   231436 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                           
 4799 root      20   0  220228   4680    644 S 75.0  0.5  30:09.25 AppRun  

2.搜索对应进程

[root@jekins df]# ps aux|grep 'AppRun'
root      4799 82.0  0.4 220228  4644 ?        Ssl  16:21  31:52 /tmp/df/AppRun -o pool.supportxmr.com:3333 -u 44jVsxXqbwWG8Yons62ZnM9nwyeChrtxDYFPs9W2jeKyhTxhdfNYaokcvfrsop5zMujJt2WKWihffjcZrnG99AEZLKQw1yz -p y --max-cpu-usage=50 -k -B --donate-level=1

查看目录结构

[root@jenkins df]# tree /tmp/df/
/tmp/df/
├── AppRun -> initd
├── doc
│   ├── libffi6
│   │   └── copyright
│   ├── libgcrypt11
│   │   └── copyright
│   ├── libgnutls26
│   │   └── copyright
│   ├── libmicrohttpd10
│   │   └── copyright
│   └── libtasn1-6-dev
│       └── copyright
├── du.sh
├── initd
├── lib
│   ├── libffi.so.6
│   ├── libgcrypt.so.11
│   ├── libgnutls.so.26
│   ├── libmicrohttpd.so.10
│   └── libtasn1.so.6
├── lib64
├── usr
│   └── lib
├── xmrig.desktop
└── xmrig.png

三、解决问题

1.到这里基本确认被当成矿机了,百度看了确认了。
【预警通告】近期大量WebLogic主机感染挖矿病毒

2.使用lsof定位进程,可以看到本机的34214一直在对香港的ip进行请求。
[root@jenkins df]# lsof -i|grep ‘AppRun’
AppRun 4799 root 11u IPv4 31619280 0t0 TCP jekins:34214->103.253.40.189:dec-notes (ESTABLISHED)
这里写图片描述

3.服务器对外提供服务的只有jenkins,查看jenkins目录。8.6G,一只在被挖矿程序疯狂下载war包。

[root@jekins ~]# du -ah --max-depth=1 .
60K ./.cache
8.6G    ./.jenkins
4.0K    ./.viminfo
4.0K    ./.bash_history
12K ./.ssh
8.0K    ./.pip
4.0K    ./.bashrc
4.0K    ./.bash_profile
15G .

4.这台服务器是开发自用,排查发现存在以下问题
1.安全组不设置
2.使用root启动jenkins
3.密码弱口令
清楚挖矿程序流程应当先清楚程序进程,然后检查crontab和秘钥,最后做安全策略。下面将复现攻击流程和进行安全策略调整。

四、反思

1.首先复现攻击流程,使用Jenkins的人都知道。Jenkins是自带脚本命令行的,如果以root权限运行Jenkins,cli窗口可以执行任何命令。对比redis反弹shell攻击,Jenkins的反弹shell攻击类似,给个链接大家可以自己看,。
jenkins拿shell的方法

2.反思
a.服务器被设置了账号admin,密码admin这是非常糟糕的。有目的的人一扫描就可以拿到权限。
b.安全组对所有IP开放,给了攻击者机会。
c.是以root账号运行服务,对方通过漏洞就黑了整个系统。可以这么说,禁止root运行程序,几乎可以避免反弹shell。
d.建议不要直接java -jar jenkins.war,应当用tomcat运行,在前端加上访问认证,和对cli页面的url进行匹配跳转403.

阅读更多

扫码向博主提问

去开通我的Chat快问

qq_32642039

非学,无以致疑;非问,无以广识
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32642039/article/details/80353582
个人分类: 安全
上一篇shell脚本实现批量自动redis反弹shell攻击
下一篇批量shell实现交互登录普通用户,切换root用户,并执行shell语句。
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭