Matrix 2 - CTF
Matrix 2 - CTF Vulnhub 下载: Matrix: 2 Nmap 扫描主机发现 端口扫描 信息收集代码审计先访问这个网站: 查看网页源码: 这里有个 index.js, 点进去看看内容: 这段内容比较可疑, 提到了本地的 1337 端口, 刚刚 nmap 正好也扫描到了这个端口。 除了 80 端口以外, 其他的端口服务为 ssl/http, 也就是 https, 需要留意。 用 https 协议访问 1337 端口, 弹出一个登录界面, 可能是网站管理界面的登录页面? 用刚刚源码中的信息排列组合一下, 提示错误, 先搁置。 查看 12320 端口, 是一个 web 上的 ssh 服务的登录界面。结合刚刚 nmap 扫描出的结果, 这里的服务是 Shell In ABox:通过浏览器提供 SSH 终端访问的开源工具。 继续排列组合一下已知可能的密码, 提示错误, 也只能先搁置。 查看 12321 端口, 显示 PR_CONNECT_RESET_ERROR。 查看 12322 端口, 展示的 web 页面和 80...
Matrix - CTF
Matrix - CTFvulnhub 靶机 MATRIX:I 下载地址: Vulnhub Nmap 扫描主机发现 端口扫描 访问一下这个地址。 信息收集端口扫描没有直接暴露出明显的攻击面, 先着手调查一下 80 端口这个网站。 目录爆破看一下控制台, 调整爆破的指令: 1sudo gobuster dir -u http://192.168.170.150 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x js,json,env,config.js,log,map 没有太多结果。 查看源码调出控制台观察一下: 看到网站后台有 /assets/img/p0rt_31337.png 这个文件, 提示前往之前扫到的 31337 端口。先下载这个图片, 这个图片可能会隐藏某些信息, 比如图像隐写 (虽然可能性比较小)。 31337 端口服务尝试一下目录遍历漏洞 (../../etc/passwd), 直接跳转到...
Crypto 2 - AES-256
Crypto 2 - AES-256 AESAES 属于对称加密, 这是一种通信双方使用相同秘钥进行加密和解密的算法。以下以 AES-256 为例展开: 理论准备 有限域 $GF(2^8)$:以下所有 AES 运算都在伽罗华域 ($GF(2^8)$) 中进行。 多项式表示:把所有字节都视为一个多项式来表示。 例如字节 0xB3 = 10110011 = $x^7+x^5+x^4+x+1$ 。 不可约多项式:约定 $m(x)=x^8+x^4+x^3+x+1$ 为不可约多项式, 将所有结果都对这个结果取模即可。 加密流程总流程加密总流程如下(以 AES-256 为例): 12345678910graph TD A[128位明文] --> B[初始轮密钥加] B --> C{14轮加密循环} C -->|每轮执行| D[字节代换SubBytes] D --> E[行移位ShiftRows] E --> F[列混淆MixColumns] F -->...
Crypto 1 - RSA 详解
Crypto 1 - RSA 详解RSARSA 是一种经典的非对称加密, 其安全性基于大整数分解的困难性。 理论准备 欧拉函数: 在数论中, 用 $\phi(x)$ 来表示是满足 $gcd(n,k)= 1$, 其中 $k \in [1,x], k \in N$ 的 $k$ 的个数。 对质数 $p$, 有: $$\phi(p)=p-1$$ 对任意 $p,q$ ,若有 $gcd(p,q)=1, m=pq$, 则:$$\phi(m)=(p-1)(q-1)$$ 欧拉定理: 当 $gcd(m,n)=1$时, $$m^{\phi(n)}=1\ \bmod\ n$$ 扩展欧几里得算法: 设 $gcd(a,b)$ 用来表示 $a,b$ 的公约数个数。 扩展欧几里得算法需要找到 $x,y$ 满足 $x>y$ , 且: $$ax+by=gcd(a,b)\ \bmod\ n$$ 当令 $b=0$, 则有: $$ax=1\ \bmod\ n$$此时也称 $x$ 为 $a$...
PrivEsca1 - Linux提权总结1
Linux 提权 (PrivEsca) 1 : 枚举和典型例子提权, 也就是提升权限(Privilege Escalation), 最终获得 root 权限。渗透测试中, 提权操作是无法避免的非常重要的过程。 常用手段提权一定是对系统某种保护措施的利用, 逃逸或破坏。 一般来常用到的手段有这些: 低权限可修改高权限用户执行的脚本, 这本质上是 UGO 上的问题; 低权限运维人员也会输入/存储高权限凭据; 超越权限体系, 在其上层 (如内存) 捕获 / 修改凭据等信息和内核利用。 升级 shell 交互性在拿到任何一个用户 (即使是低权限用户) 的 shell 时, 首先应该让其交互性尽可能完整。 利用 python 来提升交互性: 1python -c 'import pty;pty.spawn("/bin/bash")' 禁用终端的输入预处理 (可以激活方向键): 1stty raw -echo 指定终端类型, 支持颜色输出和全屏程序 1export...
log4j2 复现
log4j2 复现用 docker 搭建靶机完成渗透, 理解 log4j2 漏洞。 靶机准备首先准备 docker 文件, 编辑 docker-compose.yaml: 1234567version: '2'services: solr: image: vulhub/solr:8.11.0 ports: - "8983:8983" - "5005:5005" 在同一目录执行 docker-compose up -d: 拉取完毕后启动镜像, 访问 8983 端口: log4j2 漏洞原理log4j2log4j2 是 Java 中常用的日志文件框架, 主要是帮助开发者记录程序运行时的信息, 例如调试信息, 运行错误等。 log4j2 存在一个关键特性: 支持插入动态内容, 例如变量和表达式, 并且支持插件来自定义功能, 比如解析${xxx}表达式。 看到这里已经有可以渗透的点了, 如果 Log4j2 不对用户的输入进行过滤, 那么就和 sqli...
brainpan 1 - CTF
brainpan:1 - CTF 镜像下载: 镜像 借 brainpan 这台靶机重温 PWN, 以及深入了解相关技术。 nmap 扫描主机发现常规 nmap 扫描, 扫到靶机: 端口扫描先探测端口, 再扫所有可用端口: TCP 扫描 9999 端口返回了一段转义的欢迎数据, 并提示输入密码, 比较可疑。先看一下端口扫描结果: Abyss 是一款轻量级的 HTTP 服务器软件, 其功能和 Apache, Nginx 是类似的, 不过更小, 资源占用更低, 适用于嵌入式系统或老旧硬件。 snet-sensor-mgmt 没有见过, 尝试一下访问: 192.168.170.141:10000: 看起来是一套 web 服务。 尝试连接 9999 端口, 会显示刚刚 nmap 扫出的字符。 1sudo nc 192.168.170.141 9999 目录爆破模糊测试既然端口 10000 是可访问的 web 服务, 那就可以先试试目录爆破, 上模糊测试: 1wfuzz -w...
LampSecurityCTF4 - CTF
LampSecurityCTF4 - CTF 靶机下载: 镜像 nmap 扫描主机发现1sudo nmap -sn 192.168.170.0/24 端口扫描1sudo nmap --min-rate 10000 -p- 192.168.170.140 123sudo nmap -sT -sV -O -p22,25,80,631 192.168.170.140sudo nmap -sU -p22,25,80,631 192.168.170.140sudo nmap --script=vuln --min-rate 10000 -p22,25,80,631 192.168.170.140 收集信息查看一下 nmap 扫出的 robots.txt: 1curl http://192.168.170.140/robots.txt 访问网站: 访问 Blog 中的推文, url 为 http://192.168.170.140/index.html?page=blog&title=Blog&id=2 , 可见是 GET 方式传参, 尝试一下...
sqli-lab lesson 1~10
sqli-lab lesson 1~10前言sqli-labs 是为入门 sql 注入的靶场, 涵盖了 sql 注入所涉及的各种手段。不过在sqli-labs 中并没有刻意设置 flag 项, 这里将 user 表中的 id 和对应的 password 视为要提取的敏感数据, 提取到这些数据即可视为获取了 flag。 这里只记录了比较典型的几个 lesson; 搭建 sqli-labs 靶场下载小皮, 宝塔或者其他面板工具, 在首页中打开 Apache 和 Mysql 服务, 然后下载并解压sql-网站: 把解压后的文件夹重命名为 “sqli”, 并把 php 版本改为 5.3.x 或 5.4.x: 配置数据库, 路径phpstudy_pro\WWW\sqli\sqli-labs-master\sql-connections\db-creds.inc 进行编辑。将账户密码改为小皮面板中数据库的配置项即可。 用 ipconfig 看一下当前设备的 ip 地址, 然后访问 http://ip/sqli 完成安装, 如果直接架在本地, 直接填 127.0.0.1...
Prime1 - CTF
prime1 - CTF 靶机镜像下载: vulhub 说明 ip Kali 攻击机 192.168.170.135 Prime1 靶机 192.168.170.139 Nmap 扫描首先还是非常常规的 Nmap 扫描, 收集信息。 主机发现1sudo nmap -sn 192.168.170.0/24 端口扫描 在漏洞扫描中可以看到 “wordpress” 字样, 说明该网站是使用 wordpress 建站。 wordpress 扫描 wpscan 是专门扫描 wordpress 站点的工具。 注意 wpscan 必须指定到 ../wordpress/ 目录下。 可以扫出 wordpress 的版本为 5.2.2。 信息收集访问目标站点: 根据站点信息, 管理员账户应该就是 victor, 首页的 Log in 应该也对应刚刚扫出的登录界面(http://../wordpress/wp-login.php)。 访问 /javascript , 可以看到 apache...