ELF文件格式
ELF文件格式
可重定位文件,包含由编译器生成的代码和数据。链接器会将它与其他目标文件链接起来从而创建可执行文件或者目标共享文件,在linux中,这种文件后缀一般为.o
共享目标文件,包含代码和数据,这种文件是我们所称的库文件,一般是以.so结尾。
一般有两种使用情形:
链接器将其生成为另一个目标文件。
动态链接器将它与可执行文件以及其他共享目标文件组合在一起生成进程镜像。
链接视图文件开始处是ELF头部,他给出了整个文件的组织情况
如果程序头部表存在的话,他会告诉系统如何创建进程。用于生成进程的目标文件必须有程序头部表,但重定位文件不需要这个表。
节区部分包含在链接视图中要使用的大部分信息:指令,数据,符号表,重定位信息。
节区头部表包含描述文件节区的信息,每个节区在表中都有一个表项,会给出节区名称,节区大小等信息。用于链接的目标文件必须有节区头部表,其他目标文件则无所谓。
数据形式ELF文件格式支持8位/32位体系结构,当然这种格式是可以扩散的,也可以支持更小的或者更大位数的处理器架构,因此,目标文件会包含一些控制数据,这部分数据表明了目标文件所使用的架构,这也 ...
docker逃逸的几种方法
docker逃逸的几种方法前言获取某个系统 shell 后发现其是 docker,这时候我们就需要进行 docker 逃逸来拿到其真正宿主的权限。这里提供几种思路。
利用 dirty cow 来进行 docker 逃逸
cve-2019-5736
利用特权模式逃逸
利用 dirty cow 来进行 docker 逃逸前置知识docker与宿主机共享内核,如果要触发这个漏洞,需要宿主机存在dirtyCow漏洞的宿主机。
VDSO 其实就是将内核中的.so 文件映射到内存,.so 是基于 Linux 下的动态链接,其功能和作用类似与 windows 下.dll 文件。
在 Linux 中,有一个功能:VDSO (virtual dvnamic shared object), 这是一个小型共享库,能将内核自动映射到所有用户程序的地址空间,可以理解成将内核中的函数映射到内存中,方便大家访问。
利用 dirty cow 与 VDSO 来实现 docker 逃逸的过程dirty cow 漏洞可以让我们获取只读内存的写的权限,我们首先利用 dirty cow 漏洞写入一段 shellcode 到 ...
Docker容器常见故障排查解决方案
Docker容器常见故障排查解决方案Docker是一种相对使用较简单的容器,我们可以通过以下几种方式获取信息:1、通过docker run执行命令,或许返回信息2、通过docker logs 去获取日志,做有针对性的筛选3、通过systemctl status docker查看docker服务状态4、通过journalctl -u docker.service 查看日志
以下是整理的docker容器类问题故障,分为9个类
一、启动类故障1、docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
原因:Docker未正常启动解决方式:
1systemctl start docker
2、can’t create unix socket /var/run/docker.sock: is a directory
原因:docker.sock不能创建解决方式: ...
docker容器中的gdb返回ptrace Operation not permitted
docker容器中的gdb返回”ptrace: Operation not permitted.”原因原因是Ubuntu 16.04 的/etc/sysctl.d/10-ptrace.conf文件中最后一行默认
kernel.yama.ptrace_scope = 1这个值不允许用户使用普通账户使用attach ID连接程序进行调试,需要使用超级用户权限才能连接。
解决办法方法一可以把kernel.yama.ptrace_scope的值改为 0,即
sudo vim /etc/sysctl.d/10-ptrace.conf
将最后一行改为 kernel.yama.ptrace_scope = 0,保存退出。
重启系统后,普通用户就可以使用attach ID连接程序调试了。
方法二把特权标志连接到容器上
1docker exec --privileged -it mywebproxy_my-proxy_1 /bin/bash
方法三容器需要使用strace功能启动
将此文件添加到我的docker-compose.yml文件允许GDB工作 ...
Dockerfile
Docker Dockerfile什么是 Dockerfile?Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
指令详解COPY复制指令,从上下文目录中复制文件或者目录到容器里指定路径。
格式:
12COPY [--chown=<user>:<group>] <源路径1>... <目标路径>COPY [--chown=<user>:<group>] ["<源路径1>",... "<目标路径>"]
**[–chown=:]**:可选参数,用户改变复制到容器内文件的拥有者和属组。
**<源路径>**:源文件或者源目录,这里可以是通配符表达式,其通配符规则要满足 Go 的 filepath.Match 规则。例如:
12COPY hom* /mydir/COPY hom?.txt /mydir/
**<目标路径>**:容器内的指定路径,该路径不用事先建好,路径不存在 ...
docker-compose的写法(实现pwn的动态flag)
docker-compose的写法(实现pwn的动态flag)1.Compose介绍Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose 不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过Service来定义,然后使用docker-compose 脚本来启动,停止和重启应用,和应用中的服务以及所有的依赖服务的容器,非常适合组合使用多个容器进行开发的场景。
2.compose常用服务配置参考Compose文件是一个定义服务,网络和卷的YAML文件。Compose文件默认文件名为docker-compose.yml。
提示:您可以对此文件使用.yml或者.yaml扩展名。
与docker运行一样,默认情况下,Dockerfile中指定的选项(CMD,EXPOSE,VOLUME,ENV)都会继续使用,你不需要在docker-compose.yml中再次指定它们。
buildbuild可以指定包含构建上下文 ...
Docker-compose常用命令
Docker-compose常用命令文档地址官方文档:https://docs.docker.com/compose/reference/overview/
1docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
部分命令选项如下:
-f,–file:指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定,指定多个 yml;
-p, –project-name:指定工程名称,默认使用 docker-compose.yml 文件所在目录的名称;
-v:打印版本并退出;
–log-level:定义日志等级(DEBUG, INFO, WARNING, ERROR, CRITICAL)。
常用COMMANDhelpdocker-compsoe -help查看帮助
configdocker-compose config -q 验证 docker-compose.yml文件。当配置正确时,不输出任何内容,当配置错误时,输出错误信息。
pulldocker-compose ...
Docker Compose
Docker ComposeCompose 简介Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。
Compose 使用的三个步骤:
使用 Dockerfile 定义应用程序的环境。
使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
最后,执行 docker-compose up 命令来启动并运行整个应用程序。
docker-compose.yml 的配置案例如下(配置参数参考下文):
实例12345678910111213141516\# yaml 配置实例version: '3'services: web: build: . ports: - "5000:5000" volumes: - .:/code \- logvolume01:/var/l ...
DLL逆向学习
DLL逆向学习前言为了分析一个DLL注入的病毒(TinyTurla-NG),学习的关于DLL的逆向,只是资料总结,参考链接都会贴在最后面。
svchost.exe 进程 网上有很多关于svchost.exe是什么进程,svchost.exe是什么病毒,svchost.exe占用cpu100%或占用大量内存,svchost.exe有十几个,svchost.exe偷偷连网很象木马的问题,本文提供关于svchost.exe进程的所有信息和用各种专业软件进行查杀的方法。
0x01 svchost.exe是什么进程 Svchost.exe是微软视窗操作系统里的一个系统进程,管理通过Dll文件启动服务的其它进程,一些病毒木马伪装成系统dll文件通过Svchost调用它,试图隐藏自己。每个svchost可以同时调用多个dll文件,启动多个服务。
0x02 svchost.exe文件的位置 svchost.exe位于C:\WINDOWS\system32文件夹下面(假如你的系统安装在C:\WINDOWS目录),同时在C:\WINDOWS\system32\dllcache下面有一个备份。
0x0 ...
D-Link的命令注入漏洞CVE-2022-26258复现_W
D-Link的命令注入漏洞CVE-2022-26258复现0x00前言第一个路由器CVE复现,开始我的路由器挖洞之旅,比较简单
0x01 漏洞信息
CVE编号: CVE-2022-26258
漏洞描述:D-Link DIR-820L 1.05B03 was discovered to contain remote command execution (RCE) vulnerability via HTTP POST to get set ccp.
D-Link DIR-820L 1.05B03 被发现包含通过 HTTP POST 获取设置 ccp 的远程命令执行 (RCE) 漏洞。
设备型号:D-Link DIR-820L
固件版本:1.05B03
厂商官网:http://www.dlink.com.cn/
固件地址:http://www.dlinktw.com.tw/techsupport/download.ashx?file=2663
测试环境:Ubuntu 18.04
根据漏洞描述可得到几个关键词:远程命令执行、/lan.jsp页面、Device Nam ...



