靶机渗透TrOll:3

前言

把Parallel换成Vmware Fusion之后简直福音,直接从vulnhub上下载靶机导入就可以玩,把网络连接设置成bridge模式就可以使你的虚拟机和靶机处在同一个c段,不用像网上一样特地设置dhcp.conf文件。这周随便挑了一个做,当然自己做肯定是不会的,看着国外大神的文章一点一点来,主要想想人家每一步的目的。

扫C段

首先确保你的虚拟机和你的靶机处在同一个C段,方法我上面说了,在Vmware Fusion中将虚拟机的网络连接模式设置成桥接模式即可。

掏出namp,查看了本机ip,算一下掩码开扫。我用的是SYN半开放扫描,因为是扫c段所以选择了速度比较快的扫描模式。温馨提示,按“上“键可以查看扫描进度。

1
nmap -sS 10.75.47.0/24

看到在10.75.49.247这个ip地址上有存活主机并开放了22端口。因为在下载这个机器的页面已经给了一组用户名和密码,所以这里可以直接在这里进行登陆。

打开metasploit,选择辅助扫描ssh登陆模块,将登陆信息导入

可以使用show info查看所有设置的信息

启动metasploit,建立session。

这里说一下什么是sessions,我的理解就是与靶机建立一个单独的会话,可以在这个会话中进入靶机的shell。使用-u参数将shell提升到meterpreter,meterpreter,可以机向靶机上传文件或者从靶机中下载文件,可以一条命令快速提权,总之是一个很强大的东西。

可以使用session -l查看已经建立的session,选择一个直接输入进入。输入shell进入命令行界面,运行命令

1
whoami

先看一下start这个用户的权限吧

基本上啥也干不了,就是个草民,那就想想怎么提权吧。使用find命令寻找具有777权限的文件

1
find / -type f -perm 0777 2>/dev/null

解释一下命令,查找文件类型为文件(f)并且权限为777*的文件,并不现实错误输入。其中的2代表了linux中的标准错误stderr,将错误输入到一/dev/null中,其实这个分区根本不存在。

找到了两个文件,wytshadow.capstar.txt

第一个文件是一个cap文件,可以使用wireshark打开。退回到meterpreter,将两个文件下载下来。

打开wytshadow.cap文件,看到里面的通信协议全是802.11。我们知道这个代表了Wi-Fi,猜测这个可能是截获的Wi-Fi通信数据包。

另一个文件全是字符串,长度固定

这里可以使用aircrack-ng这个工具来破解无线网密码。aircrack这个工具是kali自带的针对无线网络的攻击工具,具体了解可以参考这篇文章

1
aircrack-ng -w '/root/~/Desktop/gold_star.txt' '/root/~/Desktop/wytshadow.cap'

成功破解出了密码

![image-20190917205155112](/Users/ama666/Library/Application Support/typora-user-images/image-20190917205155112.png)

根据文件名wytshadow.cap的文件名判断这应该是用户wytshadow的密码。

在msfconsole中替换USERNAMEPASSWORD,然后exploit

成功登陆。

查看用户目录下的文件,发现了一个名叫oohfun的可执行文件,执行之后一直打印字符串,翻译一下感觉再说Im crazy like a lynx

google一下查到,lynx是linux系统下的一种纯文本浏览器,是在具有强调文字功能的终端上使用的。

看来是一个提示,是不是要使用这个浏览器浏览某个特定的网页来进行下一步?执行命令sudo -l查看用户执行命令的权限

发现wytshadow这个用户可以执行service nginx start启动nginx,猜测启动nginx之后浏览网页可以获得信息。

启动了nginx之后使用命令netstat -antp查看端口,发现本地开启了8080端口

/var/www/html目录没有权限进入,在kali上下载lynx浏览器

1
lynx ip:8080

直接获取了新的用户以及密码。

成功登陆到genphlux账户中。

查看用户目录下的文件

其中的maleus是一个RSA的私钥

查看该用户的命令权限

可以启动apache服务器

打开了22号端口,查看了存在maleus这个用户,感觉可以使用这个私钥登陆该用户。

登陆前需要将文件权限设置为600

1
chmod 600 maleus

不然的话会提示这个key不安全,强制输入密码

![image-20190922015343002](/Users/ama666/Library/Application Support/typora-user-images/image-20190922015343002.png)

(此处的文件key为我文件maleus的复制)

更改私钥权限后成功登陆该账户

查看该用户目录下的文件

存在一个名为dont_even_bother的可执行文件,想继续查看该用户的命令权限,意识到没有该用户的密码。

查看该用户的隐藏文件

1
ls -al

存在一个名叫viminfo的文件。

viminfo被设计的储存状态信息,里面记录了

  • 命令行和模式搜索记录
  • 寄存器内文本
  • 各种文件标记
  • 缓存器列表
  • 全局变量

viminfo文件时当每次退出vim时,这些信息就被爆存在viminfo中,再次打开vim时这些信息就会被还原

打开viminfo文件

发现字符串B^slc8I$,根据上下文猜测可能是该账户的密码,尝试使用该密码查看命令权限

测试成功,并发现文件dont_even_bother具有root权限

重新编译一个可执行文件,将其命名为dont_even_bother,文件内容如下

1
2
3
4
int main (void){
setresuid(0, 0, 0);
system("/bin/sh");
}

编译

执行

成功获取到root用户的shell

接下来只要找到flag就好

总结

方法还是挺简单的,主要是思路。在拿到一个用户的时候,首先要查看用户目录下都有什么文件,看看这些文件的用途。最好使用ls -al查看所有的文件,以防漏掉隐藏文件。还要查看该用户的命令权限,或许有些命令和文件时具有root权限可以加以利用的。跟一边下来感觉还是挺简单的,步骤很繁琐,但是帮助了我熟悉一些命令的使用。也没有什么漏洞利用,只是简单的寻找线索,很适合刚刚入门的小白。