基本信息

靶机名称 Kioptrix-Leve 1.4
攻击机 192.168.109.129
靶机 192.168.109.128

前期信息收集

Nmap服务版本

  • 只开放80和22端口。还有两个smb服务端口
    Pasted-image-20250112144100

目录扫描

  • 发现存在三个目录imagesjohnrobert
    Pasted-image-20250114102048

指纹

Pasted-image-20250112145630

Smb版本信息

  • 使用Nmap脚本确定版本信息
    Pasted-image-20250112153858

信息整合

端口号 服务名称 服务版本
22 ssh OpenSSH 4.7p1 Debian 8ubuntu1.2(协议2.0)
80 http Apache httpd 2.2.8(Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch
139 netbios-ssn Samba 3.0.28a (unix)
445 netbios-ssn Samba 3.0.28a (unix)

页面测试

根据信息查找POC

Apache版本漏洞

  • 暂未发现符合poc
    Pasted-image-20250112150642

SSH服务

  • 暂未发现什么有价值poc
    Pasted-image-20250112150854

Smb服务

  • 暂未发现有用
    Pasted-image-20250112154046

Web测试|80

目录收集

images站点图片目录
  • 只有一个登录页面的图。
    Pasted-image-20250114102337
john用户文件目录
  • 有个php文件打开是会员管理面板。不过提示出错应该是没权限查看。
    Pasted-image-20250114102536
robert用户文件目录
  • 一样是会员管理面板
    Pasted-image-20250114102807

SQL注入

  • 登录报错位置为mypassword合并的符号为'
    Pasted-image-20250114100914
  • 尝试万能密码登录,发现页面出错。
#可正常登录
1' or 1 = 1 #

Pasted-image-20250114101541

  • 尝试使用之前发现的用户名,发现能正常显示页面,但是一样提示出错。
#使用一个存在的用户去尝试登录
mypassword=1' and 1 = 1 #&myusername=john

Pasted-image-20250114103035

  • 语句一个小错误,正常判断用户名密码是通过where语句来判断用户AND密码是否在表中,原本使用了AND来连接,会导致有两个ADN来判断。而SQL的执行顺序来看,要保证用户名和密码都为真。改为OR一个为真则能登录
mypassword=1' or 1 = 1 #&myusername=john

Pasted-image-20250114124601

  • 知道用户名密码尝试使用SSH登录看看,原本页面没有可用的功能点。
ssh john@192.168.109.128 -oHostKeyAlgorithms=+ssh-rsa

Pasted-image-20250114125516

已知信息
username password
john MyNameIsJohn
robert ADGAdsafdfwt4gadfga==

本地提权

  • 回到登录进去的提示发现能使用的命令很少是个rshell,这时候就需要Shell逃逸来获取高权限的shell
    Pasted-image-20250114143613
  • 能使用echo命令通过echo来获得完整的shell
echo os.system("/bin/bash")

Pasted-image-20250114143945

  • 发现能使用全部命令??-u指定用户,直接变成root用户了。
    Pasted-image-20250114144327

不具备Sudo权限

信息收集

  • 知道了目前所知的两个用户都是rshell。
    Pasted-image-20250130190053
  • 已知的版本信息
    Pasted-image-20250130190140
脏牛提权
  • 发现可以使用脏牛提权
    Pasted-image-20250130190349
  • 目标机器没有gcc尝试编辑传进去。不知道什么问题,直接放弃。。。
    Pasted-image-20250130190409

Mysql信息

  • 通过浏览网站登录页面知道是为root用户数据库,并且是是无密码的。
    Pasted-image-20250130190449
  • 并且当前用户能够登录
    Pasted-image-20250130190502
  • 发现mysql存在命令执行的函数
    Pasted-image-20250130190520
  • 重新连接成功加入root用户组
    Pasted-image-20250130190533
  • 尝试加入管理员组则获取所有sudo权限
    Pasted-image-20250130190545