Vulnhub靶机\] DriftingBlues: 1靶机渗透思路及方法(个人分享) **靶机下载地址:** [https://download.vulnhub.com/driftingblues/driftingblues.ova](https://download.vulnhub.com/driftingblues/driftingblues.ova "https://download.vulnhub.com/driftingblues/driftingblues.ova") *** ** * ** *** **靶机地址:192.168.67.20** **攻击机地址:192.168.67.3** *** ** * ** *** ## 一、信息收集 1.使用 **arp-scan**命令扫描网段内存活的主机,以获取靶机ip地址 > arp-scan -I 指定网卡 -l  2.使用**nmap**工具扫描靶机开放端口、服务版本以及系统版本,得到开放端口22、80及其服务ssh、http > nmap -sV -O 靶机地址 > > -sV 探测主机服务版本 > > -O 识别主机操作系统  3.访问web网页,没有什么有用的信息(注意到介绍中存在两个邮箱地址,后面有用),查看网页源代码,发现一串base64加密值  4.将**base64**加密值进行解密得到 /noteforkingfish.txt 文件,访问该文件,发现大量 Ook! 编码   5.使用在线网站对**Ook!**编码进行解密,得到一串提示信息。通过对提示的分析,要求我们通过 hosts 文件的方式访问地址,此时需要一个域名(这里就需要上面提到的两个邮箱,两个邮箱都是同一个域名)driftingblues.box Ook! 在线解码地址:[Brainfuck/Ook! Obfuscation/Encoding \[splitbrain.org\]](https://www.splitbrain.org/services/ook "Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]")   6.将靶机ip地址以及对应的域名 driftingblues.box 写入 hosts 文件内,重新使用域名访问网站进行信息收集发现与之前收集到的信息一致  7.使用**gobuster**工具进行爆破,尝试爆破子域名,得到子域名test.driftingblues.box > gobuster dns -d "driftingblues.box" --wordlist /usr/share/wordlists/dirb/common.txt --no-error -z > > dns 使用DNS枚举子域名(域名爆破模式) > > -d 目标域(指定目标域名) > > --wordlist 字典列表的路径 > > --no-error 不显示错误 > > -z 不显示进度  8.将子域名也加入到 hosts 表内,访问网页进行信息收集,发现页面没有什么有用的回显信息(注意页面经常出现的eric,后面ssh暴力破解时候用得到)  9.使用dirsearch工具扫描网站目录,发现robots.txt文件,访问该文件,获得 /ssh_cred.txt 文件 > dirsearch -u 靶机URL > > -u 指定目标URL   10.访问 /ssh_cred.txt 文件,获得提示 1mw4ckyyucky 加任意一位数字组成密码,已经之前经常出现的用户名eric(一共就出现过两个名,eric和sheryl)  ## 二、漏洞利用 1.根据提示创建密码文件password.txt,使用 **hydra**工具尝试进行ssh暴力破解,得到密码1mw4ckyyucky6 > hydra -l eric -P password.txt 192.168.67.20 ssh > > -l 指定用户名 > > -P 指定密码字典的路径 > > ssh 用于暴力破解SSH服务器   2.使用用户名密码进行SSH远程登录,成功登录上线  ## 三、提权 1.使用find命令寻找suid程序,尝试进行提权,没有发现可利用的漏洞程序(使用sudo运行命令提示无法运行)   2.换个思路找靶机内存在root权限执行的文件或者脚本,在查看/tmp目录时发现目录下存在备份文件,查看/var目录,果然有一个backups文件夹,查看文件夹里的文件内容,有一个备份文件脚本backup.sh,该文件执行的命令是root权限的 > 在Linux系统中,默认的备份文件路径通常是/var/backups。这个目录通常用来存放系统自动备份的文件,比如日志、配置文件等。不过需要注意的是,具体的备份路径可能会因不同的发行版和配置而有所不同。  3.查看backup.sh文件的内容,发现提示说有一个backdoor,且用sudo命令执行了/tmp/emergency文件。再次查看/tmp目录,发现没有emergency这个文件,我们可以自行创建   4.创建emergency文件,并向其中写入命令,给该文件执行命令。等待backup.sh执行,生成backdoor文件 > echo "cp /bin/bash /tmp/backdoor;chmod +s /tmp/backdoor" \> /tmp/emergency > > chmod +x emergency > > 因为emergency文件依旧是eric用户创建的,我们需要一个root用户创建还拥有特殊权限的执行文件去执行提权命令。所以我们利用备份文件会以root权限执行/tmp/emergency文件的漏洞去创建一个backdoor文件(这个命名单纯是根据提示来创建的,可以随意创建一个喜欢的文件名),来执行提权命令,并给该文件赋予特殊权限。 > > 赋予emergency文件执行权限是为了能让其执行写入命令。  5.发现成功生成backdoor文件,执行该文件,成功提权至root权限 > ./backdoor -p 提权命令 > > -p 以root权限执行命令 > > 此时的backdoor文件内的内容实际就是/bin/bash文件内的内容,且该文件为root用户创建,拥有SUID权限的文件,因此我们可以进行提权操作。但是由于Linux系统中出于安全考虑,普通用户无法直接提升为root用户,所以我们要加 "-p" 参数,可以实现以root权限执行命令 
相关推荐
ALe要立志成为web糕手9 小时前
SESSION_UPLOAD_PROGRESS 的利用jingshaoyou16 小时前
Strongswan linked_list_t链表 注释可独立运行测试鹅肝手握高V五色17 小时前
Wireshark入门教程:如何抓取和过滤网络数据包nixiaoge20 小时前
RCE漏洞禾木KG21 小时前
网络安全-等级保护(等保) 1-0 等级保护制度公安部前期发文总结网络抓包与爬虫21 小时前
Wireshark——抓包分析仙女很美哦1 天前
Flutter视频播放、Flutter VideoPlayer 视频播放组件精要CYRUS STUDIO1 天前
Unidbg Trace 反 OLLVM 控制流平坦化(fla)写代码的小王吧1 天前
【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~