freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

OSCP PG—Inclusiveness
2023-07-06 15:47:44
所属地 重庆

0x01 前言

很久没有写过文章了,最近准备考OSCP认证,所以用写文章的形式来记录一下OSCP的备考准备。今天的靶机是OSCP的Proving grounds Play上的Inclusiveness靶机。这个机器整体做完给我的感觉不算难,很适合刚接触安全的新手。

0x02 信息收集

靶机IP:192.168.170.14

端口信息

先用masscan做一个端口快速扫描,用于发现开放了了那些主机

masscan -p 0-65535  192.168.170.14 --rate=10000 -e tun0
-p 指定端口,例如-p 21,22 or -p 1-100(扫描1到100端口)
-e 指定网卡 我们这边是需要连\V\P\N,所以指定tun0
--rate 指定发包数

1688626638_64a665ce2ea5eb92c060f.png!small?1688626637276


可以看到目标主机开放了21,22和80端口

再用nmap扫描端口

nmap -sC -sV -p 21,22,80  192.168.170.14 -oN nmap.txt

1688627506_64a669322b4fd99a6a8bd.png!small?1688627505295

可以发现目标主机的ftp服务可以使用匿名登录

Web信息收集

访问目标Web站点,发现为Apache的默认页面。查看是否有robots.txt页面,发现无法访问,必须要浏览器才能访问。我们可以修改我们的数据包UA头来绕过检测。(Googlebot是谷歌爬虫)

1688627864_64a66a988be220b7f2a82.png!small?1688627863307

得到隐藏目录Disallow: /secret_information/

访问该目录是一个描述域传送漏洞的页面,点击english,url出现了参数lang=es.php,怀疑存在LFI。

POC:

1688628190_64a66bde02a1a7ec86c04.png!small?1688628189051

接下来就需要包含能利用的文件,尝试过包含tom的私钥文件等一系列文件都失败了。回过头看端口服务,发现还有FTP服务没有利用。

FTP利用

登录ftp发现只有一个pub的空目录(pub是ftp创建的默认目录,路径/var/ftp/pub),我们可以利用ftp上传文件,再利用LFI实现反弹shell。

反弹shell文件:

1688628574_64a66d5ea28a3d303941d.png!small?1688628573272

利用ftp上传上去

1688628697_64a66dd9ef2b76166d39e.png!small?1688628696581

getshell

在kali上监听本地的4444端口

nc -lvvp 4444

1688628851_64a66e734acc9a8171df0.png!small?1688628849883

成功拿到shell

1688628884_64a66e9497ec0887ff452.png!small?1688628883544

在tom的家目录下发现local.txt和一个suid文件及其源码文件

1688628949_64a66ed5c1b74a6c80077.png!small?1688628948376

源码内容为

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

int main() {

    printf("checking if you are tom...\n");
    FILE* f = popen("whoami", "r");

    char user[80];
    fgets(user, 80, f);

    printf("you are: %s\n", user);
    //printf("your euid is: %i\n", geteuid());

    if (strncmp(user, "tom", 3) == 0) {
        printf("access granted.\n");
        setuid(geteuid());
        execlp("sh", "sh", (char *) 0);
    }
}

大概意思是执行whoami命令后输入的如果为tom就可以提权到root用户,我们可以环境变量劫持去劫持whoami命令。(之前脑子抽了,忘记加可执行权限,一直没有提权成功。。。)

来到tmp目录创建一个whoami的可执行文件,内容为

echo 'tom'

1688629181_64a66fbdf23051c98195e.png!small?1688629180574

修改环境变量

export PATH=/tmp:$PATH

然后回到tom的home目录执行rootshell文件,成功提权。

1688629357_64a6706d2f09d9e2a0338.png!small?1688629355791

0x03 总结

这个靶机整体不难,需要我们了解服务的一些基本信息就能很快拿到shell。环境变量劫持提权也是很基本的提权方式。

# web安全 # 内网渗透
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录