Vulnhub-靶机-Tr0ll: 3
本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机下载好加载到VMware里面去,我这里配置的网卡模式是仅主机模式,然后不知道是什么IP地址,我就使用Windows环境下的MAC地址扫描器扫描了一下发现了真是的IP地址,这里也是可以使用kali下netdiscover进行发现,当然也可以直接使用nmap进行全网段扫描,nmap -sn -v 192.168.5.*
地址:https://www.vulnhub.com/entry/tr0ll-3,340/
- 发现目标是192.168.5.132,开启使用nmap对其进行全端口扫描
- nmap -p- 192.168.5.132
- 或者需要详细点的信息可以使用nmap -sV -v -p- 192.168.5.132
- 发现结果是只开放了22端口,根据靶机开机提示可以知道一个登录目标的账号和密码分别是start:here
- 于是登录目标靶机
- ssh 192.168.5.132 -l start 输入密码here
- 具体如下:
尝试查找属于该用户能执行的文件
find / -type f -perm 0777 2>/dev/null
看到一个wytshadow.cap的文件,尝试有wireshark打开查看里面的数据包信息,发现是802.11协议,那么这跟无线关系很大,注意:我这里是将文件拷贝到Windows环境下使用最新版的wireshark打开,打开之前将其后缀cap格式改成pcap后缀格式文件打开,上述确认后便开始使用kali下的无线破解天空套件进行破解密码,具体如下:
aircrack-ng -w gold_star.txt wytshadow.cap
获得的密码是: gaUoCe34t1
那么就可以使用账户wytshadow 密码是gaUoCe34t1 进行登录
登录进行发现如下信息:
发现了可执行文件oohfun,然后执行这个文件,结果是屏幕一直出现
iM Cr@zY L1k3 AAA LYNX
经过确认可知LYNX是个命令行的浏览器,查看下sudo的特权
sudo -l
发现此账户是可以直接使用root权限开启nginx
使用find命令查找跟nginx相关的目录, find / -name nginx
发现nginx的配置目录在/etc/nginx//etc/nginx/sites-enabled/ 里面有个default文件,查看配置文件信息如下:
大概意思就是开启nginx服务并监听8080端口,外部访问的user-agent只能是LYNX,否则就返回403
尝试开启nginx服务
sudo /usr/sbin/service nginx start
尝试直接使用浏览器访问,显示403,这也就验证我上面所说的
那么我们尝试使用lynx访问,在kali上安装此命令工具
sudo apt-get install lynx
发现最新的2020版本的kali装不了,那我就换一种方式访问
因为我们已经知道了目标靶机的8080端口是使用nginx通过user-agent来判断来源的,而这个user-agent我们是可以更改的,所以我可以直接使用burpsuite进行更改即可,其他插件也都是可以操作的,具体如下:
获得账户和密码,如下:
genphlux:HF9nd0cR!
开始登录账户genphlux 得到如下信息:
发现了一个新的用户,并且含有对于的私钥,那么可以将这个私钥复制到本地将权限改为600就可以直接连接上去了
chmod 600 id_rsa.tr
ssh -i id_rsa.tr 192.168.5.132 -l maleus
查看viminfo信息,发现账户maleus的密码
密码是: B^slc8I$
同此账户的密码尝试查看sudo的权限
根据上述显示,可以知道此文件名使用sudo是具备root权限,尝试查看此文件是什么类型的文件
发现此文件是可执行文件,那么就可以判断,如果此文件使用sudo权限执行,那么就可以提权为root用户,所以前提是要更改里面的代码为提权代码,目前此文件执行的效果如下:
我们尝试复制此文件到一个新的文件名称为dont_even_bother.c 在此文件使用vim写入提权代码,具体如下:
int main (void){ setresuid(0,0,0); system("/bin/sh"); }
然后删除原有的文件名dont_even_bother ,尝试使用gcc编译为此文件名的可执行文件
gcc dont_even_bother.c -o dont_even_bother
文件已经生成,那么就可以直接提权操作了,看下面操作: