W34KN3SS打靶记录

主机探测

ip为192.168.31.145 端口扫描 开放了3个端口,22、80和443,22端口直接爆破登录密码成功概率很小

[!note] -sC是同时运行默认的脚本扫描, -sV是用于进行服务版本检测

访问80和443,都是默认页

开始目录遍历,有新发现,但没什么信息

发现上传点,不过返回的信息没用,也不知道图片上传之后的存储路径

绑定域名->进一步信息收集

在端口扫描的结果中注意到,ssl证书的信息,里面提示了一个域名,修改/etc/hosts文件,然后访问域名。从页面上看是要跟随这只兔子,注意到兔子尾巴有个n30

修改hosts之后再尝试遍历目录

1
wfuzz -w /usr/share/wordlists/dirb/big.txt -u weakness.jth/FUZZ --hc 404

发现/private目录和robots.txtrobots.txt没啥内容

/private目录下发现有两个文件,下载并查看

openssl 爆破密钥

提示key是通过openssl 0.9.8c-1生成的

查找这个版本是否有漏洞,发现存在漏洞——在基于 Debian 的操作系统上,OpenSSL 0.9.8c-1 到 0.9.8g-9 之前的版本使用随机数生成器生成可预测的数字,这使得远程攻击者更容易对加密密钥进行暴力破解攻击。

Predictable PRNG Brute Force SSH:利用可预测的伪随机数生成器(PRNG)进行暴力破解SSH(Secure Shell)。

exp:

1
python2 5720.py /home/kali/project/W34KN3SS/rsa/2048 192.168.31.145 n30 22 5

成功找到key

利用key成功ssh登录

获得第一个flag

SUDO提权

家目录下有个可执行文件code,用file命令查看了是属于python文件,用uncompyle2命令反编译得到源码

从中得知用户n30的密码

1
n30:dMASDNB!!#B!#!#33

sudo查看当前权限

find提权

Got flag

关于SSL证书

在网络中明文传输非常危险,Netscape公司提出的安全协议SSL,利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证。ssl证书可以防止中间人攻击、网络监听等。

SSL协议的这些安全机制需要有证书配合一块使用才能实现。SSL使用证书对通信双方之间建立的连接的两端进行身份认证,并使用证书对加密的通信信道进行协商,从而确保安全。

SSL证书是一种遵循SSL协议的数字证书,包含拥有者的公钥及相关身份信息,由受信任的数字证书颁发机构(CA)颁发。

SSL 证书中通常包括的详细信息包括:

  • 针对其颁发证书的域名
  • 颁发给哪个人、组织或设备
  • 哪个证书颁发机构颁发了证书
  • 证书颁发机构的数字签名
  • 关联的子域
  • 证书的颁发日期
  • 证书的到期日期
  • 公钥(不公开私钥)

总结

1、端口扫描信息要尽可能全面,比如此处就是通过端口扫描信息得知要绑定hosts再去访问,从而进一步收集信息

2、根据hint发现openssl存在漏洞,利用随机数生成器生成可预测的数字来暴力破解

3、通过反编译python文件获取账户密码,从而能够进行sudo查看当前权限。sudo提权这里是用的find命令

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计
本博客已稳定运行