freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

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

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

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

FreeBuf+小程序

FreeBuf+小程序

ICA: 1靶场通关笔记,超详细,超推荐(原创)
2023-12-10 16:46:13

结合步骤1.信息收集加确定目标。2.发现漏洞。3.漏洞利用getshell。4.提权 5.总结

1.信息收集加确定目标

首先进行信息收集确定靶场ip,进行nmap进行扫描

1702193679_65756a0ff070c823558d5.png!small?1702193680120

可以确定靶场的ip为192.168.78.130,进行全端口扫描

1702193872_65756ad07c86ae04f676e.png!small?1702193872242

对22端口进行弱口令跑一跑,未果,看到开放了3306端口,想着能不能得到账号和密码进行爆破,

先访问80端口,看看web页面信息

1702193947_65756b1b88358a35ed654.png!small?1702193947349

2.发现漏洞

访问到此页面,看到框架搭建信息,此时有两种,第一种看到登入框可以进行sql注入测试,第二种直接到谷歌搜索exp,第一种测试过,没有结果,来到第二种办法

https://www.exploit-db.com/exploits/50176进行利用

1702194573_65756d8d858365d3d3e85.png!small?1702194573169

得到账号密码  进行登入到数据库

1702194708_65756e14472a22a62bf12.png!small?1702194708525

3.漏洞利用getshell

成功登入到数据库,开始查询里面的账号和密码

1702194754_65756e42dd1c9eed11c83.png!small?1702194754806

1702194846_65756e9e2d32908d9cec0.png!small?1702194846106

发现密码是base64加密,进行每个解码

1702194974_65756f1e8fadb1b4c1ecc.png!small?1702194974555

1702195081_65756f894dc5f33d31f49.png!small?1702195081007

使用hydra对每个账号和密码进行登入到ssh进行爆破

1702195182_65756fee3a5661bf914a4.png!small?1702195182660

成功得到两组账号和密码,分别进行登入到ssh

1702195257_6575703912323478dad76.png!small?1702195256841

成功登入到,查看一下有没有敏感文件等

1702195308_6575706c2229d665645a9.png!small?1702195307865

成功得到第一个flag,看一下当前用户可执行那些命令

1702195359_6575709f48a21739ecbe4.png!small?1702195359386

4.提权

发现没有可以利用的点,进行登入到第二个账户看看

1702195444_657570f4238460ede13cb.png!small?1702195443958

这里的大概意思是:

1702195507_657571334095b2e3c09e5.png!small?1702195507161

这里的意思是存在可执行文件漏洞,所以接下我们要做的就是找到那些是可执行的文件

find / -perm -u=s 2>/dev/null

1702195589_65757185af510cd272625.png!small?1702195589553

进行查看/opt/get_access文件,但是发现使用普通的cat查看是乱码的,可以进行反编译查看,也可以使用strings进行查看

1702195709_657571fda984021e556b8.png!small?1702195709340发现存在此文件 我们查看一下该文件

1702195767_65757237aa30732ff0bbd.png!small?1702195767364

可以看见我们没有权限进行查看,这里cat是使用root权限进行查看的,提权思路就来了,我们自己伪造一个cat命令文件,加入/bin/bash,并且添加到环境变量里面去,然后执行该文件,然后调用到cat的时候用到的我们的可执行命令,这样获得root权限。

创建cat时发现其他目录环境不能写入进去,我们得进入/home里去执行

1702196043_6575734bb048954528138.png!small?1702196043477

成功拿到了root权限

5.总结

总结一下sudo和suid提权 1.sudo提权:sudo是常用的Linux命令,允许普通用户执行root命令
普通用户在使用sudo执行命令的过程中,会暂时拥有root权限,如过该命令执行没有中断,而且该命令运行的过程中可以调用系统命令,那就可以直接运行/bin/bash,此时就是在root权限下运行bash了。

直接输入 sudo -l查看可以使用sudo运行那些命令。

例如:git 提权

使用命令 sudo git -p --help 强制进入交互状态,让页面缓冲区无法显示全部信息(放大字体/缩小显示区域即可)。   然后输入!/bin/bash 成功拿到root权限

2.suid提权:suid(set uid)是linux中的一种特殊权限,suid可以让调用者以文件拥有者身份运行该文件,所以利用suid提权的核心就是运行root用户所拥有的suid的文件,那么运行该文件的时候就得获得root用户的身份了。 本靶场就是找到可执行文件,然后发现执行cat的时候是root命令,于是自己构造一个cat文件,并且里面写入/bin/bash然后添加到环境不变量里面去,这样root权限运行的时候就可以拿到一个root的shell。

# 渗透测试 # web安全
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录