靶机实战(7):OSCP备考之谷安172.16.33.43

admin 2023年12月26日07:30:30评论65 views字数 4228阅读14分5秒阅读模式

谷安靶机:172.16.33.43

靶机官网:Potato: 1[1]

实战思路:

  1. 主机发现
  2. 端口发现(服务、组件、版本)
  3. 漏洞发现(获取权限)
    1. 2112端口/FTP服务
      1. 组件漏洞
      2. 口令漏洞
    2. 80端口/HTTP服务
      1. 组件漏洞
      2. URL漏洞1(目录、文件)
      3. URL漏洞2(目录、文件)
    3. 22端口/SSH服务
      1. 组件漏洞
      2. 口令漏洞
  4. 提升权限
      1. 01、suid
      2. 02、cron
      3. 03、sudo

一、主机发现

本次攻击指定IP,不涉及主机发现过程。

二、端口发现(服务、组件、版本)

使用命令sudo -u root nmap 172.16.33.43 -n -Pn -p- --reason -sV -sC -O,获得主机开放的端口、提供的服务、使用的组件、组件的版本。

靶机实战(7):OSCP备考之谷安172.16.33.43

开放的端口

提供的服务

使用的组件

组件的版本

22/tcp

ssh

OpenSSH

8.2p1

80/tcp

http

Apache httpd

2.4.41

2112/tcp

ftp

ProFTPD

?

-

os

Ubuntu Linux

三、漏洞发现(获取权限)

2112端口/FTP服务

组件漏洞

因为nmap探测出FTP服务可以匿名登录,所以优先查看。使用命令searchsploit ProFTPD,发现ProFTPD组件有不少Nday漏洞。但因为没有具体版本,每个EXP试一遍的成本较高,所以暂时先不盲打EXP。

靶机实战(7):OSCP备考之谷安172.16.33.43

口令漏洞

使用命令ftp 172.16.33.43连接FTP服务,使用匿名账号anonymous空口令登录,使用命令ls -la查看文件情况,发现两个文件。使用命令get index.php.bakget welcome.msg下载文件后,使用命令quit退出FTP服务。

靶机实战(7):OSCP备考之谷安172.16.33.43

welcome.msg文件没啥价值,使用命令vim index.php.bak查看备份文件,获得账号admin和密码potato,以及两个网站URL:登录页/index.php、登录成功后的跳转页/dashboard.php

靶机实战(7):OSCP备考之谷安172.16.33.43

访问两个网站URL,/index.php不是预想中的登录页面,说是还在开发中。dashboard.php更是直接就404了,而不是提示未授权访问之类。

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

基于index.php.bak代码构造登录请求,也无法登录,看来网站没用这套代码。

靶机实战(7):OSCP备考之谷安172.16.33.43

80端口/HTTP服务

组件漏洞

01、中间件组件:使用命令searchsploit Apache httpd 2.4.,未发现Apache httpd 2.4.41组件的Nday漏洞。

靶机实战(7):OSCP备考之谷安172.16.33.43

02、应用组件:使用Wappalyzer、FindSomething等插件自动识别网站组件,使用BurpSuite等工具手动识别网站组件,无特别的收获。

靶机实战(7):OSCP备考之谷安172.16.33.43

URL漏洞1(目录、文件)

01、直接访问:使用浏览器打开http://172.16.33.43/,发现只有一张图片,还说网站正在开发中。

靶机实战(7):OSCP备考之谷安172.16.33.43

把图片下载下来,使用命令steghide --info potato.jpg发现图片使用了隐写技术,但需要密码才能提取隐写的内容,使用前面拿到的密码potato都无法提取。

靶机实战(7):OSCP备考之谷安172.16.33.43

使用命令stegcracker potato.jpg也无法爆破出隐写术的密码。

靶机实战(7):OSCP备考之谷安172.16.33.43

02、目录扫描:使用命令dirb http://172.16.33.43/对网站进行目录和文件扫描,发现/admin/目录、/admin/logs/目录、/admin/index.php文件。

靶机实战(7):OSCP备考之谷安172.16.33.43

访问发现/admin/目录其实就是/admin/index.php文件,而且是之前源代码拿到的登录页面,但是使用前面拿到的账号admin和密码potato无法登录。

靶机实战(7):OSCP备考之谷安172.16.33.43

访问/admin/logs/目录,发现有3个日志文件,是admin账号的密码修改日志,这是暗示我们之前拿到的密码没用,需要爆破一下?

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

但是使用Burp Suite爆破密码,也以失败告终。

靶机实战(7):OSCP备考之谷安172.16.33.43

查看大佬的Potato 1 Vulnhub Walkthrough[2],发现可以利用PHP的类型转换机制,绕过身份验证,登录任意账号。查看PHP类型转换机制的漏洞风险PHP Magic Tricks: Type Juggling[3],发现第33-36页的实战案例,和index.php.bak的登录代码一模一样,疑似靶机作者抄的这个案例。

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

index.php.bak中身份验证的主要代码是if (strcmp($_POST['username'], "admin") == 0 && strcmp($_POST['password'], $pass) == 0),前半段验证账号,后半段验证密码。strcmp函数[4] 是比较两个字符串,相同返回0,前面大就返回正数,后面大就返回负数。最关键的代码是strcmp结果与0的比较, 这里用的==会在比较前进行类型转换[5],使得==两边的数据类型相同以便比较,从而导致了NULL==0false==0等意料之外的情况出现,即:业务逻辑是账号和密码都是0==0才能登录,绕过逻辑是账号和密码都是NULL==0也能登录。

因此只要构造出strcmp($_POST['password'], $pass)的结果是NULL就能绕过身份验证,PHP Magic Tricks: Type Juggling[6] 第33-36页的实战案例是让($_POST['password']变成数组,即strcmp(数组,字符串)的结果是NULL,具体做法是:将登录请求中的password参数改成password[],然后单击右键选择在浏览器中打开响应结果。

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

看来,strcmp函数不适合用在身份验证功能等用户能够控制参数的场景呀。

03、模糊测试:基于目前已知信息,没有对网站的目录和文件进行FUZZ的必要。

04、信息收集:前面在Firefox翻找网站的流量全都走Burp Suite代理,在Burp Suite中使用HaE插件,但未发现敏感信息泄露。

靶机实战(7):OSCP备考之谷安172.16.33.43

URL漏洞2(目录、文件)

01、直接访问:浏览器打开http://172.16.33.43/admin/dashboard.php,发现有几个功能,其中 Ping功能是获取PING 8.8.8.8的结果,尝试了几个命令执行漏洞的payload都是失败。

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

Logs功能是获取日志文件,尝试本地任意文件读取漏洞的payload,确认存在漏洞。

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

使用BurpSuite的Intruder功能,利用本地文件读取漏洞,读取/usr/share/seclists/Fuzzing/LFI/LFI-gracefulsecurity-linux.txt字典中的文件,并无特别的收获。

靶机实战(7):OSCP备考之谷安172.16.33.43

22端口/SSH服务

组件漏洞

使用命令searchsploit OpenSSH 8.2 searchsploit OpenSSH 8.,未发现OpenSSH 8.2p1组件的Nday漏洞。

靶机实战(7):OSCP备考之谷安172.16.33.43

口令漏洞

基于本地文件读取漏洞拿到的/etc/passwd文件中有SHELL环境的SSH账号,使用命令hydra -L user.txt -P /usr/share/seclists/Passwords/500-worst-passwords.txt 172.16.33.43 ssh爆破弱口令,获得账号webadmin和密码dragon

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

四、提升权限

01、suid

使用命令find / -perm -u=s -ls 2>/dev/null,发现不少可以用于提权的系统命令。

靶机实战(7):OSCP备考之谷安172.16.33.43

GTFOBins[7]搜索这些系统命令的提权命令,均尝试失败。

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

02、cron

使用命令find /var/spool/cron -type f -ls 2>/dev/null没有获得输出,使用命令find /var/spool/cron -type f -ls确认是当前用户没有read权限。

使用命令find /etc/*cron* -type f -ls 2>/dev/null发现不少计划任务,使用命令find /etc/*cron* -type f -ls -exec cat {} ; 2>/dev/null > cron.txt转存这些计划任务,然后使用命令less cron.txt查看,没发现有引用可以写入提权代码的脚本文件。

靶机实战(7):OSCP备考之谷安172.16.33.43

03、sudo

使用命令sodo -l查看当前用户能以哪些用户的权限执行哪些命令,发现能以任意用户的权限执行/bin/nice /notes/*命令。使用命令 find /notes/ -ls查看/notes/*目录下有什么文件,发现/notes/id.sh/notes/clear.sh文件。

以root权限执行命令sudo -u root /bin/nice /notes/id.sh,发现是显示id。以root权限执行命令sudo -u root /bin/nice /notes/clear.sh,发现是清空屏幕,都没什么特别。

靶机实战(7):OSCP备考之谷安172.16.33.43

GTFOBins[8]搜索nice命令的提权命令,但是当前用户没有权限执行。

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

靶机实战(7):OSCP备考之谷安172.16.33.43

留意到sodo -l查到的/bin/nice /notes/*是通配符,能否像任意文件读取那样穿越路径呢?一试还真行,看来通配符*不适合用在/etc/sudoers/etc/crontab等配置文件中呀。

靶机实战(7):OSCP备考之谷安172.16.33.43

参考资料

[1]

Potato: 1: https://www.vulnhub.com/entry/potato-1,529/

[2]

Potato 1 Vulnhub Walkthrough: https://www.infosecarticles.com/potato-1-vulnhub-walkthrough/

[3]

PHP Magic Tricks: Type Juggling: https://owasp.org/www-pdf-archive/PHPMagicTricks-TypeJuggling.pdf

[4]

strcmp函数: https://www.php.net/manual/zh/function.strcmp.php

[5]

类型转换: https://www.php.net/manual/zh/language.types.type-juggling.php

[6]

[PHP Magic Tricks: Type Juggling: https://owasp.org/www-pdf-archive/PHPMagicTricks-TypeJuggling.pdf

[7]

GTFOBins: https://gtfobins.github.io/#

[8]

GTFOBins: https://gtfobins.github.io/#

原文始发于微信公众号(OneMoreThink):靶机实战(7):OSCP备考之谷安172.16.33.43

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月26日07:30:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶机实战(7):OSCP备考之谷安172.16.33.43http://cn-sec.com/archives/2333767.html

发表评论

匿名网友 填写信息