之前在某公众号看到一篇关于 Badusb 做近源渗透的文章,之前看过很多的这类设计。本质上 Badusb 就是用一个单片机模拟出一个键盘,通过键盘键入恶意指令,可以绕过防火墙和不少杀毒软件。 由于自己设计太麻烦了,芯片虽然是有现成的,但是还要买装芯片的壳之类的,太麻烦了。反正只是研究的作用,就某宝上买了一个现成的。 我买的芯片是 Leonardo USB ATMEGA32U4,金属外壳的比较好看捏,这个主控主要的问题是 Flash 太小了,刷的东西多一点都装不下(不过好像也就写个 shell 进去麻,不用写太多东西) 程序在 Arduino 中编写 这里参考了某公众号上的 Payload,用 alias 别名和 ^ 拼接绕过,在代码上还做了一点修改。 步骤变成了 Win+M…
Web pdf_converte 这题一开始有非预期解,只要进入下发附件目录,查看 changelogs 即可发现该版本为 “最新的” Thinkphp5.0.23 ┌──(root ㉿ hz2016-rogx)-[~] └─# searchsploit thinkphp 5.0.23 -------------------------------------------------------------------------------------- --------------------------------- Exploit Title | Path ---------------------------------------------…
Metasploit framework 简称 msf 是一个全流程的渗透测试框架 一般来说有如下的几类模块 1. Payload 模块:Payload 模块是一种主要用于攻击的模块,它们包含可以在目标系统上执行的恶意代码。Payload 模块可以用来获取远程访问权限、执行命令、窃取数据等。 2. Exploit 模块:Exploit 模块是一种用于利用漏洞的模块,它们可以通过利用目标系统上的漏洞来执行攻击。Exploit 模块通常需要与 Payload 模块一起使用,以便在目标系统上执行恶意代码。 3. Auxiliary 模块:Auxiliary 模块是一种用于执行辅助任务的模块,它们可以用于扫描目标系统、收集信息、执行漏洞验证等。Auxiliary 模块通常不需要…
常见的信息收集手段 1. 字典攻击 2. 提取密码 HASH(明文、PtH 碰撞) 3. 信息收集 字典攻击 KaliLinux 中包含着密码字典 /usr/share/wordlists/usr/share/seclist 专属字典生成 cewl <URL/FILE> [-m {NUM} 最小长度] [-w {OUTPUT} 输出文件] #从指定 URL/FILE 生成字典 john [--wordlist={DIRCTY} 待变形字典] --rules [--stdout {OUTPUT} 输出文件] #字典变形 暴力破解 crunch 8 8 -t ,@@^^@@@ #掩码生成 8 位密码,分别是 1 大写 2 小写 2 符号 3 数字 Medusa medu…
本地提权是指攻击者利用漏洞或其他手段获取本地系统的管理员权限或其他高权限,从而能够执行更多的操作,例如访问、修改、删除系统文件、安装恶意软件、窃取敏感信息等。 常见的提权思路有: 1. 服务配置错误 2. 文件或服务权限漏洞 3. 内核漏洞 4. 高权限运行的服务漏洞 5. 敏感信息泄漏 6. 总是在执行二进制文件之前提升特权的系统设置 7. 脚本中包含硬编码的凭证,以及许多其他内容 手动枚举 枚举用户账号 whoami #通用 id who w #Linux 查看用户组 net user <USERNAME> #Windows id who #Linux 查看其他账号 net user #Windows cat /etc/pas…
PE 文件检测 PE (Portable Executable) 可执行文件,该文件酱油 Windows 加载器执行代码、引用库、导入和导出 API 表等 检测方法一般如下 1. 基于字符特征的检测方法(静态) 2. 启发式检测方法(单步跟踪 / 静态分析) 3. 基于行为的检测方法(动态) AV (Anti Virus) 躲避技术 一般来说分磁盘 / 内存两种 磁盘 打包(修改特征码、减小体积) 混淆(花指令、重组等) 加密 Crypters(改变可执行代码,在内存中执行加密文件) 软件保护(反逆向、反调试、虚拟机检测) 内存 一般流程如下 1. 利用 Windows API 向正常 PE 进程注入攻击代码 2. 获得目标进程 Handle 并分配空间 3. 将恶意代码注入到新分…
传输文件一般发生在后渗透测试阶段,即已经突破边界并在目标主机上获取初始低权限账户 一般的任务有: 1. 权限提升 2. 权限维持 3. 横向渗透 FTP 以 pure-ftpd 为例,安装并设置用户权限 apt install pure-ftpd groupadd ftpgroup useradd -g ftpgroup -d /dev/null-s/etc ftpuser pure-pw useradd offsec -u ftpuser -d /ftphome #这里的 offsec 是 ftp 账号,映射到系统账号 ftpuser,并设置密码 pure-pw mkdb cd /etc/pure-ftpd/auth/ln -s ../conf/Pu…
EXP 搜索 可以通过一些联网数据库获得 Exploit-DB 已知漏洞及 POC 等 Sync 开源漏洞数据库 也可以通过 kali 自带的 searchsploit 查找(Exploit-db 离线版) searchsploit <NAME> <VERSION> msf 里面也有 msfconsole search <NAME> EXP 利用 在 msf/exploit-db 中有一些 ruby/python/lua/c 的 exp,使用之前需要修改、查看文件了解功能,更改参数 有可能存在同一漏洞、不同版本不同系统的 EXP EXP 修复 缓存区溢出 需要注意的有文件路径、IP 地址、端口、URL、偏移量、返回地址、跳转指令 对于不同系统的 E…
客户端攻击即攻击客户端软件、邮件 例如:浏览器、PDF、OFFICE、邮件附件、恶意链接 Fingerprintjs Fingerprintjs 是一个浏览器指纹库,它可以查询浏览器的属性,并从中计算出一个哈希的访问者标识符。与 Cookie 和本地存储不同,指纹在隐私模式下和浏览器数据被清除时仍然保持不变。 Github-Fingerprintjs <script> // Initialize the agent at application startup. const fpPromise = import ('https://openfpcdn.io/fingerprintjs/v3') .then (FingerprintJS =&…
下面以 x86 架构为例 缓存结构 x86 架构的计算机最多可管理 4GB 内存 堆栈 堆栈内存是以 LIFO 结构被 CPU 访问(Last-In,First-Out) 函数返回时需要读取返回地址 会存在堆栈溢出操作 CPU 寄存器 x86 寄存器指令为 32 位,4 个字节,首个字节为操作符 EBP 基指针(访问堆栈)<-- 一般来说程序访问临时变量就在这里 EIP 指令指针(命令跳转)<-- 覆盖这个指令指针可以执行任意指令 Immunity Debugger 一个二进制程序调试器 可以通过断点等方式,跟踪程序执行过程,利用某些 EIP 指针实现命令执行 TODO: 实操