Finger
拎着烈酒背着孤独踟蹰的代码狗

1. 目标环境

  1.  Linux服务器受到防火墙限制,外网只能通过80端口访问内部
  2. 内网疑似只能返回HTTP的流量,无法采用反向代理的形式。这样看来,有点像DMZ主机+防火墙限制
  3. Linux内核版本为2.6.18-194
  4. 服务器有webshell一枚,权限较低,但是可以对web目录进行操作

2. 内网穿透

2.1 为什么需要内网穿透

  • 一般而言,Linux提权需要获取一个反弹回来的半交互式shell
  • 内网穿透可以用来进一步进行内网渗透

2.2 如何进行内网穿透

  • 反向代理:将内网的流量转发到外网
  • 正向代理:以某台机器为跳板,做正向代理进行内网穿透

这里很明显,我们只能通过80端口访问目标机器。因此需要借助webshell搭建一个正向代理。

2.3 利用reGeorg建立socks代理

reGeorg是reDuh的升级版,点击此处进行下载。它利用webshell建立一个socks代理进行内网穿透。命令如下:

我们将webshell上传至服务器之后,运行如下命令即可本地建立一个socks代理。如图所示:

2.4  利用proxychains在linux终端下使用socks代理

  • /etc/proxychains增加一条记录:socks5 127.0.0.1 8080
  • 运行proxychains wget http://127.0.0.1,运行wget命令的时候就会使用sock5代理。如下图所示

3

3. 反弹shell

3.1 反弹思路

既然我们使用代理服务器了,那么就可以类似这样认为:我所在的机器和它的网络环境是一模一样的!言下之意就是可以利用netcat将/bin/bash反弹到本机的某个端口,然后我们使用sock5代理监听该端口,就可以获取一个反弹的半交互式shell。

3.2 重新编译netcat

很多发行版的linux将netcat的部分功能进行了阉割,导致我们无法正常使用。因此需要重新编译,这里可以将压缩包传到服务器上编译也可以本地编译好之后上传到服务器上。

  • ① 上传netcat压缩包,点此下载
  • ② 解压压缩包: tar zxvf netcat-0.7.1.tar.gz
  • ③ 进入根目录: cd netcat-0.7.1
  • ④ 进行变以前的配置:./configure
  • ⑤ 编译:make
  • ⑥ cd src

3.3 获取反弹shell

如下图所示:

4

4. 提权

提权就比较简单了,将exp上传至某个目录运行即可:

5

5. 参考文章

在linux下编译netcat并反弹cmdshell
linux服务器,如何反弹shell

这篇文章还没有人发言,快抢第一!

发表评论