微信新架构Windows客户端防撤回实现
0x01 手动调试工具:x64dbg
微信客户端版本:4.0.0.26
文件-附加,选择带窗口标题的 Weixin 主进程(通常可以看到包含多个子进程)
点击”符号”选项,在模块中搜索到 weixin.dll,双击进入
通过搜索字符串revokemsg或匹配特征57 53 48 83 EC 20 48 89 CE 80 3D D1 F7 DC 05 00 75 21 48 B8(不同版本特征码不同,可以通过字符串搜索并调试定位),定位到消息撤回调用逻辑处。
搜索到多个结果
打断点调试,定位到撤回消息处
将jne weixin.7FFEE4A62F24修改为jmp weixin.7FFEE4A62F24,跳过下方撤回消息执行逻辑
JNE 和 JMP 都是汇编中控制程序执行流程的跳转指令,但这两有所不同:
JNE:不相等时跳转,通常通过 CMP 指令来比较两个寄存器或内存中的值是否相等,不相等时 ZF (零标志位)会被置为 0,此时会执行跳转到 JNE 指令后的地址。
JMP:无条件跳转,CPU 直接跳转到 JMP 指令后的地址。
右键复制选区字节,获得适用于当前版本的特 ...
Linux下预加载型动态库后门
0x00 前言在Linux中,要隐藏指定的文件或进程,常用的技术手段是使用Rootkit。Rootkit可以通过两种方式实现:一种是在内核层面,通过加载内核驱动模块;另一种是在用户层面,通过注入共享动态库。具体到后者,它通过LD_PRELOAD机制预加载一个自定义的共享库,这样当应用程序尝试调用某些标准库函数时,系统会优先使用预加载的共享库中的同名函数,从而实现对原始函数的劫持。通过这种劫持机制,可以操控系统行为,以隐藏特定的文件或进程。
0x01 原理我们可以通过ldd来查看某个程序运行时加载的动态库:
1.动态链接器(Dynamic Linker):当一个程序启动时,动态链接器负责加载程序所需的所有动态库,并解析程序中未定义的符号(如函数和变量)到这些库中定义的符号。2.环境变量LD_PRELOAD:在Linux系统中,LD_PRELOAD环境变量用于指定在程序启动时优先加载的共享库列表。如果在这个列表中指定了一个自定义的SO库,那么这个库将在程序的其他动态库之前被加载。3.符号解析(Symbol Resolution):当动态链接器加载库时,它会按照一定的顺序解析符号。如果在 ...
K8s下的漏洞挖掘思路
0x01 概念容器:容器是一种虚拟技术,与传统的虚拟机(如VMware)相比,容器更加轻量化,不需要虚拟整出个操作系统,仅需要虚拟一个小规模的环境就可以运行,容器以独立进程的方式运行在宿主机上,相互之间共享系统内核。Docker是使用最为广泛的容器技术,只需要将应用程序以及相关依赖关系进行打包,就可以在不同服务器上进行部署运行,并且提供一个与宿主机相互隔离的虚拟环境。
K8s:全称是kubernetes,是谷歌在2014年推出的一种开源容器编排系统,因将k后面的8个字母进行缩写后被广泛简称为K8s,随着容器技术的发展,面临着容器数量庞大、难以管理的问题,K8s的推出很好的解决了这一问题,并且在容器编排系统中占据领先地位。
Pod:K8s中运行的最小调度单元被称为Pod,一个Pod上运行着一个或多个容器,并且在K8s中,每个Pod都会被分配一个虚拟的IP和端口,以确保内部任意两个Pod之间可以直接通信。
Service:K8s中用于具体实现客户端与每个Pod之间通信的一个资源对象,Service一旦被创建,K8s就会为其分配一个集群内唯一、固定不变的虚拟IP地址,叫做ClusterIP( ...
记一次PhotoGrapher靶机渗透
0x00 靶机安装访问下载靶机镜像,解压使用虚拟机打开,网络选择NAT模式
0x01 信息搜集使用netdiscover探测存活主机
1netdiscover
确认靶机地址192.168.92.137
用Nmap探测靶机开放的端口及服务
1nmap -sV -O 192.168.92.137
系统为Linux,并且开放了80、139、445、8000端口,存在http和smb服务。
访问80端口:
扫描web路径:
逐一访问,并没有什么发现
访问8000端口,发现作者信息:Koken
扫描web路径,发现后台地址:
访问后台,登录需要邮箱以及密码
0x02 漏洞利用暂时没有其他突破口,不过主机开启了smb服务,使用enum4linux进行探测
1enum4linux 192.168.92.137
发现用户名及密码为空,并且存在共享路径sambashare
直接挂载访问//192.168.92.137/sambashare,发现两个文件
mailsent.txt:
获取到关键信息邮箱,最后一行的信息应该指的是后台密码
最终使用&# ...
Redis未授权访问
0x00 RedisRedis (REmote DIctionary Server) 是一个使用ANSI C语言编写的开源数据库,通常被称为数据结构服务器,从内存中读取数据,因此性能优越,和MongoDB一样,是目前使用十分广泛的NoSQL(Not Only SQL,非关系型数据库)。
Redis安装完成后,默认不开启用户认证。当配置不当时,造成未授权访问,进行敏感操作,获取权限等。
结合ssrf,探测限制内网访问的redis服务,进一步getshell
0x01 未授权访问1、不存在密码,直接访问1redis-cli -h 192.168.0.4
2、存在密码,爆破配置文件redis.conf中reauirepass提供了一个轻量级的认证,但可以快速爆破。
存在密码:
hydra爆破:
1hydra -P password.txt redis://192.168.0.4
输入密码连接
查看Redis版本、系统相关信息
1info
删除整个数据库
1flushall
0x02 获取权限通过Redis的config命令,设置数据库中待插入的内容,再修改数据库的默认路径和 ...
HTTP请求走私漏洞浅析
0x00 前言HTTP请求走私漏洞(HTTP Request Smuggling)是发生在协议层的一种攻击,最早于2005年就被发现并提出。漏洞发生的主要原因是不同的服务器,对于RFC标准的具体实现不一而导致的。
0x01 漏洞原理HTTP 1.1协议相对于1.0主要引入了两个新的特性: Keep-Alive和pipline
1、Keep-Alive特性具体是指在HTTP请求头中,添加一个参数
1Connection: Keep-Alive
告诉服务器在收到这个请求后不要关闭连接,后面再次发起请求时,继续使用这个TCP连接。
2、pipline特性是指在一次TCP连接中,可以连续不断地发送多个http请求,而不必等待服务器响应。服务器会根据顺序进行处理。
有了这两个特性之后,HTTP 1.1相对于 HTTP 1.0来说,传输效率更高,如今HTTP 1.1也应用最为广泛。
在RFC 2616中规定,一个完整的数据包中需要在请求头部分包含”Content-Length”或者”Transfer-Encoding”来对数据包的长度进行说明。
1、Content-Length: 指明数据包 ...
记一次LazySysAdmin靶机渗透
0x00 前言直接将下载好的靶机文件用虚拟机打开,网络选择NAT模式。写的比较啰嗦,主要是想记录一下完整的思路
0x01 信息搜集用netdiscover探测内网
发现四台主机
分别用Nmap进行探测
1nmap -sV -O 192.168.92.136
发现192.168.92.136这台主机开启了22、80、139、445、3306、6667端口
存在ssh、http、smb服务以及mysql数据库
访问
没有什么发现,用御剑扫路径
逐一访问
robots.txt:
发现路径/Backnode_files/,是个路径遍历
info.php:
wordpress:
是个wordpress搭建的博客,并且获取到信息togie,猜测可能是用户名
phpmyadmin:
而old、wp、test、apache这几个路径都是空的
通过Nmap得知主机存在Samba服务,用enum4linux枚举一下
1enum4linux -a 192.168.92.136
发现用户名、密码都为空
并且存在共享目录//192.168.92 ...
ISCC 2020 web 部分 writeup
##练武题
1、阿森的爱情-1
提交数据抓包
返回包有个set-cookie,添加到cookie里
出来字符串
貌似不是flag…
后来听说直接御剑扫文件..不过环境被删了没继续试。
2、Php is the best language
下载,一个txt文件,打开是php源码
反序列化,构造语句获取payload
Base64解码,得到flag
3、What can images do
看题目的意思大概是上传绕过或是图片马结合文件包含
先尝试绕过,发现是白名单限制+内容检测
上传图片马
在下面发现一个可以文件包含的点
把file1.php改成图片马
图片马被解析,蚁剑找到flag
Web4:未知的风险-1
抓包有个token
应该是jwt
题目说只允许user进入,那就是改user吧,爆破key之后encode提交
参考了文章
擂台题Web1:Easy Injection
Python模板注入
说明{{}}里的语句被执行,利用其读取flag
Payload
{% for c in [].__clas ...
黑客丛林之旅通关攻略
黑客丛林之旅通关攻略1. Level 1
前端验证,右键查看源码就能找到通关密码
New way:
flash,右键->播放,播放完会自动跳转到第二关
2. Level 2
方法一:
右键查看源码,看到是前端函数验证
直接F12,绕过chkPassword()
随便输入密码,点击Go就会跳转到下一关
方法二:
查看源码,发现有一个被隐藏的参数act,值为pass2
在url中添加这个参数
访问会直接跳转到第三关
3. Level 3
Burp抓包
看到数据包中有login参数,把login的值改为yes就行
或者f12直接改Cookie
改完之后重新访问页面就行
4. Level 4
摩斯密码
对照摩斯密码表解密
密码是IAMOK
New way:
既然是摩斯密码,那这里的名字应该就是摩斯吧
Morse
5. Level 5
把提示语中的两段密码分别进行base64解密和md5破解
base64:
md5:(不过这个不能过关)
6. Level 6
mstsc想到Windows远程桌面连接,默认端口是3389
vnc是Linux的远程桌面连接服务,默认端口是 ...
setoolkit-网站钓鱼获取账户密码
setoolkit-网站钓鱼获取账户密码平台:kali
工具:setoolkit
Social-Engineer Toolkit,简称setoolkit,是一款社会工程学工具集。
主要功能:
1、鱼叉式网络钓鱼攻击
2、网页攻击
3、传染媒介式(俗称木马)
4、建立payloaad和listener
5、邮件群发攻击(夹杂木马啊payload的玩意发给你)
6、Arduino基础攻击
7、无线接入点攻击
8、二维码攻击9、Powershell攻击 (引用https://www.freebuf.com/sectool/73409.html)
本文使用seetoolkit克隆某登录页面,进行钓鱼攻击,获得他人的账号。(只适用于http)
启动setoolkit:
setoolkit
依次选择:
Social-Engineering Attacks(社会工程攻击)-> Website Attack Vectors(网站攻击载荷) -> Credential Harvester Attack Method(凭据收割机攻击方法)
此时有:
1) Web Tem ...