信息收集
靶机和攻击机处于同一网段
- 靶机dc9:192.168.137.134
- 攻击机kali:192.168.137.128
- 攻击机使用nmap扫描存活主机,确定靶机ip
- 攻击机使用nmap扫描靶机端口,发现开放了22端口(过滤状态)和80端口
- 攻击机使用nikto对靶机网站进行目录扫描,无可利用的信息
SQL注入获取数据
- 访问靶机网站,发现有搜索页面。查看表单信息,提交页面results.php,参数名search
- 攻击机使用sqlmap跑库名,发现3个库
sqlmap -u 192.168.137.134/results.php -data search=1 --dbs
- 攻击机使用sqlmap跑Staff库的表名
sqlmap -u 192.168.137.134/results.php -data search=1 -D Staff --tables
- 攻击机使用sqlmap跑Users表的数据内容,sqlmap爆hash密码
sqlmap -u 192.168.137.134/results.php -data search=1 -D Staff -T Users --dump
- 攻击机使用sqlmap跑users库的表名
sqlmap -u 192.168.137.134/results.php -data search=1 -D users --tables
- 攻击机使用sqlmap跑UserDetails表的数据内容
sqlmap -u 192.168.137.134/results.php -data search=1 -D users -T UserDetails --dump
网站后台LFI利用
- admin/transorbital1成功登录后台,下方提示文件不存在可能存在文件包含漏洞
- 使用FUZZ猜解出参数为file
- 可读取/etc/passwd文件,发现其中用户与之前UserDetails中的用户有重叠
Hydra爆破SSH密码
- 使用查表获得的用户名、密码作为爆破字典,尝试爆破发现连接被拒绝
- 服务器开启了隐藏端口服务,利用LFI看是否存在knockd服务配置文件/etc/knockd.conf,发现了开启22端口的端口序列号
- 依次访问这三个端口,即可开启22端口
- 再次使用Hydra进行爆破,获得了3个账户
SSH登录进行提权
- 登录3个账号,发现janitor多一个隐藏目录.secrets-for-putin
- 进入.secrets-for-putin目录查看,发现了一些password
- 补充进密码字典再次爆破,发现多了个可用账户
- SSH登录该账号,发现有root权限执行test程序
- 执行test程序,提示test.py读取追加。查找test.py并忽略错误提示,查看test.py内容是读取参数1文件的内容追加到参数2文件中
- 使用openssl生成一个操作系统用户密码,伪造一个root权限的用户hack到文件/tmp/hack追加给/etc/passwd
- 登录hack用户,成功提权,查看flag文件