首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

服务器遭遇挖矿:追踪与解决之路

connection reset by peer: unknown 二、尝试解决 刚开始感觉服务器被攻击了,没有往被挖矿上边想,尝试用一下解决方案处理: 1.修改公网ip 把原来的公网ip解绑,绑定的静态...3.解决程序无法启动 在网上找到了类似的docker容器无法启动报错类似的案例《docker启动容器提示read init-p: connection reset by peer: unknown...问题》 ld.so.preload是动态链接加载机制,也是系统提供给用户运行自定义动态链接的一种方式,在可执行程序运行之前就会预先加载用户定义的动态链接的一种技术。...当然攻击者也可以修改动态链接器来实现恶意功能,例如修改动态链接器中默认的用于预加载的配置文件路径/etc/ld.so.preload为攻击者自定义路径,然后在里面写入待加载的恶意动态链接。...发现/etc/ld.so.preload已经被重写,/etc/data/libsystem.so内容如下: 将动态连接清空: echo " " > /etc/ld.so.preload

52610

CVE-2022-0543复现 | redis的远程代码执行漏洞

但这个脚本跑在沙箱里,正常情况下无法执行命令,读取文件 所以这个CVE本质是一个沙箱绕过漏洞 Ubuntu/Debian/CentOS等这些发行版本会在原始软件的基础上打一些补丁包给Redis打了一个的补丁...将其注释掉的原因就是“for sandboxing concerns” Debian的这个补丁却把这句话重新写进去了, 导致在 Lua 沙箱中遗留了一个对象package,攻击者可以利用这个package对象提供的方法加载动态链接...liblua 里的函数,进而逃逸沙箱执行任意命令 借助 Lua 沙箱中遗留的变量package的loadlib函数来加载动态链接/usr/lib/x86_64-linux-gnu/liblua5.1...需要注意的一点是 : 不同系统下liblua5.1.so.0的路径可能不同 我们可以利用这个模块,来加载任意Lua,最终逃逸沙箱,执行任意命令: local io_l = package.loadlib...所以就存在着同样的问题 这次的复现再次用到了Lua, 不经让我想到之前的通过nmap的交互模式interactive模式进行SUID提权, 但是版本较老的nmap才会有interactive模式, 但是

1.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

为什么Capistrano被Docker和Kubernetes取代了

译自 Why Capistrano Got Usurped by Docker and Then Kubernetes 。...更新可能是一个的可执行文件,可能是一些代码,可能是一些配置,可能是一些数据更改。很好,但为什么要回顾一个不再常用的系统呢? 首先,为了理解趋势,回顾过去的例子很有帮助。...)、网页或Web服务器以及数据作为单独的部分。...相比之下,单个Docker镜像允许对OS、包、和代码进行系统性控制。它还允许笔记本电脑和云服务器以相似的方式对待——仅仅作为挂载容器的地方。...但即使作为一个蒙尘的遗迹,Capistrano仍然是一个伟大的模块化工具,用于自动化Web应用程序的部署和维护。 至于加利福尼亚州的Capistrano?恐怕是坏消息。

6110

利用Kamal摆脱Kubernetes的复杂性

最近我写了一篇关于 Capistrano 的文章,没想到会再次提及它,因为它是早期应用部署历史的遗迹。...因此,有关数据、负载均衡器等方面都有所提及。 deploy.yml 文件保存了各种东西的目标位置,而 .env 文件将保存我们可能不会提交到源代码控制的“机密”信息。...192.168.0.2 # port: 6379 # directories: # - data:/data “accessory service”一词指的是长期依赖的服务,比如数据。...如果我们打算使用数据,上面的内容将缺少 MYSQL 密码。如果您更改了这些内容,需要明确使用 kamal env push 将其推送到系统中。实际上,在部署之前,这些内容是必需的。...在推送环境变量之后,它将使用当前版本的应用程序启动一个容器,并停止旧容器。 如果您对应用程序进行了更改,那么在初始设置之后,kamal deploy 将更新您的系统。

6810

两个奇技淫巧,将 Docker 镜像体积减小 99%

缺少调试工具 scratch 镜像不包含任何调试工具,ls、ps、ping 这些统统没有,当然了,shell 也没有(上文提过了),你无法使用 docker exec 进入容器,也无法查看网络堆栈信息等等...那么,什么是动态?为什么需要动态? 所谓动态、静态,指的是程序编译的链接阶段,链接成可执行文件的方式。...例如,某程序依赖于文件 libtrigonometry.so 中的 cos 和 sin 函数,该程序运行时就会根据索引找到并加载 libtrigonometry.so,然后程序就可以调用这个文件中的函数...使用动态链接的好处显而易见: 节省磁盘空间,不同的程序可以共享常见的。 节省内存,共享的只需从磁盘中加载到内存一次,然后在不同的程序之间共享。...它需要一个配置文件 /etc/nsswitch.conf 和额外的函数,但使用 ldd 时不会显示这些函数,因为这些在程序运行后才会加载

1.2K11

临时工说:降本增笑,开猿down机,什么是无脑数据docker K8s与潜在风险

下面我们来看这张图,一个简易的容器的图,我们根据这张图,如果数据作为应用程序来说,数据是一个无状态的部分,如果部署的话也是部署到容器,但是数据的部分,日志的部分会落到文件系统,同时内存部分也是加载上去的...DBA 对于数据的运行中的一些性能的瓶颈都有自己的的,其中在大部分的数据系统中,IO的瓶颈是经常可以见到的。...经常会出现多个数据库容器在一个硬件下的性能不足的问题,但这里需要注意,对于应用可以进行迁移的方式,但对于数据这样有状态的产品,无法进行随意的动态迁移,因为必然会影响业务,产生连接的中断等问题。...2 容器的特性,Docker在设计之初推荐的服务挂掉后,自动启动的容器,而不是重启容器服务的方式,这点对于数据层面是否适合,同时数据的配置文件等,在容器数据中能进行动态配置是否可以,也是需要考虑的问题...4 伸缩处理的特性在数据层面无法进行应用,Docker的快速扩展是一个使用他的重要特性但是在有状态的数据层面,无法进行这个特性。Docker 本身的一些优势在数据应用无法体现和使用。

24510

Flink的类加载

Docker / Kubernetes Sessions Docker / Kubernetes 设置首先启动一组 JobManagers / TaskManagers,然后通过 REST 或 CLI...要添加父级优先加载包,请设置 classloader.parent-first-patterns-additional 配置选项。...对于无法将作业的 JAR 文件放入 /lib 文件夹的设置(例如因为安装程序是由多个作业使用的会话),仍然可以将公共放入 /lib 文件夹,并避免动态为那些类进行加载。...这里的解决方案是要么在没有任何动态加载的情况下进行设置,要么确保相应的完全是动态加载代码的一部分。...后者意味着该不能被添加到 Flink 的 /lib 文件夹中,而必须是应用程序的 fat-jar/uber-jar 的一部分 卸载用户代码中动态加载的类 所有涉及动态用户代码类加载(会话)的场景都依赖于再次卸载类

2.2K20

eunomia-bpf 和 wasm-bpf 项目的 3 月进展

在过去一个月中,该项目取得了一些的进展,以下是这些进展的概述。 首先,eunomia-bpf 动态加载进行了一些重要的更新。...此外,该还修复了使用 JSON 动态加载 eBPF 程序的输出问题,并在 CI 中自动发布 Docker 镜像。 其次,Wasm-bpf 项目也进行了一些更新。...如果你对该项目感兴趣,可以关注它的最新动态和更新。...以下是更详细的更新列表: eunomia-bpf 动态加载 添加对 btf hub 的支持,允许更好地在低内核版本上移植 eBPF 程序 link 使用 Rust 编写的 ecli 完全替换了原先使用...C++ 编写的版本 link 修复了使用 JSON 动态加载 eBPF 程序的输出问题 link link 在 CI 中自动发布 Docker 镜像 link link 尝试在其他平台上添加支持,以及在

17510

Docker---联合文件系统和commit补充操作

1 Docker镜像是什么 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境的开发软件,它包含运行某个软件所需的所有内容,包括代码、运行时、、环境变量和配置文件。...3 Docker 镜像加载原理 docker 的镜像实际上由一层一层的文件系统组成,这种层级的文件系统就是联合文件系统(UnionFS)。...5 镜像和容器的关系 Docker的镜像都是只读的,当容器启动时,一个的可写层被加载到这个镜像的顶部。这一层我们通常称之为“容器层”,容器层之下的层叫“镜像层”。...一般,最基本的镜像层是无法被修改的,这一般是远程pull下来的。 镜像层与容器层的关系图如下图所示: 镜像层是无法被修改的,这一般是远程pull下来的。...镜像层与容器层的关系图如下图所示: ---- Docker镜像commit操作补充 docker commit 提交容器副本使其成为一个的镜像 docker commit -m=“提交的描述信息

49220

认识Docker

1.4 仓库 如果你使用过 git 和 github 就很容易理解Docker的仓库概念。Docker仓库相当于一个 github 上的代码。...这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。...如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互的。...# 保存对容器的修改 $docker commit ID new_image_name Note: image相当于类,container相当于实例,不过可以动态给实例安装软件,...2.8 保存和加载镜像(save、load) 当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。 1.

48620

使用Redisearch实现的全文检索功能服务

“检索”是很多产品中无法绕开的一个功能模块,当数据量小的时候可以使用模糊查询等操作凑合一下,但是当面临海量数据和高并发的时候,业界常用 elasticsearch 和 lucene 等方案,...redis module 本身的版本独立于redis,并且以编译成动态加载 .so 文件的方式 release, 不同版本的 redis 可以 load 同一版本 module.so 文件。     ...redis 提供了两种加载方式。...可以通过 在 conf 文件中 加入 loadmodule /path/to/mymodule.so ,也可以在 redis-cli中使用命令 MODULE LOAD /path/to/panda.so 动态加载...登场时间了,hub上有编译好的免费镜像供我们下载 docker pull redislabs/redisearch     下载后,直接在后台启动服务 docker run -d -p 6666

1.5K20

树莓派4B 安装 nextcloud 做私人云盘网盘(nginx + docker + nextCloud + redis)

环境准备 电信公网 IP(打客服电话说家里装监控要公网 IP,电信不用到家就可以开通,不是 固定 IP 哦) noip 动态 ddns 账号(申请到免费的账号,登录到路由器的 动态 ddns 里) 树莓派...restart # 重启容器,不会加载docker-compose 相关文件的的改动。...镜像 因为树莓派是 基于 ARM 架构,所以很多镜像无法正常使用。...关于 docker 无法卸载问题 docker 卸载不干净 例如: 官网介绍docker卸载的方法一般为 1> yum remove docker-ce -y 2> rm -fr /var/lib.../docker* 但试过后你依然无法安装新版本,尤其是高版本降到低版本 docker,问题在于 docker 你并没有卸载干净 正确的卸载方法如下: 1> yum list installed |

1.8K30

减小镜像体积-docker最佳实践

没有调试工具 因为scratch是空的,所以构建出的镜像不包含任何工具,如ls,ps,ping等,我们也就无法进入到该容器(docker exec)中。...,这种无法共享公共的方式很快不再流行。...如今大部分情况下,使用动态链接。使用动态链接编译的程序,最终二进制文件不包含具体的,而只包含对依赖的引用,例如一个程序需要libtrigonometry.so中的cos和sin和tan函数。...执行程序时,系统会查找该libtrigonometry.so并将其与程序一起加载,以便程序可以调用这些函数。...使用动态链接往往有以下优点: 节省存储资源,多个程序共享一个; 节省内存,多个程序运行内存调用同一片内存; 维护方便,更新时,无需重新编译程序; 有些人可能会说节省内存不是动态链接所带来的优点,而是共享

1.3K10

Spring Native 项目,把 Spring 项目编译成原生程序!

Spring Native 是什么 Spring Native 可以通过 GraalVM 将 Spring 应用程序编译成原生镜像,提供了一种的方式来部署 Spring 应用。...classpath 在构建时就已经确定 没有类延迟加载:可执行文件中所有的内容都会在启动时加载到内存中 在构建时就运行了一些代码 构建原生镜像还存在一些 局限性 前置条件:GraalVM GraalVM...[报错 2] 以 Mac 的 Docker Client 设置为例: [yano] Spring Native 所遇到的问题 这部分参考自:云原生时代,Java 的危与机 JVM 的程序运行时间长,是因为存在虚拟机的初始化和类加载过程...Java 支持提前编译最大的困难,在于 Java 是一门动态链接的语言,它假设程序的代码空间是开发的,允许在程序的任何时候通过类加载器去加载的类,作为程序的一部分。...这样动态加载、反射(通过反射可以调用在编译期不可知的方法)、动态代理、字节码生成(如 CGLib)等一切会运行时产生代码的功能都不再可用。

2.6K60

Linux服务器感染kerberods病毒 | 挖矿病毒查杀及分析

注:ls top ps等命令已经被病毒的动态链接劫持,无法正常使用,大家需要下载busybox。 ? 2、crontab 定时任务异常,存在以下内容; ?...二、查杀方法 1、断网,停止定时任务服务; 2、查杀病毒主程序,以及保护病毒的其他进程; 3、恢复被劫持的动态链接和开机服务; 4、重启服务器和服务; 附查杀脚本(根据情况修改) (脚本参考(https...查杀完成以后重启服务器,发现过段时间,登陆主机,无论本地还是ssh远程登陆,依然会有病毒进程被拉起,观察top里面的进程,并用pstree 回溯进程之间的关系,发现每次用户登陆就会有病毒进程被拉起,怀疑登陆时加载文件存在问题...bashrc 2> 生成了sshd文件 劫持sshd服务 3> 将netdns文件设置为开机启动 4> 编译libcryptod.c为/usr/local/lib/libcryptod.so 5> 预加载动态链接...版本(docker pull redis) ③ 隐藏重要的命令

3K40

其实连Docker公司都把Docker用错啦

但是这篇内容应该让你从一个的角度理解Docker的本质是什么。 Docker其实是static link 的一种回归。 我们在学C的时候,就有静态链接,动态链接,本质上是程序代码的复用而已。...那个时候我们认为动态链接是最优的。为什么呢?因为一开始磁盘很贵,内存很贵,网络也很贵!是的,我们节省了硬件相关的东西,但是我们也为处理系统的各种链接版本而付出了惨重的代价,浪费了程序员多少光年。...Hey,身为程序员的你,是不是多次为编译依赖的链接而苦恼不已。而随着程序规模的不断庞大,各种依赖冲突也是不断。 现在,是时候让静态链接发挥作用的时候了。你看Docker容器动则几百M。...其他的模式让你无谓的各种复杂 对于硬盘,mout 本地磁盘足够了,为什么还有的文件系统? 为什么有registry 这个东西?...现在是我把war包放到一个目录,然后运行tomcat docker容器并且加载它就好(我们最漂亮-v参数)。对的,我们只是运行一个进程,并且指定了他的数据目录或者程序目录,就是这样。

35320

使用LDPRELOAD绕过disablefunctions

因此,在某些情况下,我已经在远程服务器上获得了一个webshell,但我却因为 disable_functions而无法使用一些特定的系统函数。因此,我在本文中将展示突破这种难题的方法。...在我的webshell中: putenv("LD_PRELOAD=/var/www/html/evil.so");mail("a","b","c","d"); 第一行用来预加载evil共享。...stackoverflow.com/questions/2053029/how-exactly-does-attribute-constructor-work) 这篇文章中写的一样,在stackoverflow中,它在加载共享时...cmd=cat/etc/passwd&out=res.txt&sopath=/var/www/html/evil.so,我可以动态执行我想要运行的命令。...但我们可以使函数在主函数之前运行劫持启动的进程。当 mail()尝试启动一个的子进程时, evil.so会再次加载。 3.如果 mail()也被禁止,我们需要找到的是另一个可以启动新进程的函数。

1K40

绕过Disable Functions来搞事情

利用 LD_PRELOAD 环境变量 原理简述 LD_PRELOAD是Linux系统的一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载动态链接...这个功能主要就是用来有选择性的载入不同动态链接中的相同函数。通过这个环境变量,我们可以在主程序和其动态链接的中间加载别的动态链接,甚至覆盖正常的函数。...当遇到动态脚本请求时,Web服务器主进程就会Fork创建出一个的进程来启动CGI程序,运行外部C程序或Perl、PHP脚本等,也就是将动态脚本交给CGI程序来处理。...启动CGI程序需要一个过程,如读取配置文件、加载扩展等。当CGI程序启动后会去解析动态脚本,然后将结果返回给Web服务器,最后由Web服务器将结果返回给客户端,之前Fork出来的进程也随之关闭。...当有动态请求进来时,Web服务器就是自己解析这些动态脚本,省得重新Fork一个进程,效率提高了。

4.3K40

一个号称完全无法检测到的Linux后门

Ngrok挖矿僵尸网络活动正在Internet上扫描配置不当的Docker API端点,并且已经用的恶意软件感染了无数服务器。...确实,Ngrok挖矿僵尸网络在过去两年中一直都非常活跃,但不同的是,活动主要针对配置错误的Docker服务器,并利用它们在受害者的基础架构上运行带有加密矿工的恶意容器。...这种的多线程恶意软件被称为“Doki”。 Doki,被称为是一个完全无法检测到的Linux后门,主要利用一种无记录的方法,通过狗狗币(一种加密货币)区块链来联系其运营商,从而动态生成其C2域地址。...据研究人员称,Doki 可以执行从操作人员发出的命令 使用Dogecoin加密货币区块链浏览器实时动态生成其C2域 使用embedTLS进行加密功能和网络通信 创建短生命周期的独一无二的URL,并在攻击期间使用它们下载有效负载...令人惊讶的是,目前它仍然无法被61个顶级恶意软件检测引擎中的任何一个所检测到。

88920
领券